2

当我启动 hbase shell 时出现此异常。我正在使用 hbase 版本 0.94.10 我在单独的服务器机器上运行它。

引起:ClassLoader.java:-2:in `load': java.lang.UnsatisfiedLinkError: /tmp/jffi1844046871189117608.tmp: /tmp/jffi1844046871189117608.tmp: 无法从共享对象映射段:不允许操作

我尝试用谷歌搜索,发现这可能是一个问题,因为 /tmp 文件夹无法访问。所以我在 hbase-default.xml 文件中更改了 tmp 目录的路径并再次尝试。但仍然是同样的问题。

有人可以帮忙吗?

4

4 回答 4

5

检查是否/tmp folder使用noexec选项安装,重新安装以解决问题。

sudo mount -o remount exec /tmp
于 2013-10-22T08:55:55.127 回答
0

我得到了我的问题的答案。我实际上是在尝试在新服务器上安装 Hbase,结果发现该服务器没有权限。谷歌有一些帖子说如果可以在 tmp 文件夹中创建文件,则意味着该用户可以获得权限。

我按照这个逻辑走,结果证明是不对的。因此,即使您看到在 tmp 文件夹中创建了一些文件,请确保您的系统管理员可以使用这些权限。

于 2013-08-22T05:09:53.357 回答
0

正如大家所说,这个问题是由于 /tmp 文件夹的限制。要解决此问题,请在 hbase 脚本中添加 java 选项 HBASE_OPTS="$HBASE_OPTS -Djava.io.tmpdir=/path_to_some_other_directory"。这将使 hbase 使用这个新目录而不是 /temp 并解决问题。

于 2021-04-08T12:32:05.773 回答
0

执行下面提到的命令以在启动 HBase Shell 时摆脱“java.lang.UnsatisfiedLinkError: in HBase”错误。

mkdir -m 777 /tmp/hbase_java_io_tmp

于 2019-01-11T10:26:42.890 回答