JobHistoryServer无法正常启动

40 篇文章 1 订阅
38 篇文章 0 订阅

今天在测试环境启动JobHistoryServer,发现无法正常启动,报错信息如下:

2019-10-28 17:44:33,030 INFO org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer: registered UNIX signal handlers for [TERM, HUP, INT]
2019-10-28 17:44:33,666 INFO org.apache.hadoop.service.AbstractService: Service org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer failed in state INITED; cause: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.mapreduce.v2.hs.HistoryServerLeveldbStateStoreService not found
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.mapreduce.v2.hs.HistoryServerLeveldbStateStoreService not found
	at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2186)
	at org.apache.hadoop.mapreduce.v2.hs.HistoryServerStateStoreServiceFactory.getStore(HistoryServerStateStoreServiceFactory.java:39)
	at org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer.createStateStore(JobHistoryServer.java:169)
	at org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer.serviceInit(JobHistoryServer.java:131)
	at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
	at org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer.launchJobHistoryServer(JobHistoryServer.java:219)
	at org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer.main(JobHistoryServer.java:229)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.mapreduce.v2.hs.HistoryServerLeveldbStateStoreService not found
	at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2154)
	at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2178)
	... 6 more
Caused by: java.lang.ClassNotFoundException: Class org.apache.hadoop.mapreduce.v2.hs.HistoryServerLeveldbStateStoreService not found
	at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2060)
	at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2152)
	... 7 more
2019-10-28 17:44:33,671 FATAL org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer: Error starting JobHistoryServer
java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.mapreduce.v2.hs.HistoryServerLeveldbStateStoreService not found
	at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2186)
	at org.apache.hadoop.mapreduce.v2.hs.HistoryServerStateStoreServiceFactory.getStore(HistoryServerStateStoreServiceFactory.java:39)
	at org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer.createStateStore(JobHistoryServer.java:169)
	at org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer.serviceInit(JobHistoryServer.java:131)
	at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
	at org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer.launchJobHistoryServer(JobHistoryServer.java:219)
	at org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer.main(JobHistoryServer.java:229)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.mapreduce.v2.hs.HistoryServerLeveldbStateStoreService not found
	at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2154)
	at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2178)
	... 6 more
Caused by: java.lang.ClassNotFoundException: Class org.apache.hadoop.mapreduce.v2.hs.HistoryServerLeveldbStateStoreService not found
	at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2060)
	at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2152)
	... 7 more
2019-10-28 17:44:33,681 INFO org.apache.hadoop.util.ExitUtil: Exiting with status -1
2019-10-28 17:44:33,697 INFO org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer: SHUTDOWN_MSG:

通过mapred-site.xml的配置发现对应报错的配置如下:

 <property>
      <name>mapreduce.jobhistory.recovery.store.class</name>
      <value>org.apache.hadoop.mapreduce.v2.hs.HistoryServerLeveldbStateStoreService</value>
    </property>

发现确实有对应的配置项,不过对应配置的含义尚不明确,于是去官网搜索相关配置

找到如下说明:

发现mapreduce.jobhistory.recovery.enable设置为true必须在mapreduce.jobhistory.recovery.store.class的配置指定才行,而测试环境中mapreduce.jobhistory.recovery.store.class指定的还是默认值,应该是没指定成功导致启动失败,由于对JobHistoryServer的高可用需求不那么重要,于是禁用其故障恢复,设置mapreduce.jobhistory.recovery.enable为false,即可正常启动JobHistoryServer

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值