#Hive常见故障 #大数据 #生产环境真实案例 #Hive #离线数据库 #整理 #经验总结
说明:此篇总结hive常见故障案例处理方案 结合自身经历 总结不易 +关注 +收藏 欢迎留言
unable to read hiveserver2 config from zookeeper 问题解决方案 请往下翻 多谢!!!
更多Hive案例汇总方案 (点击跳转) :
Hive常见故障多案例FAQ --项目总结(宝典一)
Hive常见故障多案例FAQ--项目总结(宝典二)
目录内容如下:
架构概述
【1】参数及配置类常见故障
【2】任务运行类常见故障
......
unable to read hiveserver2 config from zookeeper
症状
无法读取"Hiveserver2 uri from ZooKeeper",
如下:Exception in thread "main" java.sql.SQLException: org.apache.hive.jdbc.ZooKeeperHiveClientException:
Unable to read HiveServer2 configs from ZooKeeper
原因
这是hive一个常见错误,报错原因多方面,根据以下原因排查。
客户端连接hiveserver时,hiveserver的地址是从ZooKeeper中自动获取,当ZooKeeper连接认证异常时,无法从ZooKeeper中获取正确的hiveserver地址。
在连接zookeeper认证时,需要客户端传入krb5.conf,principal,keytab等相关信息。认证失败有如下几种:
-
user.keytab路径写错。
-
user.principal写错。
-
集群做过切换域名操作但客户端拼接url时使用旧的principal。
-
有防火墙相关设置,导致客户端本身无法通过kerberos认证,Kerberos需要开放的端口。
解决方法
-
确保用户可以正常读取客户端结点相关路径下的user.keytab文件。
-
确保使用的用户的user.principal与指定的keytab文件是对应的。
可通过klist -kt keytabpath/user.keytab查看。
-
如果集群有做过切换域名操作,需要保证url中使用的principal字段是新域名。
如默认为hive/hadoop.hadoop.com@HADOOP.COM,当集群有切换域名的操作时,该字段需要进行相关修改。如域名为xx.com时,则此处应填写hive/hadoop.xx.com@ABC.COM。
-
要确保可以正常的认证可连接hiveserver。
最后
谢谢大家 @500佰