::: 데이터 분석 :::

[Ambari 5] Bigtop 설치와 Ambari 빌드

곰탱이푸우 2023. 3. 16. 08:20
가상환경에 공통으로 필요한 JDK와 Maven을 적용했으므로, Bigtop을 설치하고 Ambari 설치 파일을 빌드한다.
 
현재 yum 저장소에서 ambari 관련 설치 파일은 없기 때문에 불편하지만 직접 빌드해야 한다.
 
CentOS에 JDK, Maven을 설치하는 방법은 아래 포스팅 (문서)를 참고한다.
시간 단축을 위해 단일 가상 이미지를 만들고 복제해서 사용할 예정임을 참고한다.

 

 

Apache Bigtop 소개

Hortonworks와 Cloudera

Hadoop과 Spark을 설치하고 모니터링을 도와주는 Ambari 도구는 기존에 Hortonworks 중심으로 제공했다.
그러나 Cloudera와 Hortonworks의 합병(2018년)으로 Hortonworks에서 제공해주던 설치 도구의 사용이 불가능해졌다.
  • Cloudeera가 대부분 비공개로 전환하고 유료회원에게만 제공한다.
  • Ambari는 Hortonworks, Cloudera Manager는 Cloudera가 제공했고, 두 플랫폼의 기능은 거의 동일하다.
  • Cloudera의 행보는 당연한 것으로 판단되나, 오픈소스 사용자 입장에서는 상당히 불편해졌다.
 
이러한 이유로 Ambari는 2.7.5 버전 이후 제공되지 않고 있고, 지원하는 우분투 버전도 18.04가 마지막이다.
실제로 공식 문서도 찾아보기 어렵고 예전 버전이다.
 
HDP와 CDP
Ambari를 플랫폼만 제공하고 실제 하둡 관련 서비스는 mpack (Management Pack)을 사용해야 한다.
Hortonworks와 Cloudera는 각각 아래와 같이 제공했다.
- HDP (Hortonworks Data Platform)
- CDP (Cloudera Data Platform)

Cloudera 입장에서 HDP 플랫폼을 오픈소스 친화적으로 유지하면 이득이 없다고 판단한 것 같다.
현재 HDP도 대부분 비공개로 전환하거나 유지보수를 중단했고, 심지어 CDP는 유료 회원에게만 제공한다.
 

직접 빌드?

Ambari는 Apache에서 관리하는 오픈소스라서 직접 빌드해도 된다.
  • 소스코드를 다운 받아 직접 빌드하면 되지만 굉장히 번거롭다.
  • 코드에 있는 Maven 저장소 주소가 누락되거나 최신화 되지 않아 오류가 많이 발생한다.
    (심지어 비공개 전환 된 Hortonworks의 저장소를 여전히 바라본다.)
  • 의존성 라이브러리들의 버전이 맞지 않는 경우도 발생한다.
 
 

이제는 Bigtop

이러한 상황에서 Apache Bigtop은 괜찮은 대체제로 사용 가능하다.
Apache 계열 Hadoop Ecosystem의 빌드와 패키징을 지원한다.
 
2023-01-24 기준 배포 중인 3.2.0 버전에서는 다음과 같은 플랫폼을 지원한다.
아래 사이트를 참고한다.
사용하고자 하는 Hadoop, Livy, Spark, Zeppelin, Zookeeper 모두 포함하고 있어 선택했다.
특히 Hadoop과 Spark은 3.x 버전을 제공한다.

 

하둡 에코시스템의 다른 서비스 소개

Hadoop, Spark, Zeppelin, Zookeeper 이외의 서비스는 생소한 이름이 많다.
하둡 에코시스템에서 각각 다음과 같은 기능을 담당한다.
이름 버전 설명
TEZ 0.10.1 Hadoop의 MR (MapReduce) 개선
OOZIE  5.2.1 Apache Airflow 유사
SOLR 8.11.2 ElasticSearch 유사
FLINK  1.15.3 분산 스트림 처리 엔진
PHOENIX 
5.1.2 NoSQL인 HBase에서 RDBMS의 SQL 쿼리 사용 가능 (+ HBase의 CRUD 구현)
ALLUXIO  2.8.0 HDFS, S3 (MinIO) 등 다양한 저장소의 통합 접근 가능 (단일 access point)
YCSB 0.17.0 클라우드 서비스 성능 측정을 위한 벤치마크 기능 제공 (NoSQL 계열)
GPDB 5.28.5 대용량 병렬처리가 가능한 RDMBS (PostgreSQL 기반)
LIVY  0.7.1 REST 인터페이스를 통해 Spark 클러스터에 Job 제출
RANGER  2.3.0 하둡 에코시스템 접근 제어 기능 제공
 
Bigtop에서 제공하는 mpack을 이용하여 HDP, CDP에서 제공하던 하둡 관련 서비스를 설치할 수 있다.
  • Hadoop (HDFS, MapReduce2, YARN, Zookeeper)
  • HBase, Hive, Spark, Zeppelin
  • Kafka, KERBEROS, SOLR, Tez, Flink
 
