Hive PAM 无法使用 JDBC 打开客户端传输
Hive PAM Could not open client transport with JDBC
我将 Ambari 2.5.0.3 与 Hive 1.2.1 一起使用,并使用 PAM 配置了身份验证,然后 link
但是当我尝试使用 jdbc 连接到配置单元时,它会抛出以下错误:
WARN jdbc.HiveConnection: Failed to connect to localhost:10500 Error:
Could not open client transport with JDBC Uri:
jdbc:hive2://localhost:10500: Peer indicated failure: Error validating
the login (state=08S01,code=0)
使用用户 hive 进行身份验证,但对于任何其他用户,它都会失败。
我尝试登录的用户在 hdfs 中有一个主文件夹。
有人知道如何解决这个问题吗?
更新
当我尝试登录时 /var/log/secure 显示:
Sep 1 20:31:36 ip-10-45-1-128 java: pam_securetty(login:auth): cannot
determine user's tty Sep 1 20:31:36 ip-10-45-1-128 java:
pam_unix(login:auth): check pass; user unknown Sep 1 20:31:36
ip-10-45-1-128 java: pam_unix(login:auth): authentication failure;
logname= uid=1001 euid=1001 tty= ruser= rhost=
虽然我使用的用户是 1018,但显示它正在尝试使用系统中的 hive uid 用户 1001 登录。
如果您仔细阅读您遵循的文章内容,那么您会发现您正在使 /etc/shadow
只能被 root 用户和属于 hive 组的用户读取。以下是用于相同的命令。
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 进行连接时,身份验证失败。
理想情况下,这不是让影子文件世界可读的好主意,但如果你已经为所有用户提供了配置单元连接,那么影子应该是世界可读的。
我将 Ambari 2.5.0.3 与 Hive 1.2.1 一起使用,并使用 PAM 配置了身份验证,然后 link 但是当我尝试使用 jdbc 连接到配置单元时,它会抛出以下错误:
WARN jdbc.HiveConnection: Failed to connect to localhost:10500 Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10500: Peer indicated failure: Error validating the login (state=08S01,code=0)
使用用户 hive 进行身份验证,但对于任何其他用户,它都会失败。 我尝试登录的用户在 hdfs 中有一个主文件夹。
有人知道如何解决这个问题吗?
更新
当我尝试登录时 /var/log/secure 显示:
Sep 1 20:31:36 ip-10-45-1-128 java: pam_securetty(login:auth): cannot determine user's tty Sep 1 20:31:36 ip-10-45-1-128 java: pam_unix(login:auth): check pass; user unknown Sep 1 20:31:36 ip-10-45-1-128 java: pam_unix(login:auth): authentication failure; logname= uid=1001 euid=1001 tty= ruser= rhost=
虽然我使用的用户是 1018,但显示它正在尝试使用系统中的 hive uid 用户 1001 登录。
如果您仔细阅读您遵循的文章内容,那么您会发现您正在使 /etc/shadow
只能被 root 用户和属于 hive 组的用户读取。以下是用于相同的命令。
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 进行连接时,身份验证失败。
理想情况下,这不是让影子文件世界可读的好主意,但如果你已经为所有用户提供了配置单元连接,那么影子应该是世界可读的。