Hive metastore configuration#

The starburst-hive Helm chart configures a Hive Metastore Service HMS and optionally the backing database in the cluster with the values.yaml file detailed in the following sections.

A minimal values file adds the registry credentials and overrides any defaults to suitable values.

HMS needs to be deployed after SEP.

Docker image and registry#

Same as Docker image and registry section for the SEP Helm chart

image:
  repository: "harbor.starburstdata.net/starburstdata/hive"
  tag: "338.0.0"
  pullPolicy: "IfNotPresent"

registryCredentials:
  enabled: false
  registry:
  username:
  password:

Exposing the pod to outside network#

The expose section for the HMS works identical to the SEP server expose section. Differences are isolated to the configured default values. The default type is clusterIp:

expose:
  type: "clusterIp"
  clusterIp:
    name: "hive"
    ports:
      http:
        port: 9083
expose:
  type: "nodePort"
  nodePort:
    name: "hive"
    ports:
      http:
        port: 9083
        nodePort: 30083
expose:
  type: "ingress"
  ingress:
    tls:
      enabled: true
      secretName:
    host:
    path: /
    annotations: {}

Database backend for Ranger#

Internal to the cluster:

database:
  # type is internal | external
  type: internal
  internal:
    image:
      repository: "library/postgres"
      tag: "10.6"
      pullPolicy: "IfNotPresent"
    volume:
      # use one of:
      # - existingVolumeClaim to specify existing PVC
      # - persistentVolumeClaim to specify spec for new PVC
      # - other volume type inline configuration, e.g. emptyDir
      # Examples:
      # existingVolumeClaim: "my_claim"
      # emptyDir: {}
      persistentVolumeClaim:
        storageClassName:
        accessModes:
          - ReadWriteOnce
        resources:
          requests:
            storage: "2Gi"
    resources:
      requests:
        memory: "1Gi"
        cpu: 2
      limits:
        memory: "1Gi"
        cpu: 2
    driver: "org.postgresql.Driver"
    port: 5432
    databaseName: "hive"
    databaseUser: "hive"
    databasePassword: "HivePass1234"

Connect to an external PostgreSQL database.

database:
  type: external
  external:
    # docker container supported drivers: com.mysql.jdbc.Driver or org.postgresql.Driver
    jdbcUrl:
    driver:
    user:
    password:

Other databases beyond PostgreSQL are not supported.

Storage#

hdfs:
  hadoopUserName:
objectStorage:
  # AWS
  awsS3:
    region:
    endpoint:
    accessKey:
    secretKey:
    pathStyleAccess: false
  # Google
  gs:
    cloudKeyFilePath:
  azure:
    # Azure Blob Filesystem
    abfs:
      storageAccount:
      accessKey:
    # Windows Azure Storage Blob
    wasb:
      storageAccount:
      accessKey:
  # Azure Data Lake
  adl:
    oauth2:
      clientId:
      credential:
      refreshUrl:

Server configuration#

heapSizePercentage: 85

resources:
  requests:
    memory: "1Gi"
    cpu: 1
  limits:
    memory: "1Gi"
    cpu: 1

Node assignment#

You can add configuration to determine the node and pod to use:

nodeSelector: {}
tolerations: []
affinity: {}