4.4.2. Hive 메타 저장소에 MySQL 또는 PostgreSQL 사용

미터링의 기본 설치는 Derby라는 포함된 Java 데이터베이스를 사용하도록 Hive를 구성합니다. 이는 더 큰 환경에 적합하지 않으며 MySQL 또는 PostgreSQL 데이터베이스로 바꿀 수 있습니다. 배포에 Hive의 MySQL 또는 PostgreSQL 데이터베이스가 필요한 경우 다음 예제 설정 파일을 사용합니다.

Hive 메타 저장소에서 사용하는 데이터베이스를 제어하는 데 사용할 수 있는 설정 옵션은 url,driver, secretName 의 세 가지입니다.

사용자 이름과 암호를 사용하여 MySQL 또는 Postgres 인스턴스를 만듭니다. 그런 다음 OpenShift CLI 또는 YAML 파일을 사용하여 시크릿을 생성합니다. 이 보안에 대해 생성하는 secretName은 MeteringConfig 리소스의 spec.hive.spec.db.secretName 필드에 매핑되어야 합니다.

OpenShift CLI에서 시크릿을 생성하려면 다음 명령을 사용할 수 있습니다.

$ 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
1
시크릿의 이름입니다.
2
base64로 인코딩된 데이터베이스 사용자 이름.
3
base64로 인코딩된 데이터베이스 암호입니다.

아래의 설정 파일을 사용하여 Hive에 MySQL 데이터베이스를 사용합니다.

spec:
  hive:
    spec:
      metastore:
        storage:
          create: false
      config:
        db:
          url: "jdbc:mysql://mysql.example.com:3306/hive_metastore"
          driver: "com.mysql.jdbc.Driver"
          secretName: "REPLACEME" 1
1
base64로 암호화된 사용자 이름과 암호 데이터베이스 자격 증명을 포함하는 시크릿의 이름입니다.

spec.hive.config.url을 사용하여 추가 JDBC 매개변수를 전달할 수 있습니다. 자세한 내용은 MySQL Connector/J 문서를 참조하십시오.

아래의 설정 파일 예제를 사용하여 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"

URL을 사용하여 추가 JDBC 매개변수를 전달할 수 있습니다. 자세한 내용은 PostgreSQL JDBC 드라이버 설명서를 참조하십시오.