当前位置 主页 > 服务器问题 > Linux/apache问题 >

    centos7搭建hadoop2.10高可用(HA)(4)

    栏目:Linux/apache问题 时间:2020-02-07 11:41

    yarn-site.xml

    <?xml version="1.0"?>
    
    <configuration>
    
    <!-- Site specific YARN configuration properties -->
     <property>
       <name>yarn.resourcemanager.hostname</name>
       <value>s141</value>
     </property>
     <property>
        <name>yarn.nodemanager.aux-services</name>
       <value>mapreduce_shuffle</value>
     </property>
    </configuration>

    4. 部署细节

    1)在jn节点分别启动jn进程(s142,s143,s144)

    hadoop-daemon.sh start journalnode

    2)启动jn之后,在两个NN之间进行disk元数据同步

      a)如果是全新集群,先format文件系统,只需要在一个nn上执行。
      [s141|s146]

    hadoop namenode -format

      b)如果将非HA集群转换成HA集群,复制原NN的metadata到另一个NN上.

        1.步骤一
        在s141机器上,将hadoop数据复制到s146对应的目录下

    scp -r /home/hdfs/hadoop/dfs hdfs@s146:/home/hdfs/hadoop/

        2.步骤二
        在新的nn(未格式化的nn,我这里是s146)上运行以下命令,实现待命状态引导。注意:需要s141namenode为启动状态(可以执行:hadoop-daemon.sh start namenode )。

    hdfs namenode -bootstrapStandby

        如果没有启动s141名称节点,就会失败,如图:

        启动s141名称节点后,在s141上执行命令

    hadoop-daemon.sh start namenode

        然后在执行待命引导命令,注意:提示是否格式化,选择N,如图:

        3. 步骤三

        在其中一个NN上执行以下命令,完成edit日志到jn节点的传输。

    hdfs namenode -initializeSharedEdits

        如果执行过程中报:java.nio.channels.OverlappingFileLockException 错误:

          说明namenode在启动中,需要停掉namenode节点(hadoop-daemon.sh stop namenode)

          执行完后查看s142,s143,s144是否有edit数据,这里查看生产了mycluster目录,里面有编辑日志数据,如下:

          4.步骤四

          启动所有节点.

          在s141上启动名称节点和所有数据节点:

    hadoop-daemon.sh start namenode
    hadoop-daemons.sh start datanode

          在s146上启动名称节点

    hadoop-daemon.sh start namenode

    此时在浏览器中访问http://192.168.30.141:50070/和http://192.168.30.146:50070/你会发现两个namenode都为standby

      

    这时需要手动使用命令将其中一个切换为激活态,这里将s141(nn1)设置为active

    hdfs haadmin -transitionToActive nn1

    此时s141就为active