Help Center/ MapReduce Service/ Component Operation Guide (Normal)/ Using HBase/ Common Issues About HBase/ What Should I Do If Error Message "java.lang.UnsatisfiedLinkError: Permission denied" Is Displayed When I Start the HBase Shell?
Updated on 2024-12-11 GMT+08:00

What Should I Do If Error Message "java.lang.UnsatisfiedLinkError: Permission denied" Is Displayed When I Start the HBase Shell?

Question

Why does the "java.lang.UnsatisfiedLinkError: Permission denied" exception occur when the HBase Shell is started?

Answer

During the execution of HBase Shell, JRuby creates a temporary file in java.io.tmpdir. The default path is /tmp. If the NOEXEC permission is set for the /tmp directory, the HBase Shell fails to be started and the error message "java.lang.UnsatisfiedLinkError: Permission denied" is displayed.

In this case, java.io.tmpdir must be set to a different path in HBASE_OPTS/CLIENT_GC_OPTS.