::: 데이터 분석 :::

Ambari Metrics 재시작이 wget에서 진행되지 않는 경우

곰탱이푸우 2023. 5. 4. 08:20
Bigtop에서 배포한 Ambari 설치를 완료하고 서비스를 시작했을 때 유독 Ambari Metrics만 빨간 불인 경우가 있다.
 
다양한 오류가 발생하는데 이번엔 Ambari Metrics를 재시작했을때 wget에서 진행되지 않는 오류 해결 방법을 확인한다.
주로 프록시를 사용하는 폐쇄망에서 발생한다.
 
Ambari 설치 방법은 아래 포스팅을 확인한다.
Ambari 설치를 위한 CentOS 7 환경 설정은 아래 포스팅을 참고한다.
 

오류 메시지 확인

Ambari UI에서 상단의 톱니바퀴 아이콘을 클릭한다.
 
일반적으로는 아래와 같이 상태바가 더 이상 진행되지 않는다. (대략 30분 이상..)
Ambari의 모든 서비스를 재시작하는데 15분 정도 소요되기 때문에 정상적인 상황은 아니다.
Operation 컬럼에서 오류가 발생한 Ambari Metrics를 클릭한다.

 

그리고 진행되지 않는 호스트 이름을 클릭한다.

 

아래와 같이 진행중인 Task 이름을 클릭한다.
 
로그를 확인할 수 있는데 아래 메시지 이후로 진행되지 않는다.
Execute['ambari-sudo.sh wget 
http://repo.bigtop.apache.org.s3.amazonaws.com/bigtop-stack-binary/3.2.0/centos-7/
x86_64/phoenix-hbase-compat-2.4.1-5.1.2.jar -P /usr/lib/ambari-metrics-collector'] {}​

 

 

원인 확인

로그에서 확인되는 명령어는 wget 이므로 wget이 정상 동작하는지 확인해야 한다.
프록시 설정이 Bash 쉘에만 적용되어 있는 경우에는 bash 쉘에서는 잘 되지만 Ambari UI에서 정상동작하지 않는다.
Ambari에서 sudo 권한으로 wget을 실행할때 root 계정에 프록시 설정이 전달되지 않아 발생하는 것이 원인이다.
 

해결 방법

wget 명령어 설정에서 프록시 옵션을 활성화하면 해결 가능하다.
또한 사용자 계정에 등록 된 프록시 관련 환경 변수를 root 계정에 전달해주는 것도 필요하다.
 

visudo에 프록시 환경 변수 전달

Ambari에서 sudo 명령을 실행했을 때 사용자 계정의 환경변수가 전달되도록 visudo 를 수정한다.
 
아래와 같이 env_keep 항목에 프록시 관련 환경 변수들을 추가한다.
$ sudo visudo
# Default env_keep += 부분을 찾고 다음줄에 아래 내용 추가
Defaults env_keep += "HTTP_PROXY http_proxy HTTPS_PROXY no_proxy"
# 입력 완료 후 :wq로 저장하고 종료

 

wget 명령어에 프록시 서버 정보 전달

/etc 경로 하위에 있는 wgetrc 파일이 wget 명령의 설정을 담당한다.
 
해당 파일을 열고 프록시 설정을 활성화하고 프록시 서버 정보를 입력한다.
$ sudo vi /etc/wgetrc
# 아래 부분 주석 해제
use_proxy=yes
# 바로 다음 줄에 아래 내용 추가
http_proxy=프록시서버IP:포트
https_proxy=프록시서버IP:포트
# 입력 완료 후 :wq로 저장하고 종료
 

재부팅

수정이 마무리되면 아래 명령으로 재부팅한다.
$ sudo reboot now

 

 

결과 확인

위와 같이 설정하고 ambari-metrics-collector를 재시작하면 wget 명령 부분이 정상적으로 진행되는 것을 확인할 수 있다.