(伪分布式不启动 YARN 也可以,一般不会影响程序执行)

有的读者可能会疑惑,怎么启动 Hadoop 后,见不到书上所说的 JobTracker 和 TaskTracker,这是因为新版的 Hadoop 使用了新的 MapReduce 框架(MapReduce V2,也称为 YARN,Yet Another Resource Negotiator)。

YARN 是从 MapReduce 中分离出来的,负责资源管理与任务调度。YARN 运行于 MapReduce 之上,提供了高可用性、高扩展性,YARN 的更多介绍在此不展开,有兴趣的可查阅相关资料。

./sbin/start-dfs.sh
mapred-site.xml,这边需要先进行重命名:
 
1. mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml
 
 
Shell 命令 
   
   
  
 
gedit ./etc/hadoop/mapred-site.xml 
1. <configuration>
2.         <property>
3.              <name>mapreduce.framework.name</name>
4.              <value>yarn</value>
5.         </property>
6. </configuration>
 
 
XML 
   
   
  
 
yarn-site.xml:
 
1. <configuration>
2.         <property>
3.              <name>yarn.nodemanager.aux-services</name>
4.              <value>mapreduce_shuffle</value>
5.             </property>
6. </configuration>


XML


./sbin/start-dfs.sh): 
1. ./sbin/start-yarn.sh      # 启动YARN
2. ./sbin/mr-jobhistory-daemon.sh start historyserver  # 开启历史服务器,才能在Web中查看任务运行情况


Shell 命令

jps

开启YARN

启动 YARN 之后,运行实例的方法还是一样的,仅仅是资源管理方式、任务调度不同。观察日志信息可以发现,不启用 YARN 时,是 “mapred.LocalJobRunner” 在跑任务,启用 YARN 之后,是 “mapred.YARNRunner” 在跑任务。启动 YARN 有个好处是可以通过 Web 界面查看任务的运行情况:http://localhost:8088/cluster,如下图所示。


开启YARN后可以查看任务运行信息

但 YARN 主要是为集群提供更好的资源管理与任务调度,然而这在单机上体现不出价值,反而会使程序跑得稍慢些。因此在单机上是否开启 YARN 就看实际情况了。


不启动 YARN 需重命名 mapred-site.xml

如果不想启动 YARN,务必把配置文件 mapred-site.xml


同样的,关闭 YARN 的脚本如下:

1. ./sbin/stop-yarn.sh
2. ./sbin/mr-jobhistory-daemon.sh stop historyserver

Shell 命令


自此,你已经掌握 Hadoop 的配置和基本使用了。