2

我有一个 2.0.2 版的 3 节点分布式 Hbase 集群,并且它工作正常。在我从同一个 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)

如果我禁用插件并且一切正常

4

1 回答 1

0

我们遇到了与您的堆栈跟踪几乎相同的类似问题。和你一样,只有在插件被禁用时一切才能正常工作。

对我们来说,原因是/run挂载有一个noexec标志,它阻止了 tmp 文件在其中执行。/run解决方案是使用以下命令在 Hbase 主节点上重新挂载:

sudo mount -o remount,exec /run

在此之后,我们重新启动了 HBase 服务,一切都恢复了。

请注意,重新启动机器后不会保存此修改的安装。为了让它持续存在,您可能需要使用类似的东西fstab

于 2020-07-15T17:26:35.133 回答