如何在配置单元中获取数据库用户名和密码

t1qtbnec  于 2021-05-30  发布在  Hadoop
关注(0)|答案(2)|浏览(564)

我正在编写jdbc程序来连接配置单元数据库。我想用户名和密码给它在连接的网址。
我不知道如何使用hiveql获取用户名和密码。有人能帮我吗??

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
pinkon5k

pinkon5k1#

要获取配置单元用户名和密码,请转到 hive-site.xml 搜索 javax.jdo.option.ConnectionUserName 以及 javax.jdo.option.ConnectionPassword . 这些属性的值分别是您的配置单元用户名和密码。
(默认值为 APP 以及 mine 可在中找到的用户名和密码 hive-default.xml )
在这种情况下,如果您在hive-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>

注意:我在mysql中为hive提供了一个名为hadoop的数据库。这就是为什么 javax.jdo.option.ConnectionURLjdbc:mysql://localhost:3306/hadoop .
设置或找到用户名和密码后,请按以下方式使用:

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

使用你的 hive database name 而不是 default . 希望对你有帮助!!!!

pbpqsu0x

pbpqsu0x2#

配置单元默认用户名为配置单元
为hiveserver2使用下面的连接字符串

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

对于hiveserver1,默认值为空,hiveserver2还可以使用空用户名和密码。

jdbc:hive://localhost:10000/default

驱动程序名称: org.apache.hadoop.hive.jdbc.HiveDriver 用户名和密码为空
阅读使用直线连接到Hive的链接

相关问题