玩Hadoop不懂Yarn搭建确实有点落伍了,动手搭建Hadoop(7)

广告位

01 ssh免密安装 02 jdk安装 03 hadoop伪分布式安装 04 hadoop全分布式 05 ha…

01 ssh免密安装

02 jdk安装

03 hadoop伪分布式安装

04 hadoop全分布式

05 hadoop高可用

06 用hadoop的sdk进行开发

前面六篇文章把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。

玩Hadoop不懂Yarn搭建确实有点落伍了,动手搭建Hadoop(7)

准备

我们之前的文章里面已经搭建了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 下面的角色配置是正确的

export YARN_RESOURCEMANAGER_USER=root

export YARN_NODEMANAGER_USER=root

source hadoop-env.sh

启动Yarn

如果几个节点询问yarn目录的执行权限可用对几个节点配置如下。

chmod 744 /usr/hadoop-3.1.2/bin/yarn

启动yarn在node01上面运行

start-yarn.sh

启动成功以后通过jps看看每个节点的进程运行情况。

玩Hadoop不懂Yarn搭建确实有点落伍了,动手搭建Hadoop(7)

玩Hadoop不懂Yarn搭建确实有点落伍了,动手搭建Hadoop(7)

在node03和node04中启动resource manager

yarn-daemon.sh start resourcemanager

访问 http://node03:8088 可用看到node3的resource manager 已经激活了

玩Hadoop不懂Yarn搭建确实有点落伍了,动手搭建Hadoop(7)

同样对于node04 作为node03 的standby

玩Hadoop不懂Yarn搭建确实有点落伍了,动手搭建Hadoop(7)

到此安装结束,有喜欢的点一下关注。谢谢各位的支持。

关于作者: IT资讯科技

为您推荐

广告位

发表评论