Режим высокой доступности в Hive

Режим высокой доступности (High Availability, HA) включен в Hive по умолчанию.

Если быть более точным, то в режиме HA работает компонент HiveServer2. При добавлении новых компонентов HiveServer2 в кластер ZooKeeper автоматически регистрирует их и обновляет JDBC-строку подключения.

Строка JDBC-подключения в режиме HA

В HA-режиме строка JDBC-подключения содержит ZooKeeper ensemble. Актуальная строка JDBC-подключения доступна на странице Hive Info в ADCM (ClustersServicesHiveInfo).

Ниже показаны примеры строк JDBC-подключения в зависимости от используемого механизма безопасности.

  • HA без SSL/Kerberos

  • HA с SSL

  • HA с SSL+Kerberos

Режим высокой доступности, незащищенное соединение без SSL/Kerberos:

jdbc:hive2://<cluster_host_0>:2181,<cluster_host_1>:2181,<cluster_host_N>:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=arenadata/cluster/<cluster_id>/<namespace>

Режим высокой доступности, защищенное соединение c SSL:

jdbc:hive2://<cluster_host_0>:2181,<cluster_host_1>:2181,<cluster_host_N>:2181;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=arenadata/cluster/<cluster_id>/<namespace>;ssl=true;sslTrustStore=/tmp/truststore.jks;trustStorePassword=bigdata

Режим высокой доступности, защищенное соединение c SSL+Kerberos:

jdbc:hive2://<cluster_host_0>:2181,<cluster_host_1>:2181,<cluster_host_N>:2181;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=arenadata/cluster/<cluster_id>/<namespace>;ssl=true;sslTrustStore=/tmp/truststore.jks;trustStorePassword=bigdata;principal=hive/_HOST@EXAMPLE.COM

Где EXAMPLE.COM — ваш Kerberos realm, например RU-CENTRAL1.INTERNAL.

ПРИМЕЧАНИЕ
Вы также можете установить соединение с HiveServer2 напрямую, в non-HA режиме, используя порт Thrift (по умолчанию 10000). В таком случае строка JDBC-подключения имеет вид jdbc:hive2://<cluster_host>:10000/.
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней