hadoop集群zookeeper迁移

  1. zookeeper作用

    ZooKeepr在Hadoop中的应用主要有:

    1.1 HDFS中NameNode的HA和YARN中ResourceManager的HA。

    1.2 存储RMStateStore状态信息

  2. 迁移原因

    原来的方案是考虑到namenode占用cpu资源小,为了提高设备利用率,把zookeeper和namenode搭建在同一台设备上。经过测试发现namenode会缓存大量的数据到内存中,导致zookeeper相应时间变长,namenode和resourcemanager因为连接zookeeper超时而频繁切换。进过讨论,将zookeeper迁移到datanode     节点上。

  3. 迁移步骤

    3.1 备份原zookeeper集群设备中的zookeeper配置,hadoop集群两个namenode节点的配置

cp -r zookeeper-3.4.10/conf zookeeper-3.4.10/conf.bak
cp -r hadoop-2.6.0/etc/hadoop hadoop-2.6.0/etc/hadoop.bak   

    3.2 拷贝zookeeper安装包到选择好的三个datanode设备

scp zookeeper-3.4.10.tar.gz datanode1:/home/hadoop
scp zookeeper-3.4.10.tar.gz datanode2:/home/hadoop
scp zookeeper-3.4.10.tar.gz datanode3:/home/hadoop

    3.3 修改配置文件,启动zookeeper,检查zookeeper状态

scp namenode:/home/hadoop/zookeeper-3.4.10/conf/zoo.cfg datanode1:/home/hadoop/zookeer-3.4.10/conf
scp namenode:/home/hadoop/zookeeper-3.4.10/conf/zoo.cfg datanode3:/home/hadoop/zookeer-3.4.10/conf
scp namenode:/home/hadoop/zookeeper-3.4.10/conf/zoo.cfg datanode3:/home/hadoop/zookeer-3.4.10/conf
#修改配置文件中的ip地址为新zookeeper集群的设备ip
vi zoo.cfg
server.1=datanode1:2888:3888
server.2=datanode2:2888:3888
server.3=datanode3:2888:3888
#建myid文件,每个zookeeper的my.id要和配置文件中的server.id保持一致
vi myid
1
vi myid
2
vi myid
3
#启动zookeeper
bin/zkServer.sh start
#zookeeper全部启动完成后,查看zookeeper状态
bin/zkServer.sh status

    3.4 修改hadoop相关配置文件,重启resourcemanger

      修改hdfs-site.xml,core-site.xml,yarn-site.xml配置文件中的zookeeper地址。

cd /home/hadoop/hadoop-2.6.0
sbin/yarn-demon.sh stop resourcemanger
sbin/yarn-demon.sh start resourcemanger

    3.5 停zkfc,namenode应用 

sbin/hadoop-demon.sh stop zkfc
sbin/hadoop-demon.sh stop namenode  

    3.6 格式化zkfc,启动namenode,zkfc

bin/hdfs zkfc –formatZK
sbin/hadoop-demon.sh start zkfc
sbin/hadoop-demon.sh start namenode

    3.7 测试hadoop和yarn可用性

#查看namenode:50070和namenode:8088webui是否正常
#向hdfs中上传测试文件,测试hdfs可用性
hdfs dfs -put test.txt /user/
#执行wordcount测试yarn可用性
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /user/test.txt /user/output

 

  4. 总结

    zookeeper对网络和磁盘及内存响应要求较高,不能和网络和磁盘及内存使用率高的应用共用主机。最好使用单独的设备。

posted @ 2018-05-08 07:50  micmouse521  阅读(679)  评论(0编辑  收藏  举报