Ganglia라는 오픈소스를 구성해 보자.
여러 대의 클러스터 서버들을 간편하게 모니터링, 관리할 수 있는 오픈소스를 알아보자.
클러스터 및 그리드를 위한 확장 가능한 분산 모니터링 시스템입니다. 즉, 클러스터의 사용 상태를 모니터해 주는 오픈소스입니다.
메모리, CPU, 디스크, 등, Hadoop, dfs와 관련된 200개 이상의 메트릭 정보를 모니터링할 수 있다는 장점과, 웹 UI가 모바일 장치에도 최적화되어있어 사용이 용이합니다.
아래는 저의 구성 환경입니다.[2대 서버 동일합니다.]
- OS:[VM]Ubuntu20.04 CLI
- CPU:8core
- MEMORY:16GB
- DISK:50GB
- Master Node: gpuadmin1 / IP:192.168.0.55
- Slave Node: gpuadmin2 / IP:192.168.0.43
- (1) Master Node 먼저 Ganglia를 설치해 줍니다.
(1-2) Ganglia에 필요한 패키지들을 다 같이 설치해 줍니다.
- #sudo apt-get install ganglia-monitor
- #sudo apt-get install rrdtool
- #sudo apt-get install gmetad
- #sudo apt-get install ganglia-webfrontend
(1-3) Ganglia-webfrontend 구성파일들을, Apache 폴더에 복사해 줍니다.
- #sudo cp /etc/ganglia-webfrontend/apache.conf /etc/apache2/sites-enabled/ganglia.conf
(1-4) Ganglia Gmetad.Conf 파일을 편집해 줍니다.
- #sudo vi /etc/ganglia/gmetad.conf
- #wq!
아래 이미지처럼, 자신의 클러스터 이름을 넣어주시면 됩니다.
(1-5) Gmond.conf 파일을 편집해 줍니다.
- #sudo vi /etc/ganglia/gmond.conf
- #wq!
1.아래 이미지와 같이,/etc/ganglia/gmetad.conf 에서 설정한 클러스터 네임과 일치하게 넣어주세요.
2.MasterNode IP를 아래와 같이 [host = 192.168.0.55] 넣어주고, mcast_join는 주석처리 해주시면 됩니다.
3.아래와 같이 mcast_join, bind는 주석처리 해주시면 됩니다.
(1-6) 위의 모든 설정이 끝난 후, 서비스를 다시 시작해 주세요.
- #sudo systemctl restart ganglia-monitor
- #sudo systemctl restart gmetad
- #sudo systemctl restart apache2
(2) Slave Node를 구성해 보겠습니다.
(2-1) Slave Node는 GangliaMonitor만 설치하시면 됩니다.
- #sudo apt-get install ganglia-monitor
(2-2) Master Node와 동일하게 gmond.conf 파일을 편집해 줍니다.
- #sudo vi /etc/ganglia/gmond.conf
- #wq!
1. 아래 이미지처럼 MasterNode와 같게 설정해 주시면 됩니다. [name={MasterNode ClusterName}]
2. 아래와 같이 mcast_join은 주석처리하고, [host = {MasterIP}] 넣어주시면 됩니다.
3. 아래 이미지처럼,mcast_join 과 bind 를 주석처리 해주세요.
(2-3) GangliaMonitor service를 재시작해줍니다.
- #sudo systemctl restart ganglia-monitor
- http://MasterNode IP/ganglia
아래 이미지처럼 접속이 되시는 걸 볼 수 있습니다.
- 192.168.0.43 = SlaveNode
- gpusystem = MasterNode
해당 노드로 들어가시면 모니터링이 가능합니다.
이와 같이 모니터링이 가능합니다.