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

节点分布状况

hostname

ip

zookeeper

namenode

datanode

journalnode

resourceManager

node1

192.168.139.137

 

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增加以下配置

   

        dfs.nameservices

        albert

   

   

       dfs.ha.namenodes.albert

       nn1,nn2

   

   

       dfs.namenode.rpc-address.albert.nn1

       node1:8020

   

   

       dfs.namenode.rpc-address.albert.nn2

       node2:8020

   

   

       dfs.namenode.http-address.albert.nn1

       node1:50070

   

   

       dfs.namenode.http-address.albert.nn2

       node2:50070

   

   

       dfs.namenode.shared.edits.dir

       qjournal://node1:8485;node2:8485;node3:8485/albert

   

   

       dfs.client.failover.proxy.provider.albert

       org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

   

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

       dfs.ha.fencing.methods

       shell(/bin/true)

   

   

        dfs.journalnode.edits.dir

       /opt/journalnode

   

   

        dfs.ha.automatic-failover.enabled

        true

    

         dfs.permissions.enabled

         false

    

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

       fs.defaultFS

       hdfs://albert

   

   

       hadoop.tmp.dir

       /opt/hadoop_tmp

   

   

         ha.zookeeper.quorum

        node4:2181,node5:2181,node6:2181

    

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

 yarn.nodemanager.aux-services

  mapreduce_shuffle

 

  yarn.resourcemanager.ha.enabled

  true

 

 

  yarn.resourcemanager.cluster-id

  yarnablert

 

 

  yarn.resourcemanager.ha.rm-ids

  rm1,rm2

 

 

  yarn.resourcemanager.hostname.rm1

  node5

 

 

  yarn.resourcemanager.hostname.rm2

  node6

 

 

  yarn.resourcemanager.zk-address

  node4:2181,node5:2181,node6:2181

 

配置mapred-site.xml

 

      
        mapreduce.framework.name
        yarn
    

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

start-yarn.sh

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


你可能感兴趣的:(hadoop2.X的ha完全分布式安装和部署)