kibana не запускает ошибку при запуске - PullRequest
1 голос
/ 30 января 2020

Я использую kibana7.5.2 в своем приложении

Ниже приведен dockerfile

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"]

и точка входа. sh is

#!/bin/sh
set -e
# Run as user "kibana" if the command is "kibana"
if [ "$1" = 'kibana' ]
then
if [ "$ELASTICSEARCH_URL" ]
        then
                sed -ri "s!^(\#\s*)?(elasticsearch\.hosts: ).*!\2 [ \"$ELASTICSEARCH_URL\" ]!" /usr/share/kibana/config/kibana.yml
        fi

fi
exec "$@"

переменная среды ELASTICSEARCH_URL http://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 run, мой контейнер 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

RUN / usr / share / kibana / bin / kibana 2> & 1 | grep -m 1 "Оптимизация. * Завершение за * секунды на этой конкретной линии и даже после 3 часов docker сборка не продолжается.

Я хочу знать, почему я получаю эту ошибку.

Какое значение имеет эта конкретная строка

Как сделать контейнер из кибаны вверх

Если Я должен добавить эту конкретную строку, то, как сделать это быстро построить. сборка не была завершена ни разу: (

Пожалуйста, помогите мне в этом.

Я очень плохо знаком с кибаной и застрял. Мне нужно собрать контейнер с помощью кибаны 7.5.2. Любая ранняя помощь будет очень признательна

Заранее спасибо

Примечание: я пробовал с kibana 7.5.1 aswel. Получение такой же проблемы.

1 Ответ

1 голос
/ 11 февраля 2020

Используемый вами dockerfile, кажется, создает образ из базовой лицензии c Kibana download (которая включает в себя X-Pack), а затем вручную удаляет каталог x-pack. Когда плагины, такие как те, что находятся в каталоге x-pack, отключены, Kibana необходимо перестроить все javascript комплекты. Этот процесс, известный как оптимизатор, требует очень много памяти и зависит от размера базы кода, поэтому необходимый объем памяти может изменяться между выпусками.

Существует несколько вариантов:

  1. Вы можете попытаться создать свой файл из выпуска OSS Kibana, он не включает плагины x-pack и не требует перекомпоновки javascript пакетов https://www.elastic.co/downloads/past-releases/kibana-oss-7-5-2
  2. Выделите больше памяти, 4 ГБ должно быть достаточно.
  3. Создайте промежуточное изображение с минимум 4 ГБ памяти. После сборки для запуска образа больше не требуется такой большой объем памяти.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...