Я не могу подключиться к Hive через Hive2 действие oozie. jdbcUrl включает обнаружение службы zooKeeper. Моя платформа данных — Hortonworks 2.6.
Первоначально я пытался подключиться к beelne через скрипт Python, и этот скрипт выполнялся действием оболочки oozie. Но не смог этого сделать. Поэтому я попытался вместо этого использовать действие hive2. Но даже это не работает. jdbcURL для билайна не имеет SSL. В нем включено обнаружение службы zooKeeper.
<workflow-app xmlns="uri:oozie:workflow:0.3" name="hive2-wf">
<start to="hive2-node"/>
<action name="hive2-node">
<hive2 xmlns="uri:oozie:hive2-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<jdbc-url>${jdbcURL}</jdbc-url>
<script>table_create.hql</script>
</hive2>
<ok to="end"/>
<error to="fail"/>
</action>
<kill name="fail">
<message>Hive2 (Beeline) action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end"/>
Ошибка, с которой я сталкиваюсь, это org.apache.hive.jdbc.HiveConnection: Ошибка открытия сеанса.
Я пробовал с нижеприведенными свойствами. Но все равно это не работает: oozie.use.system.libpath=true oozie.libpath= hdfs://host:8020/user/oozie/share/lib/lib_20180801150051 oozie.wf.application.path=hdfs://host /пользователь/пид/hive2
ПУТЬ ДЕЙСТВИЯ SHARELIB#
oozie.action.sharelib.for.hive=hive,hcatalog,sqoop jdbcURL=jdbc:hive2://хост:2181(кворум Zookeeper) /;serviceDiscoveryMode=zooKeeper; zooKeeperNamespace=hiveserver2 hive_query=table_creation.hql
Еще я заметил одну вещь. Но не знаю, насколько это актуально. URL-адрес JDBC, который я использую, имеет три разных кворома зоопарка: jdbcURL= jdbc:hive2://host1:2181,host2:2181,host3:2181/< /strong> ;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2
Но когда я запускаю рабочий процесс oozie, он использует другой порт: подключение к jdbc:hive2://host1:2181,host2:2181,host3:2181/;serviceDiscoveryMode =zooKeeper;zooKeeperNamespace=hiveserver2 Ошибка: не удалось установить соединение с jdbc:hive2://host1:10001/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2: Код ответа HTTP: 401 (состояние = 08S01, код = 0)