Elasticsearch | 利用 Docker 快速搭建

5,419 阅读2分钟

本文记录使用 Docker 快速搭建 ElasticSearch 和 Kibana,主要用于学习测试。

Elasticsearch 单节点搭建

1、拉取镜像

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.13.4

2、启动单节点

docker run -d --name elasticsearch-single -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" docker.elastic.co/elasticsearch/elasticsearch:7.13.4
  • -d 后台运行。
  • --name 指定容器名称为 elasticsearch-single。
  • discovery.type=single-node 设置为指定节点为单节点发现以便绕过ES的引导检查。
  • ES_JAVA_OPTS=-Xms512m -Xmx512m 设置JVM堆初始内存和最大可用内存为512M,两值设置成一样,以避免每次垃圾回收完成后JVM重新分配内存。由于 es 默认需要 2G 内存, 如果不设置该环境变量,设备配置低的话,会导致内存不足。

3、查看容器

docker ps
或
docker ps -a

可以看到容器状态STATUS为UP,说明启动成功了~

4、浏览器访问

5、进入容器

docker exec -it elasticsearch-single bash

6、修改配置

vi /config/elasticsearch.yml
----------------------------------------------------------------------------------------------------
#添加内容
node.name: 'node-1'

ESC+:wq 保存退出~

7、退出容器

exit

或者快捷键 Control+D

8、重启容器

docker restart elasticsearch-single

9、再次浏览器访问

可以看到配置发生了变更~

Kibana 安装

1、拉取镜像

docker pull kibana:7.13.4

2、启动容器

docker run -d --name kibana-5601 -p 5601:5601 -e "ES_JAVA_OPTS=-Xms256m -Xms256m" kibana:7.13.4

3、查看容器

docker ps -a

可以看到容器状态STATUS为UP,说明启动成功了~

4、访问浏览器地址

http://localhost:5601/

如果页面出现:Kibana server is not ready yet,说明Kibana没有找到ES节点,需要进行相关配置。

5、进入 Kibana 容器

docker exec -it kibana-5601 bash

6、修改配置

vi config/kibana.yml
----------------------------------------------------------------------------------------------------
# 修改你配置文件中的elasticsearch.hosts,改成你自己的服务器的ip地址
server.host: "0"
elasticsearch.hosts: [ "http://192.168.20.56:9200" ]
monitoring.ui.container.elasticsearch.enabled: true

修改完成后 esc wq保存~

7、Control+D 退出容器

8、重启容器

docker restart kibana-5601

9、访问浏览器地址

其他

学习 Docker:传送门