4.4.2. Hive 메타 저장소에 MySQL 또는 PostgreSQL 사용
미터링의 기본 설치는 Derby라는 포함된 Java 데이터베이스를 사용하도록 Hive를 구성합니다. 이는 더 큰 환경에 적합하지 않으며 MySQL 또는 PostgreSQL 데이터베이스로 바꿀 수 있습니다. 배포에 Hive의 MySQL 또는 PostgreSQL 데이터베이스가 필요한 경우 다음 예제 설정 파일을 사용합니다.
데이터베이스를 제어하는 데 사용할 수 있는 세 가지 설정 옵션은 url
, driver
및 secretName
입니다.
사용자 이름과 암호로 MySQL 또는 Postgres 인스턴스를 생성합니다. 그런 다음 OpenShift CLI(oc
) 또는 YAML 파일을 사용하여 시크릿을 생성합니다. 이 시크릿에 대해 생성하는 secretName
은 MeteringConfig
오브젝트 리소스의 spec.hive.spec.db.secretName
필드에 매핑해야 합니다.
절차
OpenShift CLI(
oc
)를 사용하거나 YAML 파일을 사용하여 시크릿을 생성합니다.다음 명령을 사용하여 시크릿을 생성합니다.
$ oc --namespace openshift-metering create secret generic <YOUR_SECRETNAME> --from-literal=username=<YOUR_DATABASE_USERNAME> --from-literal=password=<YOUR_DATABASE_PASSWORD>
YAML 파일을 사용하여 시크릿을 생성합니다. 예를 들면 다음과 같습니다.
apiVersion: v1 kind: Secret metadata: name: <YOUR_SECRETNAME> 1 data: username: <BASE64_ENCODED_DATABASE_USERNAME> 2 password: <BASE64_ENCODED_DATABASE_PASSWORD> 3
Hive에 MySQL 또는 PostgreSQL 데이터베이스를 사용하려면 설정 파일을 생성합니다.
Hive에 MySQL 데이터베이스를 사용하려면 아래 설정 파일 예제를 사용합니다. 미터링은 MySQL 서버 버전 5.6, 5.7 및 8.0을 사용하도록 내부 Hive 메타 저장소 구성을 지원합니다.
spec: hive: spec: metastore: storage: create: false config: db: url: "jdbc:mysql://mysql.example.com:3306/hive_metastore" 1 driver: "com.mysql.cj.jdbc.Driver" secretName: "REPLACEME" 2
참고5.6 또는 5.7과 같은 이전 MySQL 서버 버전과 작동하도록 미터링을 구성하는 경우 내부 Hive 메타 저장소를 구성할 때
enabledTLSProtocols
JDBC URL 매개변수를 추가해야 할 수 있습니다.spec.hive.config.url
을 사용하여 추가 JDBC 매개변수를 전달할 수 있습니다. 자세한 내용은 MySQL Connector/J 8.0 문서를 참조하십시오.Hive에 PostgreSQL 데이터베이스를 사용하려면 아래 설정 파일 예제를 사용합니다.
spec: hive: spec: metastore: storage: create: false config: db: url: "jdbc:postgresql://postgresql.example.com:5432/hive_metastore" driver: "org.postgresql.Driver" username: "REPLACEME" password: "REPLACEME"
spec.hive.config.url
을 사용하여 추가 JDBC 매개변수를 전달할 수 있습니다. 자세한 내용은 PostgreSQL JDBC 드라이버 문서를 참조하십시오.