Bigtop에서 빌드 가능하지만 mpack에서 제공하지 않는 일부 도구는 추가할 수 있는 방법에 대한 조사가 필요하다.
 
3.2.0 버전에서 다양하게 추가
그나마 2023.01.17에 배포 된 3.2.0 버전에서 이 정도로 추가된 것이다.
직전 버전인 3.1.1 까지는 아래만 포함되었었다.
- Hadoop (HDFS, YARN, Zookeeper)
- KERBEROS
 
 

진행 과정

아래 과정을 통해 Ambari 설치에 필요한 rpm 파일을 빌드한다.
 

Apache Bigtop 설치

아래 명령으로 Bigtop 최신 버전의 코드를 다운로드한다.
$ git clone https://github.com/apache/bigtop.git
 
아니면 WebUI로 접속하여 zip 파일을 다운로드하고 압축을 해제한다.
 
정상적으로 실행되면 아래와 같이 표시된다.
폐쇄망인 경우 별도 파일 준비 필요
폐쇄망이거나 github 접근이 불가한 경우 해당 파일 다운로드가 되지 않을 수 있다.
인터넷이 되는 환경에서 다운로드하거나 미리 준비한 파일로 진행한다.
 
아래 명령으로 Bigtop에서 빌드 가능한 Task를 확인한다.
$ cd ~/bigtop
$ ./gradlew task --all
 
진행이 완료되면 아래와 같이 표시 된다.

 

 

Apache Ambari 빌드

아래 명령을 이용하여 Ambari 설치 파일을 빌드한다.
$ cd ~/bigtop

# Ambari 설치 파일 빌드 (server, agent)
$ ./gradlew task ambari-pkg

# Ambari mpack 파일 빌드
$ ./gradlew task bigtop-ambari-mpack-pkg

# Ambari mpack을 설치하기 위한 bigtop-utils 빌드
$ ./gradlew task bigtop-utils-pkg
 
Ambari 빌드에 오래 걸림
ambari-pkg 빌드는 상당히 오랜 시간이 소요된다.
약 1시간 ~ 1시간 30분 정도를 생각해야 한다.
인터넷 환경에서는 정상적으로 빌드 되었으나, 폐쇄망 환경에서는 저장소 설정을 검토해야 한다.
 

rpm 파일 확인

아래 명령을 사용하여 정상적으로 빌드 되었는지 확인한다.
$ cd output
$ find | grep .noarch.rpm
 
아래와 같이 4개  파일이 확인되면 정상적으로 빌드가 된 것이다.
  • ambari-server
  • ambari-agent
  • bigtop-utils
  • bigtop-ambari-mpack
 
실제로 실행한 화면은 다음과 같다.

 

 

rpm 파일 복사

아래 명령을 사용하여 rpm 파일들을 ambari 계정의 홈 경로로 복사한다.
$ cd ~/bigtop/output
$ cp */noarch/*.noarch.rpm ~/
$ cd ~
$ ls -al *.rpm
 
아래와 같이 표시되면 정상적으로 복사 된 것이다.
 

설치 파일 다운로드

Ambari 설치 파일을 빌드하는 것은 상당한 시간이 소요되므로, 매번 하는 것은 시간 낭비가 될 수 있다.
따라서 생성한 설치 파일은 호스트 PC (물리PC)에 저장해두면 편리하다.
 
아래 명령으로 진행한다.
가상환경이 아닌 호스트 PC (물리 PC)에서 진행해야 한다.
# IP 주소는 가상환경의 호스트전용어댑터에 할당한 IP 입력
$ scp -P 22 ambari@192.168.56.51:/home/ambari/*.rpm .

# -P 22  - 22번 포트 사용
# ambari@192.168.56.51  - rpm 파일이 존재하는 가상머신
# :/home/ambari/*.rpm  - 가상 머신 내부에 복사할 파일 경로와 파일명 (패턴)
# .  - 호스트 PC의 현재 경로에 다운로드
 
정상적으로 진행되면 아래와 같이 호스트 PC에 생성된다.

 

 

스냅샷 생성

생성한 계정으로 로그인하고 아래 명령어를 실행해서 전원을 끈다.
$ sudo shutdown now
 
스냅샷 - 찍기 버튼을 클릭해서 스냅샷을 생성한다.
  • 스냅샷 이름 - Step 4
  • 스냅샷 설명 - Bigtop 설치, Ambari 빌드
 
생성한 스냅샷은 이후 설정 과정에서 문제가 발생했을 경우 복원 지점으로 활용한다.
OS를 재설치하지 않고 특정 지점으로 복귀 할 수 있기 때문에 매우 중요하다.
 
이후 과정은 다음 포스팅(문서)로 진행한다.
 

[Ambari 6] CentOS 가상 이미지 복제와 Ambari 설치

Ambari 설치 파일을 빌드 했으므로 Ambari 설치를 진행한다. 아래 과정으로 진행한다. VirtualBox 가상 이미지 복제 및 설정 변경 SSH 설정 진행 (Master) Worker Node에 Ambari 설치 (agent) Master Node에 ambari 설치 (

www.bearpooh.com