ranger对接hbase 处理class not found
hbase 2.1版本在配置ranger插件,重启hbase时,hmaster无法正常启动,日志显示meta region is in state OPENING
此时查看regionserver 中日志报错:
解决方法:
因为regionserver中缺少包,所以master在启动的时候无法正常访问到meta数据,有尝试清掉zk中的元数据后进行重启,但是还是会报错。所以需要解决这个缺少包的问题。
根据类查看缺少jar命令
grep -rn 'org/apache/hadoop/hbase/protobuf/generated/AccessControlProtos$HasPermissionRequest' /opt/hbase-2.4.14/lib/
hbase2.4中有对应类的包,将hbase2.4的包放在2.1版本中,然后重启能正常启动。
cd /opt/hbase #该路径是2.1的安装部署路径 mkdir /tmp/hbase-jar mv lib/hbase-protocol-2.1.0.jar /tmp/hbase-jar/ mv lib/shaded-clients/hbase-shaded-client-2.1.0.jar /tmp/hbase-jar/ mv lib/shaded-clients/hbase-shaded-client-byo-hadoop-2.1.0.jar /tmp/hbase-jar/ mv lib/shaded-clients/hbase-shaded-mapreduce-2.1.0.jar /tmp/hbase-jar/ cp /opt/hbase-2.4.14/lib/hbase-protocol-2.4.14.jar lib/ cp /opt/hbase-2.4.14/lib/shaded-clients/hbase-shaded-client-2.4.14.jar lib/shaded-clients/ cp /opt/hbase-2.4.14/lib/shaded-clients/hbase-shaded-client-byo-hadoop-2.4.14.jar lib/shaded-clients/ cp /opt/hbase-2.4.14/lib/shaded-clients/hbase-shaded-mapreduce-2.4.14.jar lib/shaded-clients/
清理数据
/opt/hbase/bin/hbase-cleanup.sh --cleanAll #需要集群中的core-site.xml、hdfs-site.xml文件,会将zk、hdfs中的数据全部清理。