使用Docker来创建Elasticsearch + Kibana环境

环境

使用官方的Docker容器创建环境。

版本

Elastic Search 5.1

Kibana 5.1

Docker composer 1.8.1

插件

X-Pack -> X-Pack

为了能够从Kibana中查看集群状态,需要安装Elastic Search和Kibana两者。从Elastic Search 5版本开始,相关产品已经整合为Elastic Stack。在此之前,Marvel(监控)、Shield(安全)、Watcher(警报和通知)、Graph(可视化)作为有偿插件分开提供,现在都合并在了一起。

本次安装X-Pack后,仅启用监控功能。

黑色字

为了进行形态素分析,您可以通过插件从 kuromoji 进行安装。

准备 Docker 文件。

以下是可使用的文件种类。

.
┣━━ docker-compose.yml
┣━━ es
┃  ┣━━ Dockerfile
┃  ┗━━ config
┃      ┣━━ elasticsearch.yml
┃      ┣━━ log4j2.properties
┃      ┗━━ scripts (空ディレクトリ)
┗━━ kibana
    ┗━━ Dockerfile

docker-compose.yml 可以用以下的表达方式来改写:

version: '2'
services:
  elasticsearch:
    build: es
    volumes:
        - es-data:/usr/share/elasticsearch/data
        - ./es/config:/usr/share/elasticsearch/config
    ports:
        - 9200:9200
    expose:
        - 9300
    ulimits:
        nofile:
            soft: 65536
            hard: 65536
        # https://github.com/docker-library/elasticsearch/issues/111
        # uliimit
  kibana:
    build: kibana
    links:
        - elasticsearch:elasticsearch
    ports:
        - 5601:5601

volumes:
    es-data:
        driver: local
    • コンテナ外からアクセスを行えるように、Elastics Searchの9200番ポートとKibanaの5601番ポートを portsに指定します。

 

    • システム要件として nofile を 65536 することが書かれている ので ulimits で設定を行います。

 

    • Elastics Searchのデータを残すために データボリュームを割り当てます。

 

    Elastics Searchの設定をカスタマイズするので、設定ファイルを置いてある es/config ディレクトリを マウントします。

/es/Dockerfile 的中文翻译

FROM elasticsearch:5.1

# x-pack をインストール
RUN elasticsearch-plugin  install --batch x-pack

# kuromojiをインストール
RUN elasticsearch-plugin  install analysis-kuromoji

通过将插件名称从“plugin”更改为“elasticsearch-plugin”命令,安装x-pack和kuromoji。

es/config/elasticsearch.yml 的源文件需要进行改写,只需要提供一个选项。

http.host: 0.0.0.0

# Uncomment the following lines for a production cluster deployment
#transport.host: 0.0.0.0
#discovery.zen.minimum_master_nodes: 1

### x-pack functions
xpack.security.enabled: false
xpack.monitoring.enabled: true
xpack.graph.enabled: false
xpack.watcher.enabled: false

我复制了官方容器中的 /usr/share/elasticsearch/config/elasticsearch.yml 文件,并添加了包含在 x-pack 中的功能的启用/禁用选项(xpack.xxx.enabled)。

es/config/log4j2.properties → es/config/log4j2.properties

status = error

appender.console.type = Console
appender.console.name = console
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] %marker%m%n

rootLogger.level = info
rootLogger.appenderRef.console.ref = console

这是官方容器中的/usr/share/elasticsearch/config/log4j2.properties的副本。

基于Kibana的Dockerfile。

FROM kibana:5.1

# x-pack をインストール
RUN kibana-plugin install x-pack

安装x-pack插件。

构建和执行

在存放docker-compose.yml文件的目录中运行docker-compose build命令,如果成功,则使用docker-compose up命令启动。

访问 Kibana 界面

kibana01.PNG
kibana02.PNG
广告
将在 10 秒后关闭
bannerAds