확장 가능한 개방형 Data Platform
모든 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