клиент beeline jdbc - нужны ли ему данные для подключения к Metastore JDBC?

Я использовал Hive CLI, то есть «улей»; прочитав немного больше, я узнал, что cli «hive» устарел, и предпочтительный способ взаимодействия с HIVE — использование «beeline», который является клиентом jdbc, который подключается к hiverserver2.

Я создал кластер из 5 узлов, а «база данных MetaStore» (то есть MySQL) работает на физическом сервере с IP-адресом, скажем, «11.22.33.44». (не записывая фактические IP-адреса)

«hiveserver2» работает на другом физическом сервере, 55.66.77.88 (не записывая фактические IP-адреса).

Теперь, когда я хочу подключиться к HIVE с помощью «hiveserver2», он запрашивает URL-адрес базы данных.

Является ли этот URL-адрес базы данных тем же, который мы можем подключить к «базе данных MetaStore» (в моем случае MySQL)?

Почему он должен запрашивать URL-адрес базы данных? Насколько я понимаю, он подключается к «hiveserver2» (который не является сервером базы данных), поэтому не должен ли он запрашивать хост, номер порта, на котором работает hiveserver2?


person CuriousMind    schedule 13.04.2018    source источник


Ответы (1)


Если ваш сервер улья работает локально, вы должны получить к нему доступ следующим образом.

beeline -u jdbc:hive2://localhost:10000

Замените localhost на IP-адрес/имя сервера Hive, а не на хранилище метаданных.

beeline -u jdbc:hive2://55.66.77.88:some_port -n someuser -p somepass
person Bala    schedule 13.04.2018
comment
Если я правильно понял, нам нужно указать IP:PORT сервера hiveserver2. Но как насчет идентификатора пользователя и пароля? Это идентификатор пользователя, пароль фактической базы данных (например, MySql) или какой идентификатор пользователя? Я читал, что hiveserver2 может пересылать запросы от имени клиента, так о каком пользователе идет речь? Можете ли вы помочь объяснить это? - person CuriousMind; 13.04.2018
comment
@Curious HiveServer2 не делится пользователями с хранилищем метаданных. Учетные записи пользователей зависят от того, какие параметры учетных данных вы указали для Hive, например, используя Kerberos или LDAP, но они ближе всего сопоставляются с пользователями HDFS, а не с пользователями базы данных. - person OneCricketeer; 15.04.2018
comment
@cricket_007: спасибо за комментарий. Таким образом, клиенты, которые подключаются к hiveserver2, не используют фактические учетные данные БД; спасибо за разъяснения; и спасибо за ответы на другие мои вопросы - person CuriousMind; 15.04.2018