【Docker】通过Docker部署Elasticsearch5&7

1. 通过docker pull elasticsearch:5.6.8拉取镜像到本地

2. 先启动Elasticsearch(以下简称“ES”)用于拷贝主机中的配置文件和数据文件

Mac
docker run -p 9250:9200 \
-p 9350:9300 \
-e ES_JAVA_OPTS="-Xms512m -Xmx1024m" \
--name elasticsearch5 \
-d elasticsearch:5.6.8
Linux
sudo docker run -p 9250:9200 \
-p 9350:9300 \
-e ES_JAVA_OPTS="-Xms512m -Xmx1024m" \
--name elasticsearch5 \
-d elasticsearch:5.6.8

当ES启动成功后CLI将输出以下内容:

3. 通过Docker cp的命令行将主机的内容拷贝到宿主机

Mac
docker cp \
elasticsearch5:/usr/share/elasticsearch/config/ \
/Users/yuanzhenhui/Documents/docker_data/elasticsearch5
docker cp \
elasticsearch5:/usr/share/elasticsearch/data/ \
/Users/yuanzhenhui/Documents/docker_data/elasticsearch5
Linux
sudo docker cp \
elasticsearch5:/usr/share/elasticsearch/config \
/home/yzh/Documents/Installed/docker/docker_repo/elasticsearch5/config
sudo docker cp \
elasticsearch5:/usr/share/elasticsearch/data \
/home/yzh/Documents/Installed/docker/docker_repo/elasticsearch5/data

4. 编辑配置文件

Mac

打开 /Users/yuanzhenhui/Documents/docker_data/elasticsearch5/config 找到elasticsearch.yml文件。
在这里插入图片描述
写上以上配置信息后保存即可。

Linux
sudo vim 
/home/yzh/Documents/Installed/docker/docker_repo/elasticsearch5/config/elasticsearch.yml

同理,也填上如上图所示的配置信息后保存即可。

5. 将原来执行的镜像删除并执行新的命令行

Mac
docker run -p 9250:9200 \
-p 9350:9300 \
-e ES_JAVA_OPTS="-Xms512m -Xmx1024m" \
-v /Users/yuanzhenhui/Documents/docker_data/elasticsearch5/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /Users/yuanzhenhui/Documents/docker_data/elasticsearch5/data:/usr/share/elasticsearch/data \
--restart=always \
--name elasticsearch5 \
-d elasticsearch:5.6.8
Linux
sudo docker run -p 9250:9200 \
-p 9350:9300 \
-e ES_JAVA_OPTS="-Xms512m -Xmx1024m" \
-v /home/yzh/Documents/Installed/docker/docker_repo/elasticsearch5/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/yzh/Documents/Installed/docker/docker_repo/elasticsearch5/data:/usr/share/elasticsearch/data \
--restart=always \
--name elasticsearch5 \
-d elasticsearch:5.6.8

若ES启动成功可以看到以下输出:
在这里插入图片描述
从上图可以看出ES的配置信息已经生效。

6. 安装分词插件

通过命令行Docker cp将分词压缩包上传到主机

Mac

直接在本地解压插件zip包,然后通过cp命令上传文件夹到Docker镜像中,当然了如果解压后的文件夹不叫analysis-ik的时候还需要重命名文件夹先。

docker cp \
/Users/yuanzhenhui/Downloads/analysis-ik \
elasticsearch5:/usr/share/elasticsearch/plugins
Linux
sudo docker cp \
/home/yzh/Downloads/elasticsearch-analysis-ik-5.6.8.zip \
elasticsearch5:/usr/share/elasticsearch/plugins

上传之后通过CLI进入主机,进入plugins目录对刚刚上传的zip文件进行解压。

cd /usr/share/elasticsearch/plugins
unzip elasticsearch-analysis-ik-5.6.8.zip -d analysis-ik
cd analysis-ik/elasticsearch
mv * ../
cd ..
rm -rf elasticsearch
cd ..
rm -rf elastic*

之后再重启ES
在这里插入图片描述
当看到上面红框的内容时表示分词插件已经安装成功,同理其他插件都是通过以上的方式进行安装。

7. Elasticsearch7的安装
其实ES7的安装模式跟ES5基本一致,这里就不详说了,下面给出Mac和Linux部署脚本。

7.1 下载Elasticsearch7的镜像之后就先启动一下

Mac
docker run -p 9270:9200 \
-p 9370:9300 \
-e ES_JAVA_OPTS="-Xms512m -Xmx1024m" \
--name elasticsearch7 \
-d elasticsearch:7.5.2
Linux
sudo docker run -p 9270:9200 \
-p 9370:9300 \
-e ES_JAVA_OPTS="-Xms512m -Xmx1024m" \
--name elasticsearch7 \
-d elasticsearch:7.5.2

7.2 拷贝主机中的配置文件和数据文件到宿主机

Mac
docker cp \
elasticsearch7:/usr/share/elasticsearch/config \
/Users/yuanzhenhui/Documents/docker_data/elasticsearch7
docker cp \
elasticsearch7:/usr/share/elasticsearch/data \
/Users/yuanzhenhui/Documents/docker_data/elasticsearch7
Linux
sudo docker cp \
elasticsearch7:/usr/share/elasticsearch/config \
/home/yzh/Documents/Installed/docker/docker_repo/elasticsearch7/config
sudo docker cp \
elasticsearch7:/usr/share/elasticsearch/data \
/home/yzh/Documents/Installed/docker/docker_repo/elasticsearch7/data

7.3 修改ES中的配置信息以达到调优的效果,其中包含elasticsearch.yml和jvm.options两个文件

Mac

MacOS的情况下可以到相应路径下的对应文件按需修改即可
在这里插入图片描述
在这里插入图片描述

Linux
sudo vim /home/yzh/Documents/Installed/docker/docker_repo/elasticsearch7/config/elasticsearch.yml
sudo vim /home/yzh/Documents/Installed/docker/docker_repo/elasticsearch7/config/jvm.options

7.4 最终启动执行脚本运行

Mac
docker run -p 9270:9200 \
-p 9370:9300 \
-v /Users/yuanzhenhui/Documents/docker_data/elasticsearch7/config:/usr/share/elasticsearch/config \
-v /Users/yuanzhenhui/Documents/docker_data/elasticsearch7/data:/usr/share/elasticsearch/data \
--restart=always \
--name elasticsearch7 \
-d elasticsearch:7.5.2
Linux
sudo docker run -p 9270:9200 \
-p 9370:9300 \
-v /home/yzh/Documents/Installed/docker/docker_repo/elasticsearch7/config:/usr/share/elasticsearch/config \
-v /home/yzh/Documents/Installed/docker/docker_repo/elasticsearch7/data:/usr/share/elasticsearch/data \
--restart=always \
--name elasticsearch7 \
-d elasticsearch:7.5.2

若启动的过程中碰到过下面的错误:

ERROR: [1] bootstrap checks failed
[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

这个时候只需要修改elasticsearch.yml在里面添加

cluster.initial_master_nodes: ["node-1"]

指定保留一个master节点即可解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kida 的技术小屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值