文档首页/ MapReduce服务 MRS/ 组件操作指南(LTS版)(巴黎区域)/ 使用HBase/ HBase常见问题/ 在启动HBase shell时,为什么会抛出“java.lang.UnsatisfiedLinkError: Permission denied”异常
更新时间:2022-12-14 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中不同的路径。