hadoop学习笔记(九):mr2HA高可用环境搭建及处步使用

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

现结点的配置情况

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

运用它的计算功能:

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

[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的计算的功能!!

猜你喜欢

转载自www.cnblogs.com/isme-zjh/p/11622483.html