文档首页> MapReduce服务 MRS> 组件操作指南(普通版)> 使用HBase> HBase常见问题> 在启动HBase shell时,为什么会抛出“java.lang.UnsatisfiedLinkError: Permission denied”异常
更新时间:2022-09-30 GMT+08:00

在启动HBase shell时,为什么会抛出“java.lang.UnsatisfiedLinkError: Permission denied”异常

问题

在启动HBase shell时,为什么会抛出“java.lang.UnsatisfiedLinkError: Permission denied”异常?

回答

在执行HBase shell期间,JRuby会在“java.io.tmpdir”路径下创建一个临时文件,该路径的默认值为“/tmp”。如果为“/tmp”目录设置NOEXEC权限,然后HBase shell会启动失败并抛出“java.lang.UnsatisfiedLinkError: Permission denied”异常。

因此,如果为“/tmp”目录设置了NOEXEC权限,那么“java.io.tmpdir”必须设置为HBASE_OPTS/CLIENT_GC_OPTS中不同的路径。