我有一个2.0.2版本的3节点分布式Hbase群集,它可以正常工作。在从Same Ambari安装apache Ranger之后,我刚刚启用了Hbase插件,然后立即重新启动了HBase。两个HBase主服务器都在使用以下日志。
ERROR [Thread-16] master.HMaster: ***** ABORTING master ,16000,1585061451214: The coprocessor org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor threw java.lang.UnsatisfiedLinkError: /run/hbase/.cache/JNA/temp/jna2781046120401699711.tmp: /run/hbase/.cache/JNA/temp/jna2781046120401699711.tmp: failed to map segment from shared object *****
ERROR [Thread-16] master.HMaster: Failed to become active master
java.lang.NullPointerException
at org.apache.hadoop.hbase.master.HMaster.startProcedureExecutor(HMaster.java:1405)
at org.apache.hadoop.hbase.master.HMaster.startServiceThreads(HMaster.java:1310)
at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:930)
at org.apache.hadoop.hbase.master.HMaster.startActiveMasterManager(HMaster.java:2234)
at org.apache.hadoop.hbase.master.HMaster.lambda$run$0(HMaster.java:570)
at java.lang.Thread.run(Thread.java:745)
如果我禁用插件,一切正常
最佳答案
我们遇到了类似的问题,堆栈跟踪与您的栈跟踪几乎相同。像您一样,只有在插件被禁用的情况下,所有内容才起作用。
对我们来说,原因是/run
挂载具有noexec
标志,该标志阻止了tmp文件在其中执行。解决方案是使用以下方法在Hbase主节点上重新挂载/run
:sudo mount -o remount,exec /run
此后,我们重新启动了HBase服务,并且一切再次正常运行。
请注意,重新启动计算机后将不会保存此修改后的安装。为了使其持久,您可能需要使用fstab
之类的东西
关于hadoop - 启用Ranger插件后,HBase主机崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60986064/