contos7 docker启动elasticsearch并部署到本机es集群中(图文详解)(elasticsearch8.1.2)

首先,你需要安装docker

再者,你别的服务器或者本服务器安装了elasticsearch(因为要搭建集群)

这里我就演示一下,把docker里面的es部署到本机的es里面

先look,look我的

本机的es:

 docker:

这里就不说es安装和docker安装的问题了,我们直入本题

首先,我们用docker拉取elasticsearch镜像(因为我本机安装的版本是es:8.1.2,所以我用docker拉取的elasticsearch版本最好也是8.1.2),然后就可以执行docker命令

这个下载可能会需要点时间,因为elasticsearch很大。需要耐心等待一下。

docker pull elasticsearch:8.1.2

下载完成后,我们可以执行下列命名,看看我们下的镜像(从这里就可以看到,这个镜像确实很大)

docker images

好了,镜像拉取完,我们现在对本机的es进行操作,然后进行集群

下面的要进入本机es操作,要注意看哦是本机es,别看懵了 

然后对本机的es,修改一下配置(这里只需要修改一下集群名称就好了,因为用挂载文件的方式修改docker里面的配置文件,我的电脑会报错:device or resource busy

所以我这里就直接把本机的es集群名改成了docker-cluster,使它和docker里面的es的集群名称一致。

  

然后启动本机的es(执行本机的es,不要用root用户,我这里用xiaomaomi用户) 

进到es的bin目录下,然后执行./elasticsearch

./elasticsearch

 启动完成之后,可以把密码改一下(主要是我把密码忘了)

./elasticsearch-reset-password -u elastic -i

然后我们用curl命令测试一下,是否修改和启动成功 

curl --insecure -u elastic:123456 -XGET "https://192.168.111.138:9200/"

 

然后我们可以看一下当前集群节点

curl --insecure -u elastic:123456 -XGET "https://192.168.111.138:9200/_cat/nodes"

我们发现现在只有一个 

 然后,我们生成token,有了这个token就可以让一台新节点自动加入到集群(这里的token时效只有30分钟,所以尽量别墨迹)

./elasticsearch-create-enrollment-token -s node

好了,本机es操作就到这

注意!注意!注意!接下来,是对docker里面es进行操作

对docker里面的es进行启动(各个参数详解:)

-e:指定内部环境变量

ENROLLMENT_TOKEN:用上面生成的token来启动,并自动加入到本机es的集群节点中(注意这个token是你上面生成的那个token,不要填我的)

-p:表示映射端口,因为本机的es已经把9200和9300给占用了,所以在这里给了他别的端口

-d:后台执行

docker run --name elasticsearch -e ENROLLMENT_TOKEN="eyJ2ZXIiOiI4LjEuMiIsImFkciI6WyIxOTIuMTY4LjExMS4xMzg6OTIwMCJdLCJmZ3IiOiI2OGE4YWIzY2Y1NDIwZDJlY2Q4NzMzMzNlMTA0NDJjNWFhM2VlZWY4ODdhOWZlNmY3ZmE4MTZmY2Y4NDMyMzE2Iiwia2V5IjoiMUFoSE5vSUIzVnNzcVR4V09SVUU6bTFQQlYwYXlRVy1vNmJzcm5xdWVZdyJ9" \
-p 9222:9200 \
-p 9333:9300 \
-d elasticsearch:8.1.2

 

我们可以执行一下查看docker进程命令,看看是否运行成功。

docker ps

如果你的为空的话,那就证明,你的docker里面的es出了错误

(如果不为空,直接看下面,修改docker里面es的密码开始看)

然后我们可以查看日志,看看是什么问题

docker logs elasticsearch

如果确实出现了问题(百度搜搜,翻译翻译,看看是什么问题),知道怎么解决后,我们可以关闭并删掉它,重新运行

查看所有进程,因为一会停止和删除要用CONTAINER ID

docker ps -a

 然后就可以执行停止和删除命令了(注意这里的 def0135b3e00填你自己的id)

docker stop def0135b3e00
docker rm def0135b3e00

然后找出问题,修改问题,再回到对docker里面的es进行启动,那部分重新启动即可。

-----------------------------------------分割线(没有错误直接来这)---------------------------------

修改docker里面es的密码,我们需要先进入docker镜像里面。

docker exec -it elasticsearch /bin/bash
cd bin

 然后我们就可以在里面,执行命令修改密码

./elasticsearch-reset-password -u elastic -i

修改成功,我们就可以退出来,用curl命令检查一下,是否成功。(注意端口是9222,我们前面使用本机的9222端口,映射到docker里面的9200端口)

exit
curl --insecure -u elastic:123456 -XGET "https://192.168.111.138:9222/"

此时我们就可以,查看一下本机es的日志(注意是本机es的日志

我们发现已经加入成功,然后可以执行查看节点。 

curl --insecure -u elastic:123456 -XGET "https://192.168.111.138:9200/_cat/nodes"

我们可以看到现在有两个集群节点,部署完成。

end... 

猜你喜欢

转载自blog.csdn.net/xiaomaomixj/article/details/125985712