2015-03-31 3 views
4

Я пишу программу jdbc для подключения базы данных улья. Я хочу, чтобы имя пользователя и пароль отображались в URL-адресе подключения.Как получить имя пользователя и пароль базы данных в hive

Я не знаю, как получить имя пользователя и пароль с помощью куста QL. Может кто-нибудь мне помочь?

Exception in thread "main" java.sql.SQLNonTransientConnectionException: [DataDirect][Hive JDBC Driver]A value was not specified for a required property: PASSWORD 
    at com.ddtek.jdbc.hivebase.ddcp.b(Unknown Source) 
    at com.ddtek.jdbc.hivebase.ddcp.a(Unknown Source) 
    at com.ddtek.jdbc.hivebase.ddco.b(Unknown Source) 
    at com.ddtek.jdbc.hivebase.ddco.a(Unknown Source) 
    at com.ddtek.jdbc.hive.HiveImplConnection.b(Unknown Source) 
    at com.ddtek.jdbc.hivebase.BaseConnection.b(Unknown Source) 
    at com.ddtek.jdbc.hivebase.BaseConnection.k(Unknown Source) 
    at com.ddtek.jdbc.hivebase.BaseConnection.b(Unknown Source) 
    at com.ddtek.jdbc.hivebase.BaseConnection.a(Unknown Source) 
    at com.ddtek.jdbc.hivebase.BaseDriver.connect(Unknown Source) 
    at java.sql.DriverManager.getConnection(DriverManager.java:571) 
    at java.sql.DriverManager.getConnection(DriverManager.java:215) 
    at hivejdbcconnection.HiveJdbcConnection.main(HiveJdbcConnection.java:33) 
Java Result: 1 
+0

Я получаю выше ошибки, если я использовал имя пользователя «hive» и пароль «». – PMR

+0

Проверьте информацию в файле hive-site.xml. Он имеет имя пользователя и пароль –

ответ

0

улей по умолчанию имя пользователя Hive

использовать ниже строки соединения для hiveserver2

"jdbc:hive2://localhost:10000/default", "hive", "" 

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

jdbc:hive://localhost:10000/default 

Имя драйвера: org.apache.hadoop.hive.jdbc.HiveDriver

Имя пользователя и пароль пустым

прочитал ссылку Connecting to Hive using Beeline

+0

что такое пароль для пользователя 'hive ?? @ sravan' – PMR

+0

пароль просто оставить вот так "" –

+0

Я не использую базу данных по умолчанию. Я создал свою собственную базу данных. Скажите, как получить имя пользователя и пароль для моей базы данных? @saravan – PMR

5

Чтобы получить улья имя пользователя и пароль, перейдите к hive-site.xml и поиск javax.jdo.option.ConnectionUserName и javax.jdo.option.ConnectionPassword. Значения этих свойств - ваше имя и пароль вашего улья соответственно.

(Значения по умолчанию являются APP и mine для имени пользователя и пароля, которые можно найти в hive-default.xml)

В случае, если у вас нет такого свойства в улье site.xml. Затем добавьте эти строки в hive-site.xml:

<property> 
<name>javax.jdo.option.ConnectionUserName</name> 
<value>hiveuser</value> 
</property> 
<property> 
<name>javax.jdo.option.ConnectionPassword</name> 
<value>hivepass</value> 
</property> 
<property> 
<name>javax.jdo.option.ConnectionDriverName</name> 
<value>com.mysql.jdbc.Driver</value> 
</property> 
<property> 
<name>javax.jdo.option.ConnectionURL</name> 
<value>jdbc:mysql://localhost:3306/hadoop</value> 
</property> 

Примечание: У меня есть база данных с именем Hadoop в MySQL для улья. Вот почему значение для javax.jdo.option.ConnectionURL составляет jdbc:mysql://localhost:3306/hadoop.

После установки или найти имя пользователя и пароль, использовать его следующим образом:

Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000/default", "hiveuser", "hivepass"); 

Используйте свой hive database name вместо default. Надеюсь, поможет!!!!

+0

его не сработало для меня :(:(@Rajesh – PMR

+0

Используете ли вы 'MySQL' для подключения jdbc? Если да, то вы необходимо создать базу данных в MySQL.При попытке перезапустить hasoop-процессы после изменения конфигурации? –

+0

Нет, я не использую Mysql для подключения jdbc. Я непосредственно подключаюсь к базе данных hive и распечатываю данные в таблице. @rajesh – PMR

Смежные вопросы