본문 바로가기

Hadoop/Apache Hive

Apache Hive 설치 1 ( Postgresql 설치 )

1. Postgresql 설치

Postgresql 11버전을 설치하기 위해 repository를 먼저 적용합니다.

아래 명령어를 실행하면 repository가 적용됩니다.

 

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

 

이후 yum repolist 명령어를 사용하여 확인해보면

 

repolist 적용

 

위 사진과 같이 적용한 결과가 나옵니다. 9.6 ~ 13 버전까지 repolist가 등록되었습니다.

 

성공적으로 repolist가 적용되었다면, 이제 postgresql 11버전을 설치하도록 하겠습니다.

 

yum install postgresql11-server postgresql11-contrib

 

postgresql 설치 목록

 

위 사진과 같이 설치 목록이 나오게 됩니다. 총 4개를 설치해야되지만 자동으로 dependencies에 2개가 등록되어 있으므로 설치합니다.

 

2. Postgresql 초기 설정

- 초기에 계정에 대한 비밀번호 설정이 되어있지 않으므로 계정 설정 및 초기화 과정을 진행해보도록 하겠습니다.

 

다음으로 설치한 파일에 대해 권한을 부여합니다.

chown -R postgres:postgres /usr/pgsql-11/

 

이후 DB를 초기화합니다. ( root 계정으로 진행 )

/usr/pgsql-11/bin/postgresql-11-setup initdb

 

다음 서비스 실행합니다.

systemctl enable postgresql-11

systemctl start postgresql-11

 

이후 postgres 계정으로 로그인 후 psql로 접속합니다.

su - postgres

psql

 

초기에는 postgres 계정에 대해 비밀번호가 적용되어 있지 않으므로 비밀번호를 설정합니다.

alter user postgres with password 'postgres'; ( 비밀번호를 postgres로 설정한다. )

 

 

postgres 초기 설정

 

\q 로 psql에서 나옵니다.

 

방화벽 설정이 되어있는 경우 ( 필요시 )

sudo firewall-cmd --add-service=postgresql -permanent

sudo firewall-cmd -reload

 

위 명령어를 통해 postgresql 를 방화벽에 등록합니다.

 

3. Postgresql 통신 및 보안 설정

 

원격으로 postgresql에 접속을 하기위해서는 별도의 설정이 필요합니다.

$PGDATA/postgresql.conf ( postgresql 설치 경로의 postgresql.conf 파일 ) 에서

listen_address = '*' 로 설정하면 외부에서도 접속이 가능합니다. ( 59번째 줄 )

 

 

설정

 

특정 ip만 접속을 허용하는 보안 설정을 위해서는 pg_hba.conf 파일을 수정해야 합니다.

 

Type            DATABASE            USER         ADDRESS          METHOD
local                 all                    all                                       md5      ( 80번째 줄 )
host                 all                    all            0.0.0.0/0               md5      ( 82번째 줄 )

DATABASE = 접속할 데이터베이스 지정 가능 ( 만약 postgres를 적으면 postgres 데이터베이스에 대한 내용)
USER = 특정 유저 지목 가능
ADDRESS = IP 주소 192.168.0.0/16 으로 적으면 192.168.x.x를 가지는 모든 호스트의 유저가 접속하는 것을 허용

192.168.1.0/32 -> 192.168.1.0 하나만 허용

192.168.1.0/24 -> 192.168.1.(0~255) 2^8 (256) 개수만큼 허용 


md5 -> 유저의 패스워드가 올바르게 입력되었을 경우 데이터베이스에 접속하는 것을 허가한다.

systemctl restart postgresql-11

설정파일 변경했다면 서비스 재시작해야 적용완료.

 

postgresql의 데이터 경로를 변경하려면 아래 링크를 참고해주세요.

https://startdatastudy.tistory.com/55