개요
본 문서는 GBase 8a MPP 클러스터 환경을 리눅스 기반 시스템에 설치하고 구성한 과정을 정리한 기술 가이드입니다. 교육 목적의 실습 환경 구축을 중심으로 작성되었으며, 실제 운영 환경에서도 참고할 수 있는 절차를 포함합니다.
사전 요구 사항
다음은 테스트 환경에서 사용된 하드웨어 및 소프트웨어 사양입니다.
| 노드 이름 | 운영체제 | IP 주소 | 메모리 | 버전 정보 |
|---|---|---|---|---|
| gbase01 | RHEL 7.3 | 10.211.55.100 | 2GB | RHEL7.3-x86_64-9.5.2.39 |
| gbase02 | RHEL 7.3 | 10.211.55.101 | 2GB | RHEL7.3-x86_64-9.5.2.39 |
| gbase03 | RHEL 7.3 | 10.211.55.102 | 2GB | RHEL7.3-x86_64-9.5.2.39 |
중요: 제공된 설치 패키지는 RHEL 7.3 전용이므로 다른 배포판에서는 작동하지 않을 수 있습니다. 설치 시 "개발 도구(Development Tools)" 그룹이 포함된 GUI 서버 환경을 선택하는 것이 바람직합니다.
설치 파일 준비
필요한 설치 아티팩트는 다음 링크에서 다운로드 가능합니다:
- 다운로드 위치: 바이두 클라우드 (암호: ckrf)
- 포함 내용: 클러스터 코어 패키지, 라이선스 모듈, 관리 도구(GBaseDataStudio), 문서 자료
기초 환경 설정
모든 노드에서 동일하게 수행해야 하는 초기 설정 작업입니다.
1. 방화벽 비활성화
systemctl stop firewalld
systemctl disable firewalld
2. SELinux 비활성화
임시 적용과 영구 적용 모두 수행합니다.
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
3. 전용 사용자 생성
useradd gbase
echo "gbase" | passwd --stdin gbase
4. 설치 디렉터리 생성 및 권한 부여
mkdir -p /opt/gbase
chown -R gbase:gbase /opt/gbase
chmod 755 /tmp
5. 시스템 재부팅
SELinux 변경 사항을 반영하기 위해 모든 노드를 재시작합니다.
reboot
클러스터 설치 절차
모든 호스트가 네트워크 연결 상태이며, SSH 접근이 가능한지 확인 후 진행합니다.
1. 설치 파일 전송 및 압축 해제
주 노드(gbase01)의 /opt 디렉터리에 설치 패키지를 업로드한 후 압축을 풉니다.
cd /opt
tar xfj GBase8a_MPP_Cluster-License-9.5.2.39-redhat7.3-x86_64.tar.bz2
압축 해제 후 /opt/gcinstall 디렉터리가 생성됩니다.
2. 환경 설정 스크립트 분배
환경 변수 설정 스크립트를 모든 데이터 노드에 복사합니다.
cp gcinstall/SetSysEnv.py /opt/
scp /opt/SetSysEnv.py gbase02:/opt/
scp /opt/SetSysEnv.py gbase03:/opt/
3. 각 노드에서 환경 구성 실행
모든 서버에서 아래 명령을 개별적으로 실행합니다.
cd /opt
python SetSysEnv.py --dbaUser=gbase --installPrefix=/opt/gbase --cgroup
4. 설치 옵션 파일 수정
주 노드에서 demo.options 파일을 편집합니다.
su - gbase
cd /opt/gcinstall
vi demo.options
수정 내용 예시:
installPrefix = /opt/gbase
coordinateHost = 10.211.55.100,10.211.55.101,10.211.55.102
coordinateHostNodeID = 100,101,102
dataHost = 10.21.55.100,10.211.55.101,10.211.55.102
dbaUser = gbase
dbaGroup = gbase
dbaPwd = 'gbase'
rootPwd = 'gbase'
5. 클러스터 설치 실행
주 노드에서 무인 설치를 시작합니다.
cd /opt/gcinstall
./gcinstall.py --silent=demo.options
6. 인증 라이선스 등록
설치 직후에는 라이선스 없이 클러스터가 닫힌 상태(CLOSE)로 유지됩니다.
① 지문 정보 추출
cd /opt/gcinstall
./gethostsid -n 10.211.55.100,10.211.55.101,10.211.55.102 -u root -p gbase -f /tmp/finger.txt
② 라이선스 요청 이메일 발송
- 수신처: license@gbase.cn (CC: shenliping@gbase.cn)
- 제목: GBase 8a MPP Cluster v95 License Request
- 내용: 교육 목적, 유효기간 3개월 요청, 첨부파일: finger.txt
③ 라이선스 파일 적용
받은 .lic 파일을 /tmp에 업로드 후 적용합니다.
./License -n 10.211.55.100,10.211.55.101,10.211.55.102 -f /tmp/license_file.lic -u gbase -p gbase
④ 라이선스 상태 확인
./chkLicense -n 10.211.55.100,10.211.55.101,10.211.55.102 -u gbase -p gbase
출력 결과에서 is_valid: yes 여부를 확인합니다.
7. 클러스터 서비스 시작
모든 노드에서 서비스를 활성화합니다.
su - gbase
gcluster_services all start
8. 클러스터 상태 점검
gcadmin
모든 노드가 OPEN 상태인지 확인합니다.
9. 데이터 분산 정책 설정
기본 분산 구성을 생성합니다.
gcadmin distribution gcChangeInfo.xml p 2 d 1 pattern 1
생성된 XML 파일은 이후 재사용 가능합니다.
10. 데이터베이스 초기화 및 테스트
관리자 계정으로 접속하여 초기화 수행:
gccli -u root -p
-- 비밀번호 입력 없이 엔터
initnodedatamap;
샘플 데이터베이스 생성
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE employees (id INT, name VARCHAR(50));
INSERT INTO employees VALUES (1, 'Alice'), (2, 'Bob');
SELECT * FROM employees;
클러스터 제거 절차
환경을 정리하거나 재설치가 필요한 경우 아래 단계를 따릅니다.
1. 서비스 중지
모든 노드에서 실행:
gcluster_services all stop
2. 주 노드에서 제거 스크립트 실행
cd /opt/gcinstall
./unInstall.py --silent=demo.options
스크립트가 자동으로 설치된 컴포넌트를 제거합니다.