::: 데이터 분석 :::

[Ambari 2] CentOS 7 가상 환경 생성

곰탱이푸우 2023. 3. 6. 08:20
Ambari 설치를 위한 CentOS7 가상 환경을 생성한다.
Ambari 소개에 대한 내용은 다음 문서를 참고한다.
Bigtop을 이용한 Ambari 빌드는 다양한 운영체제를 지원한다.
Bigtop이 지원하는 OS는 다음과 같고, 표시한 운영체제에서 빌드는 모두 성공적으로 진행된다.
  • CentOS 7
  • Rocky Linux 8 (for x86_64 and aarch64 only)
  • Fedora 36
  • Debian 10
  • Debian 11
  • Ubuntu 20.04
  • Ubuntu 22.04

 

그러나 빌드한 Ambari 설치 파일을 OS 별로 테스트한 결과는 다음과 같다.
구분
빌드
설치
Agent 등록
비고
CentOS 7
O
O
O
 
Rocky 8 (=CentOS 8)
O
O
X
지원하지 않는 OS
Ubuntu 22.04
O
X
 
Python2 버전 오류
Ubuntu 20.04
O
O
X
Agent 등록 안됨
 
참고로 Rocky 8의 경우 아래 이슈를 참고하여 패치를 적용하고 빌드하면, 지원하지 않는 OS 오류는 발생하지 않을 것으로 판단된다.
위의 문제들은 모두 빌드 된 Ambari 설치 파일에서 발생했다.
Ambari 자체의 개선이 필요한 사항이기 때문에, 아래 내용은 문제가 없는 CentOS 7을 기준으로 진행한다.
(CentOS 7은 2024.06.30 EoL 예정이며, 가상 환경에서 사용할 것이므로 신경 쓰지 않는다.)
 
 

CentOS 7 설치 이미지 (ISO) 다운로드

아래 사이트에 접속하여 설치 파일 (ISO)를 다운로드한다.
최소 버전으로 설치할 것이기 때문에 Minimal 버전을 다운로드해도 된다. (CLI로 설치 진행)
참고로 DVD 버전을 다운로드해서 진행했다. (GUI로 설치 진행)
 

VirtualBox 가상 환경 생성

VirtualBox를 실행하고 머신 - 새로 만들기를 클릭한다.
 

가상 환경 기본 설정

가상 머신 이름을 지정하고 메모리를 설정한다.
 
문서 작성에 사용할 캡처 화면을 생성한 PC 환경의 메모리가 16G라서 2G로 설정했다.
  • 가급적 4G 이상 (웬만하면 8G 정도) 설정하는 것을 권장한다.
  • 분산 환경 재현을 위해 가상머신을 3~5개 복제해야 하기 때문에 가상환경 복제 이후의 메모리 크기를 고려해야 한다.
 
테스트 환경이므로 하드디스크 크기는 80G~100G 정도 설정한다.
나머지 옵션을 그대로 둔다.
 
 

가상 환경 상세 설정

생성 된 가상환경의 설정 버튼을 클릭한다.
 

시스템 설정 변경

플로피 체크 해제
시스템 - 마더보드 탭의 부팅 순서에서 플로피 항목에 체크를 해제한다.
 
CPU 개수 조정
시스템 - 프로세스를 확인하면 CPU가 1개로 되어 있다.
시스템의 코어/스레드 수에 맞게 조정한다.
테스트는 2개로 설정했다.
 
 
가속 기능 변경 (HostOS가 윈도우인 경우만!)
호스트 운영체제가 Linux인 경우에는 생략한다.
호스트 운영체제가 윈도우이고 CPU가 2개 이상인 경우 기본 옵션을 사용하면, Agent에 배포하고 설치하는 과정에서 오류가 발생한다.
  • BUG: soft lockup - CPU#1 stuck for 23s! [yyyyyyy:81602]
  • INFO: rcu_bh detected stall on CPU 1 (t=0 jiffies)
  • INFO: rcu_preempt self-detected stall on CPU

 

실제로 CPU 사용량을 확인해보면 1개 프로세스만 98~100%를 차지한다.
테스트를 진행한 환경은 다음과 같다.
구분 내용
CPU Intel i5-11300H (11th Gen) 4 Core 8 Thread
RAM 64G (32G SODIMM 3200MHz x 2)
HostOS  WIndows 11
가상화 프로그램 VirtualBox와 WSL2 (+Docker) 동시 사용 중

 

두 가지 방안이 존재한다. 가급적 첫 번째 방법인 '레거시'로 변경하는 방법을 사용한다.
1) 가상화 옵션 변경
가속 탭을 클릭하고  반가상화 인터페이스 항목의 값을 '기본값'에서 '레거시'로 변경한다.
다른 옵션은 변경하지 않는다.
해당 항목을 적용하면 하둡 관련 서비스를 배포/설치 과정에서 CPU 2개가 정상 동작하는 것을 확인할 수 있다.

 

2) 가속 기능 사용 해제
가속 탭을 클릭하고 아래 두 항목의 값을 변경한다.
  • 반가상화 인터페이스 - 없음
  • 하드웨어 가상화 - 체크해제

 

 
가속 기능을 끄면 정상 동작하지만, 가상화의 성능 저하로 인해 굉장히 느려진다.
해당 기능을 끄면 하둡 관련 서비스를 배포/설치 과정에서 CPU 2개가 정상 동작하는 것을 확인할 수 있다.
 
 

네트워크 설정 변경

네트워크 - 어댑터 2 탭에서 "네트워크 어댑터 사용하기"에 체크한다.
그리고 "다음에 연결됨"을 클릭하고 호스트 전용 어댑터를 선택한다.
"이름"에는 자동으로 vboxnet0 (윈도우의 경우 다른 이름)이 선택된다.
 

저장소 설정 변경

저장소 - 저장 장치 부분의 '컨트롤러: IDE' 항목의 비어 있음을 클릭한다. (CD/DVD 항목이다.)
우측의 CD 모양의 아이콘을 클릭하고 '디스크 파일 선택' 항목을 클릭한다.
다운로드한 CentOS 7의 iso 파일을 선택한다.
 

가상 머신 시작

시작 버튼을 눌러 가상 머신을 시작한다.
 
 

CentOS 7 설치

시작 버튼을 클릭하면 ISO 파일이 실행되면서 CentOS 7 설치 화면으로 진입한다.
설치 화면 관련 참고사항
설치 이미지가 DVD 버전이라 GUI 기반으로 설치했다.
설치 이미지가 Minimal 버전인 경우 CLI 기반이므로 아래 내용을 참고해서 진행한다.
 

설치 화면 진입

Install CentOS 7을 선택한다.
  • 언어는 한국어를 선택한다.
  • 서버 OS이므로 필요에 따라 English를 선택해도 된다.
 
설치 옵션을 선택하는 화면이 나오면 네트워크 및 호스트명 항목부터 설정을 진행한다.

 

 

네트워크 설정

NAT 네트워크 설정

NAT 네트워크 (외부 인터넷 연결)를 담당하는 enp0s3 항목을 켬으로 변경한다.
DHCP를 사용하기 떄문에 자동으로 IP를 받아온다.
 

호스트 전용 어댑터 설정

가상 머신 간의 통신에 사용할 enp0s8 항목을 선택하고 우측 하단의 설정을 클릭한다.
enp0s8은 네트워크 어댑터 2 - 호스트 전용 어댑터로 추가한 NIC이다.
 
IPv4 설정 탭을 선택하고 Add를 클릭하면 한 줄이 추가된다.
  • IP 주소는 192.168.56.51을 입력한다. (마지막 자리는 필요에 따라 자유롭게 입력한다.)
  • 넷마스크는 24로 자동 입력된다. (255.255.255.0 을 의미한다.)
  • 게이트웨이는 빈칸으로 놔둔다. (입력할 경우 enp0s3인 NAT의 외부 통신이 안된다.)
  • 입력이 끝나면 저장 버튼을 클릭한다.

 

 

 

Hostname 설정

하단의 호스트 이름을 변경한다.
FQDN 형태로 입력해야 한다.
bdp01.bearpooh.com 으로 입력했다. 이후 복제할 때마다 bdp02, bdp03 형태로 수정한다.
 
hostname, hosts 관련 참고사항
이후 가이드 문서에서 hostname과 hosts의 이름이 node01이 아닌 bdp01으로 표시 될 수 있다.
캡처를 진행한 테스트 환경에 달라 발생한 것으로, 이 부분에서 작성한 hostname을 기준으로 이후 과정을 진행한다.
 

날짜 & 시간 설정

네트워크 설정이 마무리 되면 날짜 & 시간 항목을 선택한다.
네트워크 시간 항목을 켬으로 변경하고, 우측의 톱니 바퀴를 클릭한다.
 
우측에 체크 된 항목들을 모두 체크 해제한다.
마지막 줄에 time.bora.net (LG유플러스 NTP 서버)을 추가하고 우측 사용 항목에 체크한다.
 
OK 버튼과 완료 버튼을 클릭하면 설치 옵션을 선택하는 화면으로 돌아온다.
 
 

파티션 설정

마지막으로 설치 대상을 선택한다.
 
하드디스크에 체크 된 것을 확인하고, 하단에 '파티션을 설정합니다'에 체크한다.
완료를 클릭하면 파티션 설정 화면으로 진입한다.
 
화면 가운데 LVM을 표준 파티션으로 변경한다. 하둡의 HDFS에서 LVM 사용은 자제하는 것이 권장 사항이다.
+ 버튼을 눌러 파티션을 추가한다.
 
아래 화면과 같이 나오면 항목별로 입력 (또는 선택)하고 용량을 입력한다.

 

 
입력항목은 다음과 같다.
구분
파티션 형식
용량
비고
boot
ext4
1G
부트영역
swap
swap
2G
메모리 스왑 공간
/tmp
ext4
1G
임시 파일 공간
/home
ext4
10G
사용자 공간 (필요에 따라 조절)
/
ext4
10G
리눅스 OS 공간 (필요에 따라 조절)
/data
ext4
빈칸 (나머지 전체)
하둡 데이터노드 공간
 
입력이 완료되면 아래와 같이 표시된다. 이상 여부를 확인하고 완료를 선택한다.
 
파티션 구분 및 포맷 항목에 대한 설명이 나오면 하단의 "변경 사항 적용" 버튼을 클릭한다.
 
모든 선택이 완료되면 설치 옵션을 선택하는 화면 하단의 설치 시작 버튼을 클릭한다.
 
 

계정 설정

설치가 진행되면서 다음과 같이 계정 생성 및 ROOT 계정 암호 설정 버튼이 출력된다.
 
먼저 사용자 생성 버튼을 클릭하고 ambari 계정을 생성한다.
  • 관리자 지정 옵션에 체크한다.
  • 암호를 입력한다. 설치 과정에 암호를 많이 입력하므로 간단한 암호로 설정하고 나중에 변경한다.
 
사용자 생성이 완료되면 ROOT 암호 버튼을 클릭하고 암호를 입력한다.
설치 과정에 암호를 많이 입력하므로 간단한 암호로 설정하고 나중에 변경한다.
 

설치 완료

설치 완료되면 재부팅 버튼 클릭해서 재부팅한다.

 

 

스냅샷 생성

생성한 계정으로 로그인하고 아래 명령어를 실행해서 전원을 끈다.
$ sudo shutdown now
 
 
스냅샷 - 찍기 버튼을 클릭해서 스냅샷을 생성한다.
  • 스냅샷 이름 - Step 1
  • 스냅샷 설명 - CentOS 7 설치

 

 
생성한 스냅샷은 이후 설정 과정에서 문제가 발생했을 경우 복원 지점으로 활용한다.
OS를 재설치하지 않고 특정 지점으로 복귀 할 수 있기 때문에 매우 중요하다.
 
이후 과정은 다음 포스팅(문서)로 진행한다.

https://www.bearpooh.com/180