在该文件里面增加如下配置
<property> <name>mapreduce.jobhistory.address</name> <value>mypc:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>mypc:19888</value> </property> <!--第三方框架使用yarn计算的日志聚集功能 --> <property> <name>yarn.log.server.url</name> <value>:19888/jobhistory/logs</value> </property>
启动历史服务器
[atguigu@hadoop101 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver
查看历史服务器是否启动
atguigu@hadoop101 hadoop-2.7.2]$ jps
查看JobHistory
:19888/jobhistory
配置日志的聚集日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。
日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。
注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager。
开启日志聚集功能具体步骤如下:
配置yarn-site.xml
[atguigu@hadoop101 hadoop]$ vi yarn-site.xml在该文件里面增加如下配置
<!-- 日志聚集功能使能 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 日志保留时间设置7天 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property>
关闭NodeManager 、ResourceManager和HistoryManager
[atguigu@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh stop resourcemanager [atguigu@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh stop nodemanager [atguigu@hadoop101 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh stop historyserver
启动NodeManager 、ResourceManager和HistoryManager
[atguigu@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager [atguigu@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager [atguigu@hadoop101 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver
删除HDFS上已经存在的输出文件
[atguigu@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -rm -R /user/atguigu/output
执行WordCount程序
[atguigu@hadoop101 hadoop-2.7.2]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/atguigu/input /user/atguigu/output我wc1里有文件,wc3不存在
所以我执行了一个简单的测试命令
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /wc1 /wc3
查看日志
:19888/jobhistory
配置文件说明及其他注意事项 配置文件说明Hadoop配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。
默认配置文件
要获取的默认文件 文件存放在Hadoop的jar包中的位置[core-default.xml] hadoop-common-2.7.2.jar/ core-default.xml
[hdfs-default.xml] hadoop-hdfs-2.7.2.jar/ hdfs-default.xml
[yarn-default.xml] hadoop-yarn-common-2.7.2.jar/ yarn-default.xml
[mapred-default.xml] hadoop-mapreduce-client-core-2.7.2.jar/ mapred-default.xml
自定义配置文件
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四个配置文件存放在$HADOOP_HOME/etc/hadoop这个路径上,用户可以根据项目需求重新进行修改配置。
其他注意事项
本次学习使用的虚拟机系统是centOS6.8,和生产环境普遍使用的centOS7.X的部分命令有差异,请注意识别!
在Hadoop中启动多种不同类型的进程.例如NN,DN,RM,NM,这些进程需要进行通信!在通信时,常用主机名进行通信!
在192.168.1.100机器上的DN进程,希望访问192.168.1.104机器的NN进程!需要在集群的每台机器上,配置集群中所有机器的host映射!
配置:
Linux: /etc/hosts
Windows: C:\Windows\System32\drivers\etc\hosts
不配报错:DNS映射异常,HOST映射异常
Linux配置完hosts文件后一定要重启网络配置!!!
service network restart
注意权限
hadoop框架在运行需要产生很多数据(日志),数据的保存目录,必须让当前启动hadoop进程的用户拥有写权限!
关闭防火墙,设置开机不自启动
service iptables stop
chkconfig iptables off
HDFS的运行模式的参数设置
fs.defaultFS在core-default.xml中!
本地模式(在本机上使用HDFS,使用的就是本机的文件系统)
fs.defaultFS=file:///(默认)
分布式模式
fs.defaultFS=hdfs://
提交任务的命令
hadoop jar jar包 主类名 参数{多个输入目录,一个输出目录}
输入目录中必须全部是文件!
输出目录必须不存在!