您的位置:首页 > 其它

配置HistoryServer

2015-06-12 11:30 381 查看
默认情况下HistoryServer没有启动,需要使用sbin/mr-jobhistory-daemon.sh start historyserver 启动

并且启动前需要在mapred-site.xml加上配置:

<property>
<name>mapreduce.jobhistory.address</name>
<value>127.0.0.1:10020</value>
</property>

<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>127.0.0.1:19888</value>
</property>

<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>/history/done</value>
</property>


<property>
<name>yarn.app.mapreduce.am.staging-dir</name>
<value>/tmp/hadoop-yarn/staging</value>
</property>

<property>
<name>mapreduce.task.io.sort.mb</name>
<value>1024</value>
</property>


此时启动会发现已经自动创建HDFS目录

但是如果在本地执行JOB时还会发现Jobserver虽然能启动,但是不能在上面看到job信息,查看资料发现还有些配置项需要配置,每个配置项都要和官网上的配置文件版本比对,不同的版本名称不一样:

比如mapred-site.xml默认官网URL:http://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

下面是增加的配置项:

mapred-default.xml:

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>


取值local、classic或yarn其中之一,如果不是yarn,则不会使用YARN集群来实现资源的分配 (默认为local),不配置loghistory不能查看体现log

<property>
<name>mapred.child.java.opts</name>
<value>-Xmx2048m</value>
</property>


配置每个map或reduce使用的内存数量(默认为200m),不配置可能会报map的java heap size错误

<property>
<name>mapreduce.task.io.sort.mb</name>
<value>1024</value>
</property>


排序内存使用限制(默认为100)

yarn-site.xml

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>


配置shuffle服务

<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>


启用日志聚集功能,默认为false,不打开则查看详细日志会报错

这样虽然可以在historyserver中看到job信息,但是在eclipse上执行job时,会报错,一种是output-collector-not-initialised,另一种是类找不到,但是如果将eclipse中的项目打成jar包,直接用hadoop jar还是可以运行的,所以感觉程序应该是没有问题,仍然是环境的问题,于是将eclipse打成的jar包导入进eclipse hadoop项目,这时再run on hadoop就没有错误了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: