【发布时间】:2018-03-14 13:38:38
【问题描述】:
我正在尝试在 rpi3 上运行 ELK 堆栈的容器化 Elasticsearch。 docker hub 上没有现有的图像,所以我试图从头开始构建一个。 我使用Dockerfile 作为基础并将基础映像更改为resin/rpi-raspbian。但是,我遇到了几个问题:
- 对于 ES 5.4.0+,ES 进程无法启动,因为弹性捆绑的 jar 文件中缺少 libjnidispatch.so(错误:未找到本机库 (com/sun/jna/linux-arm/libjnidispatch.so)在资源路径中)
- 因此,我改为降级到 se v5.3.2。我解决了 jna 问题,但 ES 仍然无法引导,因为由于运行时异常(seccomp 不可用:'arm' 架构不受支持)
Elasticsearch 日志如下。 [2017-10-03T13:05:44,366][WARN][o.e.b.JNANatives] 无法安装系统调用过滤器: java.lang.UnsupportedOperationException: seccomp 不可用: 'arm' 架构不受支持
附:我已经将堆大小减少到 512m。
我应该做些什么来实现这一点?谢谢。
【问题讨论】:
-
Elasticsearch 在 JVM 上运行,所以这应该会有所帮助:stackoverflow.com/questions/14635999/…
-
谢谢。我较早地发现了该线程并帮助我缩小了第一次失败的原因(v5.4.0+)。有一个弹性捆绑的 jna.jar,它不包含用于基于 arm 的操作系统的 libjnidispatch.so。因此,我在自定义 jna 发生之前降级到 v.5.3.2(当前)。然后我被困在第二个问题上。
-
不要认为它们是相关的。 #14337 是指文件系统级别的错误并引发错误“未找到安装点”。但是,我的情况是 ES 没有通过 SystemFilter 检查 b/c ES v5 似乎不支持 arm arch。
标签: docker elasticsearch raspberry-pi3