docker安装elasticsearch和kibana

这篇记录用 Docker 在服务器上安装 Elasticsearch + Kibana(版本 7.17.23)的一套可复用步骤。

背景

  • 项目里用到了 Elasticsearch,需要同时装 Kibana 方便可视化
  • 本机也能装,但我把环境统一放到 Docker,便于迁移/重装

准备镜像

准备网络

Elasticsearch 和 Kibana 放在同一 Docker 网络里:

1
docker network create es-net

安装 Elasticsearch

1) 拉取镜像

  • 按阿里云镜像仓库的操作指南拉取

2) 准备数据目录与配置

1
mkdir -p es/{config,data,logs,plugins}
  • 注意:data / logs / plugins 目录需要权限,否则容器可能启动失败

es/config/elasticsearch.yml 写入:

1
2
3
4
5
6
7
cluster.name: "docker-cluster"
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

3) 启动容器

下面写成一条命令更清晰:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
docker run -dit \
  --name es \
  --net es-net \
  -m 1GB -e "ES_JAVA_OPTS=-Xms512m -Xmx1024m" \
  -e "discovery.type=single-node" \
  -v ./softTools/es/data:/usr/share/elasticsearch/data \
  -v ./softTools/es/plugins:/usr/share/elasticsearch/plugins \
  -v ./softTools/es/logs:/usr/share/elasticsearch/logs \
  -v ./softTools/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
  --privileged \
  -p 9200:9200 \
  elasticsearch

4) 验证

  • 浏览器访问:http://ip:9200

安装 Kibana

1) 准备配置文件

1
mkdir -p kibana/config

kibana/config/kibana.yml 写入:

1
2
3
4
5
6
7
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: ["http://elasticsearch:9200"]
monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"
elasticsearch.username: "xxxxxx"
elasticsearch.password: "xxxxxxx"

2) 启动容器

1
2
3
4
5
6
7
docker run -dit \
  --name kibana \
  --net es-net \
  -v ./softTools/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
  -e ELASTICSEARCH_HOSTS=http://es:9200 \
  -p 5601:5601 \
  kibana

3) 验证

  • 浏览器访问:http://ip:5601

安装分词插件

1) 下载插件

2) 解压到 plugins

1
2
3
4
5
6
7
8
mkdir -p es/plugins/{ik,pinyin}
cd es/plugins/ik
wget https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-7.17.23.zip
unzip elasticsearch-analysis-ik-7.17.23.zip

cd ../pinyin
wget https://release.infinilabs.com/analysis-pinyin/stable/elasticsearch-analysis-pinyin-7.17.23.zip
unzip elasticsearch-analysis-pinyin-7.17.23.zip
  • 注意:解压完成后要删掉 zip,否则 Elasticsearch 可能启动失败

3) 重启 Elasticsearch

1
docker restart es
使用 Hugo 构建
主题 StackJimmy 设计