Bigtop에서 배포한 Ambari 설치를 완료하고 서비스를 시작했을 때 유독 Ambari Metrics만 빨간 불인 경우가 있다.
다양한 오류가 발생하는데 이번엔 javax/ws/rs/core/Link$Builder 오류 해결 방법을 확인한다.
Ambari 설치 방법은 아래 포스팅을 확인한다.
Ambari 설치를 위한 CentOS 7 환경 설정은 아래 포스팅을 참고한다.
오류 메시지 확인
Ambari Metrics를 설치한 가상 환경에 접근하고 로그를 확인한다.
# bdp01 가상 머신에 Ambari Metrics Master를 설치한 경우
$ ssh ambari@bdp01.bearpooh.com
# ambari-metrics-collector 로그 확인
$ cat /var/log/ambari-metrics-collector/ambari-metrics-collector.out
로그를 확인해보면 아래와 같은 경고 (Warning)를 확인할 수 있다.
23/03/25 23:52:16 [main] WARN webapp.WebAppContext:
Failed startup of context o.e.j.w.WebAppContext@2349f14d{timeline,/,
file:///tmp/jetty-bdp01_bearpooh_com-6188-hadoop-yarn-common-3_3_4_jar
-_-any-1171929678932464264/webapp/,UNAVAILABLE}
{jar:file:/usr/lib/ambari-metrics-collector/hadoop-yarn-common-3.3.4.jar!/webapps/timeline}
java.lang.NoClassDefFoundError: javax/ws/rs/core/Link$Builder
원인 확인
프록시를 사용하는 폐쇄망에서 Ambari를 설치할 때 일부 jar 패키지가 누락되어 발생하는 문제이다.
실제로 Master Node에서 ambari-metrics-collector를 삭제하다보면 아래와 같은 메시지가 출력된다.
$ sudo yum remove ambari-metrics-collector
... 생략 ...
경고: file /usr/lib/ambari-metrics-collector/servlet-api-2.5.jar: remove failed:
그런 파일이나 디렉터리가 없습니다
경고: file /usr/lib/ambari-metrics-collector/protobuf-java-3.17.3.jar: remove failed:
그런 파일이나 디렉터리가 없습니다
경고: file /usr/lib/ambari-metrics-collector/jakarta.ws.rs-api-2.1.6.jar: remove failed:
그런 파일이나 디렉터리가 없습니다
해당 파일들을 해당 경로에 넣어주면 해결된다.
해결 방법
Master Node에서 find로 찾아보면 동일 파일명이 다른 경로에 위치한다.
해당 파일들을 /usr/lib/ambari-metrics-collector 경로로 복사한다.
jar 파일들이 없는 경우
만약 없는 경우 maven 사이트와 같이 jar 파일을 다운로드 할 수 있는 곳에서 다운로드한다.
mvnrepository.com 사이트의 경우 Files의 jar 또는 bundle을 클릭하면 다운로드 받을 수 있다.
구분
|
URL
|
jakarta.ws.rs-api-2.1.6.jar
|
|
javax.ws.rs-api-2.1.jar
|
|
protobuf-java-3.17.3.jar
|
|
sevlet-api-2.5.jar
|
또는 아래 파일들을 다운로드하여 사용한다.
다운로드한 파일들을 /usr/lib/ambari-metrics-collector 경로로 복사한다.
jar 파일들이 있는 경우
아래 명령어를 사용해서 jar 파일들의 경로를 확인한다.
$ sudo find / jakarta.ws.rs-api-2.1.6.jar
$ sudo find / javax.ws.rs-api-2.1.jar
$ sudo find / protobuf-java-3.17.3.jar
$ sudo find / sevlet-api-2.5.jar
확인한 파일 경로를 이용하여 아래와 같이 복사를 진행한다.
$ sudo cp /jar파일경로 /usr/lib/ambari-metrics-collector
결과 확인
위의 파일들을 복사하고 ambari-metrics-collector를 재시작하면 파란불이 활성화되면서 동작한다.
그러나 로그를 출력하면 아래와 같은 경고(Warning)가 확인된다.
# ambari-metrics-collector 로그 확인
$ cat /var/log/ambari-metrics-collector/ambari-metrics-collector.out
23/03/26 16:23:56 [qtp892262157-123] WARN webapp.GenericExceptionHandler: INTERNAL_SERVER_ERROR
javax.ws.rs.WebApplicationException: java.sql.SQLException:
Encountered exception in sub plan [0] execution.
at org.apache.ambari.metrics.webapp.TimelineWebServices.getTimelineMetrics
(TimelineWebServices.java:285)
이 부분은 아직 해결하지 못했으나 일단 나머지 부분이 동작하기 때문에 NEXT 로 남겨두고 다른 작업을 진행한다.
-
사실 Hbase, Phoenix까지 확인하고 분석해봐야 하는데... 아직은... ㅠㅠ
-
인터넷 환경은 jar 파일 이슈는 없지만 위의 경고와 동일하게 발생한다... (Bigtop에서 못잡은 warning인 걸로 추정...)
'::: 데이터 분석 :::' 카테고리의 다른 글
Ambari Metrics의 METRICS 탭에 그래프가 표시 안되는 경우 (125) | 2023.05.08 |
---|---|
Ambari Metrics 재시작이 wget에서 진행되지 않는 경우 (3) | 2023.05.04 |
[Ambari 11] Ambari 설치하면서 변경하는 설정 정리 (95) | 2023.04.27 |
[Ambari 10] Apache Bigtop 빌드 안하고 쉽게 설치하기 (0) | 2023.04.06 |
[Ambari 9] 데이터 탐색을 위한 하둡과 제플린 설정 (0) | 2023.03.30 |