报错”no enum constant org.apache.impala.thrift.TPrivilegelevel.update“问题解决

#impala元数据同步问题–报错”no enum constant org.apache.impala.thrift.TPrivilegelevel.update"问题解决
###问题出现:
impala集群参数优化后,通过CM管理页面重启impala集群,发现hive表的元数据信息同步不到,在impala节点查询数据,报错找不到数据或连接错误等信息。
###问题排查及解决:
1、impala优化参数只是在CM界面上调整了一些内存参数,扩大内存及线程数,这类操做并不会造成impala服务失败,而且重启impala成功,也无明显报错,所以不是参数优化导致的;
2、在hue连接impala节点上查询hive数据,显示Table not found或database connected error等信息,hue连接hive,同样进行查询,结果正确返回。因此将问题定位到元数据同步所导致;
3、impala catalogd服务负责加载hive元数据至impala的缓存,再通过statestored广播到各个impalad节点上。因此问题可能出现在catalogd加载过程;
4、手动对某一张表执行invalidate metadata,然后通过hue连接impala节点去查询,发现可以查到数据,按照此法对所有表做此操作。。。。。。。。(two huours later…由于表非常多),数据查询缓慢,在依次执行refresh以确保客户第一次查询加快,此操作慢的怀疑人生。。。。(谨慎操做)
5、本以为这样手工刷新,可以确保impala查到所有的表,结果客户端立马报错。。有些表任然看不到表信息…
6、查日志,从impala catalogd服务日志中看到一个java error:"no enum constant org.apache.impala.thrift.TPrivilegelevel.update",从后半句联想出可能是权限导致,因为我们的impala服务权限保存在sentry,因此同步元数据的过程需要加载sentry权限表到缓存中,因此可能是权限没有同步过去…
update,查看impala支持的权限发现impala不支持update、delete权限,需要用这两个权限时授予all权限即可。
7、排查sentry权限表,发现update和delete权限,收回权限,重启catalogd服务,发现一切正常。。。。。
8、问题解决,完美撒花

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值