Билайн не может подключиться к HiveServe2 с режимом аутентификации NOSASL (старый клиент)

Этот вопрос распространен здесь, есть несколько его вкусов. В этом сценарии я настроил HiveServer2 без аутентификации ( NOSASL ), который работает с Python, где я использую библиотеку Impyla для подключения. При подключении через билайн нет возможности получить рабочее соединение.

Билайн заканчивается:

 beeline> !connect jdbc:hive2://127.0.0.1:10000/default/hive
 Error: Could not open client transport with JDBC Uri: jdbc:hive2://127.0.0.1:10000/default/hive: null (state=08S01,code=0)

В журналах HiveServer2 у меня есть:

17/11/16 20:59:35 [HiveServer2-Handler-Pool: Thread-34]: ERROR server.TThreadPoolServer: Thrift error occurred during processing of message.
org.apache.thrift.protocol.TProtocolException: Missing version in readMessageBegin, old client?
    at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:228)
    at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
    at org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56)
    at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:285)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Любые идеи?


person ozw1z5rd    schedule 16.11.2017    source источник


Ответы (1)


Наконец, я нашел решение.

!connect jdbc:hive2://127.0.0.1:10000/default/;auth=noSasl

Используя это, я могу подключиться к HiveServer2. Кроме того, я использую HiveServer2 для разработки, поэтому я запускал процессы под root, и все дерево файловой системы принадлежит root. Из-за этой опции мне нужно использовать пользователя root при входе в HiveServer2 с помощью Beeline:

Connecting to jdbc:hive2://127.0.0.1:10000/default/;auth=noSasl
Enter username for jdbc:hive2://127.0.0.1:10000/default/;auth=noSasl: root
Enter password for jdbc:hive2://127.0.0.1:10000/default/;auth=noSasl: 
Connected to: Apache Hive (version 1.2.2)

Мне не нужно было вводить пароль, так как аутентификации нет вообще. Теперь я могу создавать базы данных и таблицы.

Это «​Сравнение Beeline в интерфейсе командной строки Hive" был действительным справочником по решению этой проблемы.

person ozw1z5rd    schedule 17.11.2017
comment
Как ни странно, моя установка куста EMR завершается сбоем, если не указана переменная сеанса аутентификации или для переменной задано пустое значение или NONE или none. - person dlamblin; 21.11.2018
comment
Какие версии программного обеспечения вы используете? - person ozw1z5rd; 22.11.2018
comment
Я использую EMR 5.16 и 5.18; еще не пробовал 5.19. Они поставляются с Hive 2.3.3. Клиент, который я использовал, говорил, что используется протокол 2.1 бережливого улья, так что, возможно, что-то в этом роде. - person dlamblin; 23.11.2018