Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
主机名 | NameNode | NameNode2 | JournalNode | DataNode | ZKFC | ZooKeeper | ResourceManager | NodeManager |
---|---|---|---|---|---|---|---|---|
node1 | * | * | ||||||
node2 | * | * | * | * | * | |||
node3 | * | * | * | * | ||||
node4 | * | * | * | * |
进入node1
修改mapred-site.xml 文件
进入/opt/bigbata/hadoop-2.7.3/etc/hadoop
将mapred-site.xml.template
复制一份,重命名为mapred-site.xml
打开mapred-site.xml
文件,并在<configuration></configuration>
标签中添加:
<property>
<!--定义mapreduce使用yarn框架-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
修改yarn-site.xml 文件
打开/opt/bigbata/hadoop-2.7.3/etc/hadoop/yarn-site.xml
文件,并在<configuration></configuration>
标签中添加:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<!-- 开启rm的HA模式-->
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.zk-address</name>
<!-- 配置zookeeper的地址-->
<value>node2:2181,node3:2181,node4:2181</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<!-- 配置rm的集合id ,取名为mrcluster-->
<value>mrcluster</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<!--实例化两个rm集合-->
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<!--配置rm1的主机地址-->
<value>node3</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<!--配置rm2的主机地址-->
<value>node4</value>
</property>
分发两个文件到其他主机
scp mapred-site.xml yarn-site.xml @node2:`pwd`
scp mapred-site.xml yarn-site.xml @node3:`pwd`
scp mapred-site.xml yarn-site.xml @node4:`pwd`
在node1启动集群
start-yarn.sh
在node3-node4
yarn-daemon.sh start resourcemanager
运行下mapreduce的默认程序wordcount
创建一个数据文件,并上传到集群
echo "hello hadoop i love hadoop" >> ~/data.txt
hdfs dfs -mkdir -p /data/wc/input
hdfs dfs -put ~/data.txt /data/wc/input /data/wc/output
进入到示例程序目录
cd /opt/bigdata/hadoop-2.7.3/share/hadoop/mapreduce
运行一下示例程序
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /data/wc/input /data/wc/output
要保证output是一个不存在的目录