七、docker安装elasticsearch8.4.1最新版服务器
一、拉取并运行elasticsearch8.4.1镜像
#添加多个国内源
vim /etc/docker/daemon.json
#添加下面的国内源,可根据需要自行添加多个
{
"registry-mirrors": ["http://hub-mirror.c.163.com", "https://registry.docker-cn.com"]
}
#重启docker
systemctl daemon-reload
systemctl restart docker
#拉取elasticsearch:8.4.1镜像,如果使用docker pull elasticsearch只会拉取5.6.12版本的
docker pull elasticsearch:8.4.1
#设置 vm.max_map_count,添加一个选项 vm.max_map_count = 262144
vim /etc/sysctl.conf
sudo sysctl -p
#创建可用的网络elastic
docker network create elastic
#运行elasticsearch:8.4.1
docker run \
--name elasticsearch \
--net elastic \
-p 9200:9200 \
-e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" \
-idt elasticsearch:8.4.1
#进入elasticsearch:8.4.1控制台
docker exec -it elasticsearch /bin/bash
#修改密码
bin/elasticsearch-reset-password -u elastic
#此时控制台会有输出新修改的密码
*59p26rYQoKGHCjwYYqj
运行截图如下:
二、安装Multi Elasticsearch Head
在chrome浏览器点击右上角的三个点,然后选择更多工具中的扩展程序。
打开右上角的开发者选项,然后点击左下角的打开chrome应用商店。
搜索elasticsearch,并点击安装。
安装之后,chrome的右上角就会多一个这样的图标。点击这个图标就可以打开elasticsearch head了。
这里点击New创建一个链接,输入宿主机IP+9200端口号,比如我的https://192.168.31.161:9200。注意这里一定是https而不是http。
查看elasticsearch的版本号为8.4.1。
三、elasticsearch扩充为三个节点的集群
#进入刚才启动的es获取token
docker exec -it elasticsearch /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node
#输出的内容如下
root@hep-server:~# docker exec -it elasticsearch /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node
eyJ2ZXIiOiI4LjQuMSIsImFkciI6WyIxNzIuMTcuMC4yOjkyMDAiXSwiZmdyIjoiOWM0ZjhlZWMxN2YyODBiZjU2ODE4ZTI1MjM2ZGFkOTE2OGExZjFjYzk2MWFmOWU0N2VkYWYwNWE3NTFiYmVlOSIsImtleSI6ImhmWDBRWU1CZWsxMXpQaTRQM3UxOjNmQkVKTXJ2VDJTZWl5X3FZUE5SNFEifQ==
root@hep-server:~#
#集群扩充的run命令如下
docker run \
-e ENROLLMENT_TOKEN="{{上一步获取的token}}" \
-e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" \
--name elasticsearch-0002 \
--net elastic \
-e "node.name=elasticsearch-0002" \
-idt elasticsearch:8.4.1
#启动第二个elasticsearch
docker run \
-e ENROLLMENT_TOKEN="eyJ2ZXIiOiI4LjQuMSIsImFkciI6WyIxNzIuMTcuMC4yOjkyMDAiXSwiZmdyIjoiOWM0ZjhlZWMxN2YyODBiZjU2ODE4ZTI1MjM2ZGFkOTE2OGExZjFjYzk2MWFmOWU0N2VkYWYwNWE3NTFiYmVlOSIsImtleSI6ImhmWDBRWU1CZWsxMXpQaTRQM3UxOjNmQkVKTXJ2VDJTZWl5X3FZUE5SNFEifQ==" \
-e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" \
--name elasticsearch-02 \
--net elastic \
-e "node.name=elasticsearch-02" \
-idt elasticsearch:8.4.1
#启动第三个elasticsearch
docker run \
-e ENROLLMENT_TOKEN="eyJ2ZXIiOiI4LjQuMSIsImFkciI6WyIxNzIuMTcuMC4yOjkyMDAiXSwiZmdyIjoiOWM0ZjhlZWMxN2YyODBiZjU2ODE4ZTI1MjM2ZGFkOTE2OGExZjFjYzk2MWFmOWU0N2VkYWYwNWE3NTFiYmVlOSIsImtleSI6ImhmWDBRWU1CZWsxMXpQaTRQM3UxOjNmQkVKTXJ2VDJTZWl5X3FZUE5SNFEifQ==" \
-e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" \
--name elasticsearch-03 \
--net elastic \
-e "node.name=elasticsearch-03" \
-idt elasticsearch:8.4.1
刷新elasticsearch head可以看到elasticsearch-02和elasticsearch-03节点信息。
四、安装kibana
#拉取kibana:8.4.1镜像
docker pull kibana:8.4.1
docker run \
--name kibana \
--net elastic \
-p 5601:5601 \
-idt kibana:8.4.1
#查看所有容器,然后复制kinaba的容器ID
docker ps -a
#根据kibana的容器id,查看日志
docker logs -f e6db6df178cc
在浏览器输入宿主机IP地址加上5601端口号,我这里是http://192.168.31.161:5601/
。并把上面按照elasticsearch的token粘贴到下面输入框,然后点击Configure Elastic。
这时候会出现验证码的输入框。
在刚刚的kibana的控制台,就会有验证码的提示,如下:
[2022-09-16T11:30:23.582+00:00][INFO ][node] Kibana process configured with roles: [background_tasks, ui]
[2022-09-16T11:30:37.768+00:00][INFO ][http.server.Preboot] http server running at http://0.0.0.0:5601
[2022-09-16T11:30:37.823+00:00][INFO ][plugins-system.preboot] Setting up [1] plugins: [interactiveSetup]
[2022-09-16T11:30:37.826+00:00][INFO ][preboot] "interactiveSetup" plugin is holding setup: Validating Elasticsearch connection configuration…
[2022-09-16T11:30:37.869+00:00][INFO ][root] Holding setup until preboot stage is completed.
i Kibana has not been configured.
Go to http://0.0.0.0:5601/?code=923379 to get started.
Your verification code is: 923 379
我们把验证码输入进去,点击验证。
系统就在验证中啦
验证完成之后,我们这里输入用户名和密码,用户名就是elastic,密码就是第一步创建elasticsearch的密码*59p26rYQoKGHCjwYYqj,复制过来就好。
这里点击Explore on my own。
这就可以进入到kibana的主界面啦。
点击Dev Tools按钮。
这里就可以愉快地操作elasticsearch啦。
大功告成,enjoy your elasticsearch。