Skip to content

Latest commit

 

History

History
112 lines (81 loc) · 2.76 KB

File metadata and controls

112 lines (81 loc) · 2.76 KB

Open Data Platform

확장 가능한 개방형 Data Platform

Installation

Ambari

모든 OS에 관련 패키지를 설치합니다.

dnf install -y java-17-openjdk-devel
postgresql-setup initdb
rpm -Uvh *.rpm

PostgreSQL에서 Ambari용 DB를 생성합니다.

-- 1. 사용자(Role) 생성
CREATE USER ambari WITH PASSWORD 'ambari';

-- 2. 데이터베이스 생성 (소유자를 ambari로 지정)
CREATE DATABASE ambari OWNER ambari;

-- 3. 모든 권한 부여
GRANT ALL PRIVILEGES ON DATABASE ambari TO ambari;

-- 4. (선택사항) Schema 권한 부여 (PostgreSQL 15 버전 이상 대응)
-- DB 접속 후 실행해야 합니다: \c ambari
GRANT ALL ON SCHEMA public TO ambari;

Ambari DB의 권한을 pg_hba.conf 파일에 다음과 같이 설정합니다. 다음의 설정은 PostgreSQL 16 기준입니다.

local   all             all                                     scram-sha-256
host    all             all             127.0.0.1/32            scram-sha-256
host    ambari          ambari          0.0.0.0/0               scram-sha-256

psql을 이용하여 스키마를 초기화 합니다.

psql
\i /var/lib/ambari-server/resources/Ambari-DDL-Postgres-CREATE.sql

필요시 모든 테이블의 권한을 변경합니다.

psql -d ambari

-- 실행하면 각 테이블의 소유주를 변경하는 SQL 문장들이 결과로 나옵니다.
SELECT 'ALTER TABLE ' || schemaname || '."' || tablename || '" OWNER TO ambari;'
FROM pg_tables
WHERE schemaname = 'public';

-- 1. 데이터베이스 연결 확인 (\c ambari)
-- 2. 스키마 소유주 변경
ALTER SCHEMA public OWNER TO ambari;

-- 3. 모든 테이블, 시퀀스, 함수의 소유권 및 권한 부여
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO ambari;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO ambari;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO ambari;

Ambari 서버를 초기화 합니다.

ambari-server setup -s \
  -j /usr/lib/jvm/java-17-openjdk \
  --ambari-java-home /usr/lib/jvm/java-17-openjdk \
  --stack-java-home /usr/lib/jvm/java-17-openjdk \
  --database=postgres \
  --databasehost=localhost \
  --databaseport=5432 \
  --databasename=ambari \
  --databaseusername=ambari \
  --databasepassword=ambari

Ambari Server의 IPv6 비활성화를 다음과 같이 처리합니다.

vi /var/lib/ambari-server/ambari-env.sh
AMBARI_JVM_ARGS+="-Djava.net.preferIPv4Stack=true"

OS에서는 다음과 같이 설정합니다.

vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

sysctl -p

다음과 같이 서비스를 시작합니다.

systemctl enable postgresql
systemctl start postgresql

systemctl enable ambari-server
systemctl restart ambari-server

MPack