使用jdbc 客户端连接hiveserver 报Login failure for user from keytab conf/user.keytab
(1) 首先确认获取的用户名和keytab文件是否正确,也就是url中user.principal值和user.keytab的keytab文件是否取至于所使用的集群。
(2) 其次确认获取的krb5.conf文件是否正确以及是否有正确设置。 System.setProperty("java.security.krb5.conf", "conf/krb5.conf");
(3) 如果打成jar包放到linux运行,需要注意修改user.keytab和krb5.conf的路径为linux下的目录,并将正确的user.keytab和krb5.conf移至对应的目录下。
使用jdbc 客户端连接hiveserver 报KeeperErrorCode = AuthFailed for /hive/active_hive
(1)客户端与zookeeper服务端之间的系统时间相差超过5分钟导致zookeeper认证失败。调整客户端时间与服务端系统时间相近。
(2)连接hiveserver的url中没有指定zk.principal参数。zk.principal=zookeeper/hadoop。
(3)使用的zookeeper的jar包不是随FI发布jar包,或者是使用的其它jar包中包含同样目录的认证代码。导致class加载的时候加载了错误的类,zookeeper认证失败。
使用beeline客户端连接hiveserver 报KeeperErrorCode = Session expired for /hive/active_hive
缓存在本地的票据已经过期需要使用kinit user 命令重新登录。
使用jdbc客户端连接hiveserver 报faild to parse url: url , format is wrong.
连接的url的格式存在错误,c30中标准的格式为:
原生模式:jdbc:hive2://<host>:<port>/<db>;sess_var_list?hive_conf_list#hive_var_list
增强模式:jdbc:hive2://ha-cluster/<db>;sess_var_list?hive_conf_list#hive_var_list