zoukankan      html  css  js  c++  java
  • hadoop学习笔记(九):mr2HA高可用环境搭建及处步使用

    本文原创,如需转载,请注明原文链接和作者

    所用到的命令的总结:

    yarn:启动start-yarn.sh   停止stop-yarn.sh

    zk :zkServer.start ;:zkServer.stop;

    启动hdfs  : start-dfs.sh   停止:stop-dfs.sh

    当然可以需要在zk集群已经跑起来的情况下在头结点上用start-all.sh命令去启动整个集群,

    这个命令会启动的进程如下所示

     

     之后还需要两个命令去启动两个yarn的resource manager进程 :yarn-daemon.sh start resourcemanager

    1、基本配置

    现结点的配置情况

    1、单节点的yarn管理的配置

    需要配置mapread-site.xml

    Configure parameters as follows:
    etc/hadoop/mapred-site.xml:
    #mapread-site.xml
    
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    etc/hadoop/yarn-site.xml:
    #和yarn-site.xml
    <configuration>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>

    2、配置HA高可用中的yarn管理

    需要配置的是yarn-site.xml文件

    Here is the sample of minimal setup for RM failover.
    <property>
       <name>yarn.resourcemanager.ha.enabled</name>
       <value>true</value>
     </property>
     <property>
       <name>yarn.resourcemanager.cluster-id</name>
       <value>cluster1</value>
     </property>
     <property>
       <name>yarn.resourcemanager.ha.rm-ids</name>
       <value>rm1,rm2</value>
     </property>
     <property>
       <name>yarn.resourcemanager.hostname.rm1</name>
       <value>node03</value>
     </property>
     <property>
       <name>yarn.resourcemanager.hostname.rm2</name>
       <value>node04</value>
     </property>
     <property>
       <name>yarn.resourcemanager.zk-address</name>
       <value>node02:2181,node03:2181,node04:2181</value>
     </property>

    3、具体的自己在搭建的过程中将那几个结点当做resourcemanager所在的结点,则需要将这两个结点互相的分发秘钥,实现互相的免秘钥登录

    node03

    [root@node03 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

    自己实现对自己的免秘钥登录

    [root@node03 ~]# cd .ssh/
    [root@node03 .ssh]# ll
    总用量 20
    -rw-r--r-- 1 root root 616 9月  23 11:35 authorized_keys
    -rw------- 1 root root 672 10月  4 15:57 id_dsa
    -rw-r--r-- 1 root root 601 10月  4 15:57 id_dsa.pub
    -rw-r--r-- 1 root root 171 9月  23 11:26 known_hosts
    -rw-r--r-- 1 root root 616 9月  23 11:34 node01.pub
    [root@node03 .ssh]# cat id_dsa.pub >> authorized_keys 

    在node03将秘钥发给node04结点并改名

    [root@node03 .ssh]# scp id_dsa.pub node04:`pwd`/node03.pub

    之后在node中执行追加命令

    [root@node04 .ssh]# cat node03.pub >> authorized_keys 

    node04进行同样的和node03一样的命令且将自己的秘钥文件发给Node03并在03上将node04的秘钥文件追加到自己的验证文件中

    4、启动集群步骤

    概括:

    启动:node01:
    
    1 zookeeper
    2 hdfs (注意,有一个脚本不要用,start-all)start-dfs.sh
      如果nn 和 nn2没有启动,需要在node06,node07分别手动启动:
      hadoop-daemon.sh start namenode    
    3 start-yarn.sh (启动nodemanager)
    4 在03,04节点分别执行脚本: yarn-daemon.sh start resourcemanager
    
    UI访问: ip:8088
    
    
    停止:
    node01: stop-dfs.sh 
    node01: stop-yarn.sh (停止nodemanager)
    node03,node04: yarn-daemon.sh stop resourcemanager (停止resourcemanager)

     

       先启动zk集群;command:   zkServer.sh start

        因为mr是在hdfs的基础是哪个的,所以在主结点上先启动hdfs 命令:start-dfs.sh

    hdfs集群启动:

     在主结点上启动Node Manager,这个进程会分别的在DataNode的结点上启动

    [root@node01 hadoop]# start-yarn.sh

     注意到这里并没有启动,需要到两个配置resourcemanager的结点去分别的去启动它

    [root@node03 .ssh]# yarn-daemon.sh start resourcemanager
    starting resourcemanager, logging to /opt/sxt/hadoop-2.6.5/logs/yarn-root-resourcemanager-node03.out
    [root@node04 .ssh]# yarn-daemon.sh start resourcemanager
    starting resourcemanager, logging to /opt/sxt/hadoop-2.6.5/logs/yarn-root-resourcemanager-node04.out

    之后可以通过ss -nal命令查看端口 8088是yarn和浏览器的默认通信端口,

    而3888是zk集群选举机制所用的端口,2888是zk集群内部通信所用的端口,2181是服务器和客户单通信的端口

     浏览器访问yarn

    2、 运用它的计算功能:

    先自己创建以及上传一个文件

    [root@node01 hadoop-2.6.5]# for i in `seq 100000`;do echo "hello sxt $i"  >> test.txt;done
    [root@node01 software]# hdfs dfs -D dfs.blocksize=1048576 -put test.txt

     具体的运用计算功能的过程

    找到自己的hadoop安装路径

    cd  /opt/sxt/hadoop-2.6.5/share/hadoop/mapreduce

     对test.txt进行单词统计

    [root@node01 mapreduce]# hadoop jar hadoop-mapreduce-examples-2.6.5.jar  wordcount /test.txt /wordcount

    可以看滚动条的计算进度过程

     后台的linux命令行中的执行过程

     先执行map 作业在执行 reduce作业

    浏览器端观察计算已经完成

     

     通过命令行看完成的现象

     这种状态代表正常的执行完毕了计算,没有出现语法问题,但是这并不代表计算的结果是正确的

    等待之心完毕之后,可以在命令行下通过命令

    查看hdfs中的文件
            hdfs dfs -cat /文件   查看统计的结果
    hdfs dfs -cat /wordcount/part-r-00000

    结果

     完成最基本的mr的计算的功能!!

  • 相关阅读:
    To do list
    Spring Boot学习总结(4)——使用Springloaded进行热部署
    App后台开发运维和架构实践学习总结(2)——RESTful API设计技巧
    程序员如何成为编程高手并以此创业
    小米宋强:生态化大数据平台的深度应用实践
    Tomcat学习总结(9)——Apache Tomcat 8新特性
    Mysql学习总结(41)——MySql数据库基本语句再体会
    Git学习总结(13)——使用git.oschina作为自己的源代码在线管理库
    将学习养成习惯
    Java基础学习总结(71)——深入理解Java虚拟机内存
  • 原文地址:https://www.cnblogs.com/isme-zjh/p/11622483.html
Copyright © 2011-2022 走看看