3.4.6. JNA 临时目录禁止使用 noexec 装载

未匹配的标注

注意:这仅与 Linux 有关

Elasticsearch 使用 Java 本机访问( JNA )库来执行一些平台相关的本机代码,在 Linux 上,在运行时从 JNA 存档中提取支持该库的本机代码。默认情况下,此代码被提取到 Elasticsearch 的临时目录中,该目录默认为/ tmp的子目录。或者,可以使用 JVM 标志 -Djna.tmpdir = <path>控制此位置。由于本机库以可执行文件的形式映射到JVM虚拟地址空间中,因此代码提取到的位置的底层挂载点必须
不能使用noexec装载,因为这会阻止JVM进程能够将此代码映射为可执行文件。在某些加载的 Linux 安装中,这是/ tmp的默认安装选项。表示使用noexec挂载了基础挂载的一种迹象是,JNA 在启动时将无法加载,会导致java.lang.UnsatisfiedLinkerError异常,并带有一条类似failed to map segment from shared object映射段。请注意,在 JVM 版本之间,异常消息可能有所不同。此外,依赖于通过 JNA 执行本机代码的 Elasticsearch 组件将失败,并显示消息because JNA is not available。如果看到此类错误消息,则必须重新挂载用于JNA 的临时目录,以使其不通过noexec进行挂载。

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/elasticsearch73...

译文地址:https://learnku.com/docs/elasticsearch73...

上一篇 下一篇
CrazyZard
贡献者:2
讨论数量: 0
发起讨论 只看当前版本


暂无话题~