Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Apache Beeline — это клиент Hive, установленный на головных узлах кластера HDInsight. В этой статье описано подключение к HiveServer2 с помощью клиента Beeline, установленного в кластере HDInsight, с использованием разных типов подключений. В ней также описана локальная установка клиента Beeline.
Типы подключений
Из сеанса SSH
При подключении из сеанса SSH к головному узлу кластера можно подключиться к адресу headnodehost на порту 10001.
beeline -u 'jdbc:hive2://headnodehost:10001/;transportMode=http'
Через виртуальную сеть Azure
При подключении клиента к HDInsight через виртуальная сеть Azure необходимо указать полное доменное имя (FQDN) головного узла кластера. Так как подключение устанавливается напрямую к узлам кластера, для подключения используется порт 10001:
beeline -u 'jdbc:hive2://<headnode-FQDN>:10001/;transportMode=http'
Замените <headnode-FQDN> полным доменным именем головного узла кластера. Чтобы найти полное доменное имя головного узла, используйте сведения из документа Управление HDInsight с помощью REST API Apache Ambari.
К кластеру Корпоративного пакета безопасности (ESP) HDInsight с помощью Kerberos
При подключении клиента к кластеру enterprise Security Package (ESP), присоединенному к доменным службам Microsoft Entra на компьютере в той же области кластера, необходимо также указать доменное имя <AAD-Domain> и имя учетной записи пользователя домена с разрешениями на доступ к кластеру <username>:
kinit <username>
beeline -u 'jdbc:hive2://<headnode-FQDN>:10001/default;principal=hive/_HOST@<AAD-Domain>;auth-kerberos;transportMode=http' -n <username>
Замените <username> на имя учетной записи домена с разрешениями на доступ к кластеру. Замените <AAD-DOMAIN> именем идентификатора Microsoft Entra, к которому присоединен кластер. Используйте строку в верхнем регистре для значения <AAD-DOMAIN>. В противном случае учетные данные не будут найдены. При необходимости проверьте /etc/krb5.conf на наличие имен областей.
Чтобы найти URL-адрес JDBC из Ambari, выполните указанные ниже действия.
В веб-браузере перейдите на страницу
https://CLUSTERNAME.azurehdinsight.net/#/main/services/HIVE/summary, гдеCLUSTERNAME— это имя вашего кластера. Убедитесь, что сервер HiveServer2 запущен.Используйте буфер обмена для копирования URL-адреса JDBC HiveServer2.
Через общедоступные или частные конечные точки
При подключении к кластеру с помощью общедоступных или частных конечных точек необходимо указать имя учетной записи входа кластера (по умолчанию admin) и пароль. Например, использование Beeline из клиентской системы для подключения к адресу clustername.azurehdinsight.net. Это подключение устанавливается через порт 443 и шифруется с помощью TLS/SSL.
Замените clustername на имя вашего кластера HDInsight. Замените admin учетной записью для входа в кластер. Для кластеров ESP используйте полное унифицированное имя пользователя (например, user@domain.com). Замените password паролем для учетной записи входа в кластер.
beeline -u 'jdbc:hive2://clustername.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/hive2' -n admin -p 'password'
Или для частной конечной точки:
beeline -u 'jdbc:hive2://clustername-int.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/hive2' -n admin -p 'password'
Частные конечные точки указывают на базовую подсистему балансировки нагрузки, доступ к которой можно получить только из виртуальных сетей с пирингом в том же регионе. Дополнительные сведения см. в разделе об ограничениях для пиринга глобальной виртуальной сети и для подсистем балансировки нагрузки. Вы можете использовать команду curl с параметром -v для устранения проблем с подключением к общедоступным или частным конечным точкам перед использованием Beeline.
Используйте Beeline с Apache Spark
Apache Spark предоставляет собственную реализацию HiveServer2, которая иногда называется сервером Thrift Spark. Эта служба для разрешения запросов использует Spark SQL вместо Hive. Кроме того, возможно повышение производительности в зависимости от запроса.
Через общедоступные или частные конечные точки
Используемая строка подключения немного отличается. Вместо httpPath=/hive2 в ней используется httpPath/sparkhive2. Замените clustername на имя вашего кластера HDInsight. Замените admin учетной записью для входа в кластер. Замените password паролем для входа в учетную запись кластера.
Примечание.
Для кластеров ESP замените admin на полный UPN (например, user@domain.com).
beeline -u 'jdbc:hive2://clustername.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/sparkhive2' -n admin -p 'password'
Или для частной конечной точки:
beeline -u 'jdbc:hive2://clustername-int.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/sparkhive2' -n admin -p 'password'
Частные конечные точки указывают на базовую подсистему балансировки нагрузки, доступ к которой можно получить только из виртуальных сетей с пирингом в том же регионе. Дополнительные сведения см. в разделе об ограничениях для пиринга глобальной виртуальной сети и для подсистем балансировки нагрузки. Вы можете использовать команду curl с параметром -v для устранения проблем с подключением к общедоступным или частным конечным точкам перед использованием Beeline.
Из головного узла кластера или внутри виртуальной сети Azure с использованием Apache Spark
При подключении непосредственно из головного узла кластера или из ресурса в той же виртуальной сети Azure, что и кластер HDInsight, должен использоваться порт 10002 для сервера Spark Thrift вместо 10001. В следующем примере показано, как подключиться непосредственно к головному узлу:
/usr/hdp/current/spark2-client/bin/beeline -u 'jdbc:hive2://headnodehost:10002/;transportMode=http'
Установка клиента Beeline
Хотя Beeline добавляется в головные узлы, может потребоваться локальная установка. Шаги установки для локального компьютера основаны на подсистеме Windows для Linux.
Обновите списки пакетов. Введите следующую команду в оболочке bash:
sudo apt-get updateУстановите Java, если ещё не установлено. Проверку можно выполнить с помощью команды
which java.Если пакет Java не установлен, введите следующую команду:
sudo apt install openjdk-11-jre-headlessОткройте файл bashrc (часто находится в папке ~/.bashrc):
nano ~/.bashrc.Измените файл bashrc. В конце файла добавьте следующую строку:
export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64Нажмите сочетание клавиш CTRL+X, а затем клавишу Y и "ВВОД".
Скачайте архивы Hadoop и Beeline. Введите следующие команды:
wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/hadoop-2.7.3.tar.gz wget https://archive.apache.org/dist/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gzРаспакуйте архивы и введите следующие команды:
tar -xvzf hadoop-2.7.3.tar.gz tar -xvzf apache-hive-1.2.1-bin.tar.gzДалее измените файл bashrc. Вам необходимо определить путь к месту, где были распакованы архивы. Если вы используете подсистему Windows для Linux и выполнили инструкции правильно, путь будет
/mnt/c/Users/user/, гдеuser— это ваше имя пользователя.Откройте файл
nano ~/.bashrc.Измените приведенные ниже команды, указав соответствующий путь, а затем введите их в конце файла bashrc.
export HADOOP_HOME=/path_where_the_archives_were_unpacked/hadoop-2.7.3 export HIVE_HOME=/path_where_the_archives_were_unpacked/apache-hive-1.2.1-bin PATH=$PATH:$HIVE_HOME/binНажмите Ctrl+X, затем Y, и потом Enter.
Закройте и снова откройте сеанс Bash.
Проверьте подключение. Используйте формат подключения через общедоступные или частные конечные точки, указанный выше.
Следующие шаги
- Для примеров использования клиента Beeline с Apache Hive см. Использование Apache Beeline с Apache Hive.
- Дополнительные общие сведения о Hive в HDInsight см. в статье Использование Apache Hive с Apache Hadoop в HDInsight.