前面六篇文章把hadoop的hdfs搭建起来了,并且可以通过hadoop内置的jar中的sdk访问hadoop的hdfs,能够通过自带的命令做一些文件的操作。这个之后我们需要把一些mapreduce和spark之内的数据运算的客户端引入到hadoop系统中来。在引入之前,我们先介绍Yarn这个东西,他通过Resource Manager 对请求hdfs的客户端进行资源的分配,对一个数据计算的请求都会生成一个对应的App Mstr,由他去管理每个datanode节点上的计算,对于每个datanode节点生成一个计算Container容器。App Mstr不断的和Resource Manager 进行沟通,获取客户端的计算计划(split,jar,partition)然后指挥Container完成最终的计算。今天我们来看看如何动手搭建Jarn。
我们之前的文章里面已经搭建了hdfs集群,我们需要再这个之上再加入RS(Resource Manager) 和NM(Node Manager)的服务器配置。由于RS是client和hdfs之间的一层代理,而且是一个单点我们需要做HA(高可用),所以这里需要把node03和node04作为NM的服务器(互为主从)。对于NM来说他是负责在datanode节点上进行计算的,所以他需要和datanode配置在一起,所以需要配置在节点node02,node03,node04上面。
node01(192.168.146.101):namenode01 ,ZKFC,JNN(journalnode)
node02(192.168.146.102):namenode02,datanode,zookeeper,ZKFC,JNN,NM(Node Manager)
node03(192.168.146.103): datanode, zookeeper, JNN,RS(Resource Manager),NM
node04(192.168.146.104): datanode,zookeeper,RS,NM
修改配置文件到hadoop的配置目录中找到mapred-site.xml 文件进行修改。在node01中修改。
cd /usr/hadoop-3.1.2/etc/hadoop
vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
修改yarn-site.xml文件,这里指定mapreduce的方式,是否打开高可用,集群的clusterID。以及定义的resource manager(两个)和zookeeper的地址。
vi yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<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>
</configuration>
把配置文件分发到其他三个节点
scp mapred-site.xml yarn-site.xml node02:`pwd`
scp mapred-site.xml yarn-site.xml node03:`pwd`
scp mapred-site.xml yarn-site.xml node04:`pwd`
保证hadoop-env.sh 下面的角色配置是正确的
启动Yarnexport YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
source hadoop-env.sh
如果几个节点询问yarn目录的执行权限可用对几个节点配置如下。
chmod 744 /usr/hadoop-3.1.2/bin/yarn
启动yarn在node01上面运行
start-yarn.sh
启动成功以后通过jps看看每个节点的进程运行情况。
在node03和node04中启动resource manager
yarn-daemon.sh start resourcemanager
访问 http://node03:8088 可用看到node3的resource manager 已经激活了
同样对于node04 作为node03 的standby
到此安装结束,有喜欢的点一下关注。谢谢各位的支持。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved