• 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对网络和磁盘及内存响应要求较高,不能和网络和磁盘及内存使用率高的应用共用主机。最好使用单独的设备。

  • 相关阅读:
    3.请问配置JDK时环境变量path和JAVA_HOME的作用是什么?
    2.请尝试安装和配置JDK,并给出安装、配置JDK的步骤。
    1.Java为什么能跨平台运行?请简述原理
    字符集
    Java程序输出打字
    <marquee>,视频和音频的插入,正则表达式
    windows.document对象
    while;do while;switch;break;continue
    循环语句 ,for语句
    PHP判断一个文件是否能够被打开
  • 原文地址:https://www.cnblogs.com/micmouse521/p/9006211.html
Copyright © 2020-2023  润新知