주요글: 도커 시작하기
반응형

오늘 Ambari 1.6을 이용해서 HDP 2.1을 설치하는데, Application Timeline Serve가 올라오지 않아 서버에 들어가 로그 파일에 기록된 에러 메시지를 봤더니, 다음 클래스를 찾지 못한다는 에러 메시지가 출력되고 있었다.


2014-07-16 19:01:55,808 INFO  applicationhistoryservice.ApplicationHistoryServer (SignalLogger.java:register(91)) - registered UNIX signal handlers for [TERM, HUP, INT]

2014-07-16 19:01:55,960 INFO  service.AbstractService (AbstractService.java:noteFailure(272)) - Service org.apache.hadoop.yarn.server.applicationhistoryservice.ApplicationHistoryServer failed in state INITED; cause: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.yarn.server.applicationhistoryservice.timeline.LeveldbTimelineStore not found

java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.yarn.server.applicationhistoryservice.timeline.LeveldbTimelineStore not found

        at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1927)

        at org.apache.hadoop.yarn.server.applicationhistoryservice.ApplicationHistoryServer.createTimelineStore(ApplicationHistoryServer.java:165)

        at org.apache.hadoop.yarn.server.applicationhistoryservice.ApplicationHistoryServer.serviceInit(ApplicationHistoryServer.java:80)

        at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)


약간의 구글링을 통해서 위 클래스 이름을 다음과 같이 변경해주어야 한다는 것을 알았다. Ambari 1.6-46, Hadoop 2.4.0.2.1 기준으로 YARN -> Config 에서 "yarn.timeline-service.store-class" 속성의 값을 변경해주면 된다.


org.apache.hadoop.yarn.server.timeline.LeveldbTimelineStore


예전에 받아 놓은 HDP 2.1 Sandbox 버전의 경우, 위 속성 값이 org.apache.hadoop.yarn.server.applicationhistoryservice.timeline.LeveldbTimelineStore로 설정되어 있는데, 하둡 버전은 2.4.0.2.1로 동일하다. (같은 하둡 버전인데, 클래스 이름이 다르다는 건 좀...)

+ Recent posts