elasticsearch - 以非root用户身份运行elasticsearch时出现JavaNative错误
问题描述
我在 liferay 门户(边车)中使用弹性搜索。不幸的是,elasticsearch 只能以 root 用户身份启动。否则,我会
org.elasticsearch.bootstrap.JNANatives.trySetMaxNumberOfThreads
在引导时收到 java 本机错误:
V [libjvm.so+0x687142] InterpreterRuntime::resolve_invoke(JavaThread*, Bytecodes::Code)+0x1b2
j org.elasticsearch.bootstrap.JNANatives.trySetMaxNumberOfThreads()V+20
j org.elasticsearch.bootstrap.Natives.trySetMaxNumberOfThreads()V+17
j org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Ljava/nio/file/Path;ZZZ)V+75
我已经检查/更新了当前用户的 ulimit,但似乎JNANatives
不允许执行此方法。该服务以 root 身份启动,但我想避免服务器上的任何 root 进程。有人有类似的问题吗?我该如何调试呢?这里可能是什么问题?
非常感谢
解决方案
现在,我发现了问题并想在这里分享,以便任何有类似问题的人找到可能的提示。我发现层次结构中的一些文件夹,涉及的安装导致一些权限问题。这会导致org.elasticsearch.bootstrap.JNANatives.trySetMaxNumberOfThreads()
. 弹性搜索的Liferay 报告java.io.StreamCorruptedException: invalid type code: 23
。我以为这是由于a ulimit
,但事实并非如此。修复顶级文件夹的挂载/文件夹权限,解决了引导问题。
推荐阅读
- excel - Excel函数根据id和subid重复值
- less - 简单的 LESS mixin 和变量导致编译错误
- jenkins - 管道在 Windows 中无法正常工作
- c# - UPS API DotNetShipping isResidential 不像 isResidential = true
- python-3.x - 使用 Pandas 将数据从行移动到创建的列 - Python
- wordpress - 子目录中的 WordPress 主题文件
- windows - 如何用PowerShell中另一个变量的值替换字符串
- php - MAMP phpMyAdmin 错误访问被拒绝!MySQL说:文档无法连接:无效设置
- swift - 如何从每个 collectionview 单元格中转到另一个视图控制器?
- c# - Google 日历:某些 API 端点上的 401 无效凭据