kibana 在启动过程中没有开始出现错误
kibana not starting getting error during startup
我在我的应用程序中使用 kibana7.5.2
下面是docker使用的文件
FROM node:10.15.2-alpine
LABEL maintainer "AppInfra"
ENV VERSION 7.5.2
ENV PATH /usr/share/kibana/bin:$PATH
ADD kibana-${VERSION}-linux-x86_64.tar.gz /usr/share/
RUN mv /usr/share/kibana-$VERSION-linux-x86_64 /usr/share/kibana && \
addgroup -g 1111 myuser && \
adduser -D -u 1111 -G myuser myuser && \
echo "http://mynexusurl:8082/main" >> /etc/apk/repositories && \
echo "http://mynexusurl:8082/community" >> /etc/apk/repositories && \
apk add --no-cache su-exec libc6-compat gcompat && \
sed -i 's,NODE="${DIR}/node/bin/node",NODE="/usr/local/bin/node",g' /usr/share/kibana/bin/kibana-plugin && \
sed -i 's,NODE="${DIR}/node/bin/node",NODE="/usr/local/bin/node",g' /usr/share/kibana/bin/kibana && \
rm -rf /usr/share/kibana/node && \
rm -rf /usr/share/kibana/x-pack* && \
chown -R myuser:myuser /usr/share/kibana
COPY kibana.yml /usr/share/kibana/config/kibana.yml
COPY docker-entrypoint.sh /
RUN chmod 755 /docker-entrypoint.sh
USER myuser
#RUN /usr/share/kibana/bin/kibana 2>&1 | grep -m 1 "Optimization of .* complete in .* seconds"
WORKDIR /usr/share/kibana
EXPOSE 5601
#USER myuser
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["kibana"]
并且 entrypoint.sh 是
#!/bin/sh
set -e
# Run as user "kibana" if the command is "kibana"
if [ "" = 'kibana' ]
then
if [ "$ELASTICSEARCH_URL" ]
then
sed -ri "s!^(\#\s*)?(elasticsearch\.hosts: ).*! [ \"$ELASTICSEARCH_URL\" ]!" /usr/share/kibana/config/kibana.yml
fi
fi
exec "$@"
环境变量是
ELASTICSEARCH_URLhttp://clogstore.storage:9200
下面是 kibana.yml 文件
---
elasticsearch.hosts:
- "http://elasticsearch:9200"
logging.verbose: true
server.basePath: /clog
server.host: "0.0.0.0"
server.rewriteBasePath: false
如果我尝试执行 docker 运行 命令,我的 kibana 容器将启动,并在 10 秒内容器停止并出现以下错误
Error: EFAULT: bad address in system call argument, read
at Object.readSync (fs.js:494:3)
at tryReadSync (fs.js:333:20)
at Object.readFileSync (fs.js:362:19)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:20)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.<anonymous> (/usr/share/kibana/node_modules/terser-webpack-plugin/dist/minify.js:8:15)
events.js:174
throw er; // Unhandled 'error' event
^
Error: This socket has been ended by the other party
at Socket.writeAfterFIN [as write] (net.js:396:12)
at PoolWorker.writeEnd (/usr/share/kibana/node_modules/thread-loader/dist/WorkerPool.js:129:20)
at PoolWorker.dispose (/usr/share/kibana/node_modules/thread-loader/dist/WorkerPool.js:273:12)
at WorkerPool.disposeWorkers (/usr/share/kibana/node_modules/thread-loader/dist/WorkerPool.js:370:16)
at WorkerPool.terminate (/usr/share/kibana/node_modules/thread-loader/dist/WorkerPool.js:305:10)
at WorkerPool.disposeWorkers (/usr/share/kibana/node_modules/thread-loader/dist/WorkerPool.js:364:12)
at Timeout.timeout.setTimeout [as _onTimeout] (/usr/share/kibana/node_modules/thread-loader/dist/WorkerPool.js:358:44)
at ontimeout (timers.js:436:11)
at tryOnTimeout (timers.js:300:5)
at listOnTimeout (timers.js:263:5)
at Timer.processTimers (timers.js:223:10)
Emitted 'error' event at:
at Socket.writeAfterFIN [as write] (net.js:399:8)
at PoolWorker.writeEnd (/usr/share/kibana/node_modules/thread-loader/dist/WorkerPool.js:129:20)
[... lines matching original stack trace ...]
at Timer.processTimers (timers.js:223:10)
奇怪的是,如果我取消注释 dockerfile
中的下面一行
运行 /usr/share/kibana/bin/kibana 2>&1 | grep -m 1 "Optimization of .* complete in .* seconds"
我在 7.4.2 kibana 中验证它工作正常,如果我尝试在 kibana 7.5.2 中做同样的事情 docker build 等待在这个特定的行甚至 3 小时后 docker构建没有进行。
我想知道为什么会出现此错误。
这一行的意义是什么
如何组装我的 kibana 容器
如果我应该添加这一行,那么如何让它快速构建。构建甚至一次都没有完成:(
请帮我解决这个问题。
我是 kibana 的新手,我被卡住了。我需要用 kibana 7.5.2 构建我的容器。任何早期帮助将不胜感激
提前致谢
注意:我尝试使用 kibana 7.5.1 aswel。遇到同样的问题。
您使用的 dockerfile 似乎是从基本许可 Kibana 下载(包括 X-Pack)构建映像,然后手动删除 x-pack 目录。当插件(例如位于 x-pack 目录中的插件)被禁用时,Kibana 需要重建所有 javascript 包。这个称为优化器的过程非常占用内存,并且取决于代码库的大小,因此所需的内存量可能会在不同版本之间发生变化。
有几个选项:
- 您可以尝试从 OSS Kibana 版本构建您的文件,这不包括 x-pack 插件并且不需要重建 javascript 包 https://www.elastic.co/downloads/past-releases/kibana-oss-7-5-2
- 分配更多的内存,4GB应该足够了。
- 使用至少 4GB 内存构建一个中间图像。构建完成后,运行 图像不再需要如此高的内存使用量。
我在我的应用程序中使用 kibana7.5.2
下面是docker使用的文件
FROM node:10.15.2-alpine
LABEL maintainer "AppInfra"
ENV VERSION 7.5.2
ENV PATH /usr/share/kibana/bin:$PATH
ADD kibana-${VERSION}-linux-x86_64.tar.gz /usr/share/
RUN mv /usr/share/kibana-$VERSION-linux-x86_64 /usr/share/kibana && \
addgroup -g 1111 myuser && \
adduser -D -u 1111 -G myuser myuser && \
echo "http://mynexusurl:8082/main" >> /etc/apk/repositories && \
echo "http://mynexusurl:8082/community" >> /etc/apk/repositories && \
apk add --no-cache su-exec libc6-compat gcompat && \
sed -i 's,NODE="${DIR}/node/bin/node",NODE="/usr/local/bin/node",g' /usr/share/kibana/bin/kibana-plugin && \
sed -i 's,NODE="${DIR}/node/bin/node",NODE="/usr/local/bin/node",g' /usr/share/kibana/bin/kibana && \
rm -rf /usr/share/kibana/node && \
rm -rf /usr/share/kibana/x-pack* && \
chown -R myuser:myuser /usr/share/kibana
COPY kibana.yml /usr/share/kibana/config/kibana.yml
COPY docker-entrypoint.sh /
RUN chmod 755 /docker-entrypoint.sh
USER myuser
#RUN /usr/share/kibana/bin/kibana 2>&1 | grep -m 1 "Optimization of .* complete in .* seconds"
WORKDIR /usr/share/kibana
EXPOSE 5601
#USER myuser
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["kibana"]
并且 entrypoint.sh 是
#!/bin/sh
set -e
# Run as user "kibana" if the command is "kibana"
if [ "" = 'kibana' ]
then
if [ "$ELASTICSEARCH_URL" ]
then
sed -ri "s!^(\#\s*)?(elasticsearch\.hosts: ).*! [ \"$ELASTICSEARCH_URL\" ]!" /usr/share/kibana/config/kibana.yml
fi
fi
exec "$@"
环境变量是 ELASTICSEARCH_URLhttp://clogstore.storage:9200
下面是 kibana.yml 文件
---
elasticsearch.hosts:
- "http://elasticsearch:9200"
logging.verbose: true
server.basePath: /clog
server.host: "0.0.0.0"
server.rewriteBasePath: false
如果我尝试执行 docker 运行 命令,我的 kibana 容器将启动,并在 10 秒内容器停止并出现以下错误
Error: EFAULT: bad address in system call argument, read
at Object.readSync (fs.js:494:3)
at tryReadSync (fs.js:333:20)
at Object.readFileSync (fs.js:362:19)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:20)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.<anonymous> (/usr/share/kibana/node_modules/terser-webpack-plugin/dist/minify.js:8:15)
events.js:174
throw er; // Unhandled 'error' event
^
Error: This socket has been ended by the other party
at Socket.writeAfterFIN [as write] (net.js:396:12)
at PoolWorker.writeEnd (/usr/share/kibana/node_modules/thread-loader/dist/WorkerPool.js:129:20)
at PoolWorker.dispose (/usr/share/kibana/node_modules/thread-loader/dist/WorkerPool.js:273:12)
at WorkerPool.disposeWorkers (/usr/share/kibana/node_modules/thread-loader/dist/WorkerPool.js:370:16)
at WorkerPool.terminate (/usr/share/kibana/node_modules/thread-loader/dist/WorkerPool.js:305:10)
at WorkerPool.disposeWorkers (/usr/share/kibana/node_modules/thread-loader/dist/WorkerPool.js:364:12)
at Timeout.timeout.setTimeout [as _onTimeout] (/usr/share/kibana/node_modules/thread-loader/dist/WorkerPool.js:358:44)
at ontimeout (timers.js:436:11)
at tryOnTimeout (timers.js:300:5)
at listOnTimeout (timers.js:263:5)
at Timer.processTimers (timers.js:223:10)
Emitted 'error' event at:
at Socket.writeAfterFIN [as write] (net.js:399:8)
at PoolWorker.writeEnd (/usr/share/kibana/node_modules/thread-loader/dist/WorkerPool.js:129:20)
[... lines matching original stack trace ...]
at Timer.processTimers (timers.js:223:10)
奇怪的是,如果我取消注释 dockerfile
中的下面一行运行 /usr/share/kibana/bin/kibana 2>&1 | grep -m 1 "Optimization of .* complete in .* seconds"
我在 7.4.2 kibana 中验证它工作正常,如果我尝试在 kibana 7.5.2 中做同样的事情 docker build 等待在这个特定的行甚至 3 小时后 docker构建没有进行。
我想知道为什么会出现此错误。
这一行的意义是什么
如何组装我的 kibana 容器
如果我应该添加这一行,那么如何让它快速构建。构建甚至一次都没有完成:(
请帮我解决这个问题。
我是 kibana 的新手,我被卡住了。我需要用 kibana 7.5.2 构建我的容器。任何早期帮助将不胜感激
提前致谢
注意:我尝试使用 kibana 7.5.1 aswel。遇到同样的问题。
您使用的 dockerfile 似乎是从基本许可 Kibana 下载(包括 X-Pack)构建映像,然后手动删除 x-pack 目录。当插件(例如位于 x-pack 目录中的插件)被禁用时,Kibana 需要重建所有 javascript 包。这个称为优化器的过程非常占用内存,并且取决于代码库的大小,因此所需的内存量可能会在不同版本之间发生变化。
有几个选项:
- 您可以尝试从 OSS Kibana 版本构建您的文件,这不包括 x-pack 插件并且不需要重建 javascript 包 https://www.elastic.co/downloads/past-releases/kibana-oss-7-5-2
- 分配更多的内存,4GB应该足够了。
- 使用至少 4GB 内存构建一个中间图像。构建完成后,运行 图像不再需要如此高的内存使用量。