hadoop2.X的ha完全分布式安装和部署

节点分布状况

hostname

ip

zookeeper

namenode

datanode

journalnode

resourceManager

node1

192.168.139.137

扫描二维码关注公众号,回复: 5405495 查看本文章

y

y

Y

node2

192.168.139.138

y

y

y

node3

192.168.139.139

y

y

 

node4

192.168.139.140

y

y

node5

192.168.139.141

y

y

node6

192.168.139.142

y

zookeeper的安装和部署

1、  下载并且解压zookeeper

2、  在zookeeper的conf目录下创建zoo.cfg   vim ./zoo.cfg

3、  在zoo.cfg中增加

tickTime=2000

dataDir=/opt/zookeeperdata

clientPort=2181

initLimit=5

syncLimit=2

server.1=node1:2888:3888

server.2=node2:2888:3888

server.3=node3:2888:3888

4、  在配置的各台节点dataDir目录下创建myid文件添加对应server后的数字

5、  配置zookeeper的环境变量

6、  启动zookeeperzkServer.sh start  启动三台


以下为hadoop2.X的部署

编辑hdfs-site.xml增加以下配置

<configuration>

    <property>

        <name>dfs.nameservices</name>

        <value>albert</value>

    </property>

    <property>

       <name>dfs.ha.namenodes.albert</name>

       <value>nn1,nn2</value>

    </property>

    <property>

       <name>dfs.namenode.rpc-address.albert.nn1</name>

       <value>node1:8020</value>

    </property>

    <property>

       <name>dfs.namenode.rpc-address.albert.nn2</name>

       <value>node2:8020</value>

    </property>

    <property>

       <name>dfs.namenode.http-address.albert.nn1</name>

       <value>node1:50070</value>

    </property>

    <property>

       <name>dfs.namenode.http-address.albert.nn2</name>

       <value>node2:50070</value>

    </property>

    <property>

       <name>dfs.namenode.shared.edits.dir</name>

       <value>qjournal://node1:8485;node2:8485;node3:8485/albert</value>

    </property>

    <property>

       <name>dfs.client.failover.proxy.provider.albert</name>

       <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

    </property>

    <property>--如果此处配置的是私钥将会出现连接被拒绝

       <name>dfs.ha.fencing.methods</name>

       <value>shell(/bin/true)</value>

    </property>

    <property>

        <name>dfs.journalnode.edits.dir</name>

       <value>/opt/journalnode</value>

    </property>

    <property>

        <name>dfs.ha.automatic-failover.enabled</name>

        <value>true</value>

     </property>

</configuration>

<!--不用检查hdfs的文件权限-->

<property>

         <name>dfs.permissions.enabled</name>

         <value>false</value>

     </property>

编辑core-site.xml修改访问为hdfs://albert    --nameservices

<property>

       <name>fs.defaultFS</name>

       <value>hdfs://albert</value>

    </property>

    <property>

       <name>hadoop.tmp.dir</name>

       <value>/opt/hadoop_tmp</value>

    </property>

    <property>

         <name>ha.zookeeper.quorum</name>

        <value>node4:2181,node5:2181,node6:2181</value>

     </property>

scp ./* root@node3:/opt/hadoop-2.5.1/etc/hadoop/

配置hadoop环境变量export HADOOP_HOME=/opt/hadoop-2.5.1

exportPATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 

启动journalnode hadoop-daemon.sh start journalnode   一定要在namenode格式化之前执行此命令

 

5、格式化任一namenode节点 hdfs namenode -format

6、将当前格式化的节点上的/opt/hadoop_tmp复制到另外一台在hdfs-site.xml中配置的主机上scp -r ./hadoop_tmp root@node2:/opt/

7、初始化HA的任一台namenode的节点上执行      hdfs zkfc –formatZK

8、在设置免密码登陆上的namenode的节点上启动hdfs命令     start-dfs.sh

 

 

启动单节点 hadoop-daemon.sh start namenode 

启动整个集群 start-dfs.sh      停止整个集群   stop-all.sh

 

二 、hadoop 核心组件 MapReduce 分布式离线计算框架 移动计算而不移动数据

MapReduce->执行步骤 split(分割)->map(映射即你写的程序,执行java代码的一段线程 map task)->shuffling(洗牌:排序,分组,合并)->reduce(归约/计算通过线程执行reduce task)

1、  配置yarn-site.xml

<property>

 <name>yarn.nodemanager.aux-services</name>

  <value>mapreduce_shuffle</value>

</property>

 <property>

<property>

  <name>yarn.resourcemanager.ha.enabled</name>

  <value>true</value>

 </property>

 <property>

  <name>yarn.resourcemanager.cluster-id</name>

  <value>yarnablert</value>

 </property>

 <property>

  <name>yarn.resourcemanager.ha.rm-ids</name>

  <value>rm1,rm2</value>

 </property>

 <property>

  <name>yarn.resourcemanager.hostname.rm1</name>

  <value>node5</value>

 </property>

 <property>

  <name>yarn.resourcemanager.hostname.rm2</name>

  <value>node6</value>

 </property>

 <property>

  <name>yarn.resourcemanager.zk-address</name>

  <value>node4:2181,node5:2181,node6:2181</value>

 </property>

配置mapred-site.xml

      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

启动yarn时需要单独启动resourceManage启动命令

start-yarn.sh

启动另外一台  yarn-daemon.sh start resourcemanager


猜你喜欢

转载自blog.csdn.net/u011922760/article/details/52953267
今日推荐