Hive PAM无法使用JDBC

时间:2017-08-29 22:04:04

标签: hadoop hive ambari

我正在使用Ambari 2.5.0.3和Hive 1.2.1并使用PAM配置身份验证,遵循此link 但是当我尝试使用jdbc连接到hive时,它会抛出以下错误:

  

WARN jdbc.HiveConnection:无法连接到localhost:10500错误:   无法使用JDBC Uri打开客户端传输:   jdbc:hive2:// localhost:10500:Peer表示失败:验证错误   登录(state = 08S01,code = 0)

使用用户配置单元进行身份验证,但与其他任何用户一起失败。 我尝试登录的用户在hdfs中有一个主文件夹。

有人知道如何解决这个问题吗?

更新

当我尝试登录/ var / log / secure显示时:

  

Sep 1 20:31:36 ip-10-45-1-128 java:pam_securetty(login:auth):不能   确定用户的tty 9月1日20:31:36 ip-10-45-1-128 java:   pam_unix(login:auth):检查通过;用户身份不明9月1日20:31:36   ip-10-45-1-128 java:pam_unix(login:auth):认证失败;   logname = uid = 1001 euid = 1001 tty = ruser = rhost =

虽然我正在使用的用户是1018,但它显示它正在尝试使用系统中的hive uid用户1001登录。

1 个答案:

答案 0 :(得分:1)

如果您仔细阅读了您所遵循的文章内容,那么您会发现只有root用户和属于hive组的用户才能读取/etc/shadow。以下是用于此目的的命令。

2. Make shadow file accessible to hive user
/etc/shadow needs to be readable by hive:
chgrp hive /etc/shadow
chmod 550 /etc/shadow

/ etc / shadow文件可由root用户和来自hive组的用户读取。因此,当除了hive之外的用户尝试使用jdbc进行连接时,身份验证将失败。

理想情况下,将影子文件设置为可读的并不是一个好主意,但如果你让hive连接为所有用户工作,那么影子应该是世界可读的。