配置yarn其实可以和配置hdfs一起进行,其实也只是在几个配置文件中增加了一些信息进行配置。
前面进行hadoop的安装配置只是相当于配置好了hdfs(hadoop distributed file system分布式文件系统),提供全局文件目录、动态的、有高可扩展性的,使得每个节点可以共享文件,不用重复拷贝文件。
yarn的基本配置
配置mapred-site.xml文件
在hadoop安装目录下,etc/hadoop中找到该文件
cd hadoop-3.1.3/etc/hadoop
编辑
vi mapred-site.xml
在该配置文件中加入
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
配置yarn-site.xml文件
还是在该文件目录下,编辑
vi yarn-site.xml
在该配置文件中加入
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>10.103.105.40:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>10.103.105.40:8030</value>
</property>
<property>
<name>yarn.nodemanager.resource-tracker.address</name>
<value>10.103.105.40:8031</value>
</property>
<property>
<name>yarn.nodemanager.memory-mb</name>
<value>8GB</value>
</property>
<property>
<name>yarn.nodemanager.cpu-vcores</name>
<value>4</value>
</property>
</configuration>
yarn.nodemanager.auxservices是NodeManager上运行的附属服务,配置成mapreduce_shuffle才能跑MapReduce程序
yarn.resourcemanager.address暴露给client用于提交进程、结束进程
yarn.resourcemanager.scheduler.address暴露给appmaster用于申请、释放资源
yarn.nodemanager.resource-tracker.address暴露给nodemanager汇报心跳、领取任务
后两项
yarn-nodemanager.memory-mb配置每个节点中用于hdfs的存储空间
yarn.nodemanager.cpu-vcores配置每个节点中用于集群的核数
需要根据电脑自身配置进行更改,具体查看命令是
lscpu
注意不要将所有的内存和core都用于集群
纵向配置
把这两个文件传到所有从节点上(如下例,所有从节点都要传,下列只示例一个从节点的传输)
scp mapred-site.xml XZH@10.103.105.41:/home/XZH/hadoop-3.1.3/etc/hadoop
scp yarn-site.xml XZH@10.103.105.41:/home/XZH/hadoop-3.1.3/etc/hadoop
测试
开启集群
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
查看集群
进入监控网站
hdfs
http://10.103.105.40:9870
yarn
http://10.103.105.40:8088
停止集群
$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/stop-yarn.sh
这是理论上应该会成功的配置!但是!!!在实际配置中我还是出了很多问题,
将在后面yarn问题总结中写出解决办法