Подключение к улью с использованием Beeline
Я пытаюсь подключиться к улью, установленному на моей машине через клиент Beeline. когда я даю команду beeline и подключаюсь к Hive, клиент запрашивает имя пользователя и пароль
!connect jdbc:hive2://localhost:10000/default
Я понятия не имею, какое имя пользователя и пароль я должен дать. Должен ли я добавлять учетные данные (имя пользователя и пароль) в какой-либо файл конфигурации?
Ответы
Ответ 1
нет имени пользователя и пароля.
!connect jdbc:hive2://localhost:10000/default
Enter username for jdbc:hive2://localhost:10000/default: <press Enter>
Enter password for jdbc:hive2://localhost:10000/default: <press Enter>
Просто нажмите enter. Это работает для меня.
Или попробуйте это.
!connect jdbc:hive2://localhost:10000/default "" "" ""
Ответ 2
Доступ к HIVE через Beeline:
Запуск клиента beeline
beeline --incremental=true
Примечание. Параметр командной строки "-incremental = true" является необязательным, но увеличивает время, в течение которого вы можете оставаться без дела, а не отключать свое соединение.
Подключение к серверу hive2
!connect jdbc:hive2://silver-server-
hive.app.google.com:10000/default
Примечание. Вам будет предложено ввести имя пользователя и пароль. ИСПОЛЬЗОВАТЬ имя пользователя и пароль
beeline> !connect jdbc:hive2:// silver-server-hive.app.google.com:10000/default
scan complete in 3ms
Connecting to jdbc:hive2:// silver-server-hive.app.google.com:10000/default
Enter username for jdbc:hive2:// silver-server-hive.app.google.com:10000/default:suman
Enter password for jdbc:hive2:// silver-server-hive.app.google.com:10000/default: *********
Настройка очереди (если есть)
set mapred.job.queue.name=<your queue name>;
Примечание. Чтобы запускать запросы, вам нужно установить очередь.
Настройка базы данных
USE google_map_data;
Примечание. При выполнении запросов вы должны находиться в базе данных.
Повторное подключение неактивного сеанса
!reconnect jdbc:hive2:// silver-server-hive.app.google.com:10000/default;
Выход из клиента beeline
!quit
Примечания:
- Загрузите beeline, URL и укажите свое имя пользователя и пароль в одной команде:
beeline -u jdbc:hive2:// silver-server-hive.app.google.com:10000\
-n <yourname> -p <yourpassword> --incremental=true**
Основные запросы Beeline
Beeline поддерживает богатый набор функций SQL-запросов.
Получение информации о данных
SHOW DATABASES;
USE <database>;
SHOW TABLES;
DESC <table>;
DESC FORMATTED <table>;
Простые инструкции с ограниченным выбором
SELECT * FROM google_map_city limit 25;
Ответ 3
Использование beeline для размещения сервера, на котором включена Kerberos Security
beeline -u "jdbc:hive2://<Server Ip>:<port>/sample;principal=<hive user>/<Server Ip>@<relam>;retries=3"
пример
beeline -u "jdbc:hive2://10.10.10.10:8071/sample;principal=hive/[email protected];retries=3"
Ответ 4
Вы можете использовать пустые имя пользователя и пароль, как указано в @sravan. Это выполнит запрос в качестве пользователя, в котором работает процесс hiveserver2.
Однако, если вы установили свойство hive.server2.enable.doAs
в свой hive-site.xml или поместили его в hiveconf во время работы hiveserver2, вы можете при желании передать имя пользователя и пароль с помощью подсказки. В этом случае куст выполнит запрос как переданное имя пользователя с использованием заданного пароля. Имя пользователя здесь - системное имя пользователя.
В некоторых сценариях это необходимо - скажем, что вы выполняете процесс hiveserver2 как пользовательский улей, но у вас есть внешняя таблица, определенная с помощью HDFS path/user/alex/table1, которая принадлежит пользователю "alex" и нет другой пользователь имеет доступ на чтение/запись в этом месте. В этом случае выполнение запроса как "hive" - пустым именем пользователя и паролем - не будет работать, поскольку он не сможет получить доступ к каталогу и выбросить исключение, исключенное из него.
Ответ 5
Это идентификатор пользователя и пароль, который используется для входа в кластер. Иногда это учетные данные пограничных узлов, которые вы используете для входа на сервер.
Лучший способ избежать этого - использовать приведенную ниже команду
beeline -u jdbc:hive2://localhost:10000/default
Если вы уже вошли в какой-либо узел с помощью putty, вам не будет предложено ввести какой-либо идентификатор пользователя или пароль.
EDIT
Уловка:
Чтобы избежать повторного ввода всей строки beeline, рекомендуется создать псевдоним в файле bash_profile.
просто добавьте строку ниже в профиле bash (с защитой kerberos, предложенной @Harsimranjit Singh Kler)
beeline -u jdbc:hive2://<hostname>:10000/default;principal=hive/<hostname>@<realm>;ssl=true;
и
Источник bash_profile (source .bash_profile
) и все готово.
В следующий раз просто наберите beeline
и он подключится к серверу hive2
Ответ 6
Да, вы можете установить имя пользователя и пароль в файле hive-site.xml
внутри tge conf
. Учетные данные по умолчанию: APP
/mine
.
как получить имя пользователя и пароль базы данных в улье
Ответ 7
• Загрузите beeline, URL и укажите свое имя пользователя и пароль в одной команде:
**beeline -u jdbc:hive2:// silver-server-hive.app.google.com:10000\
-n <yourname> -p <yourpassword> --incremental=true**