前言
帮助小伙伴快速部署研发或测试环境进行学习测试。Docker安装就不再赘述了,还没有安装的同学可以自行百度,非常的简单。
一、拉取镜像
这里选择指定版本号8.2.0,也可以不指定版本号,默认拉取最新的版本号。
docker pull elasticsearch:8.2.0
查看镜像
docker images
二、创建容器
docker run \
--name es \
--privileged=true \
-p 9200:9200 \
-p 9300:9300 \
-v /mydata/es/config:/usr/share/elasticsearch/config \
-v /mydata/es/data:/usr/share/elasticsearch/data \
-v /mydata/es/plugins:/usr/share/elasticsearch/plugins \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-d --restart always elasticsearch:8.2.0
查看运行中容器
docker ps
此时应该会启动失败也可以查看容器日志
docker logs -f es
为挂载目录授权
chmod 777 /mydata/es/config
chmod 777 /mydata/es/data
chmod 777 /mydata/es/plugins
三、复制配置文件到挂载目录
启动临时容器
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:8.2.0
复制配置文件到挂载目录
docker cp elasticsearch:/usr/share/elasticsearch/config /mydata/es
停止、删除临时容器
docker stop elasticsearch
docker rm -f elasticsearch
修改elasticsearch.yml文件
vim /mydata/es/config/elasticsearch.yml
四、启动容器
docker start es
访问测试:http://ip:9200
五、开启跨域
此时采用ElasticSearch-Head 远程访问 ElasticSearch服务会因跨域问题而失败,
vi /mydata/es/config/elasticsearch.yml
添加以下内容:
http.cors.enabled: true
http.cors.allow-origin: "*"
重启容器:
docker restart es
六、添加ik分词器
下载ik分词器,ik分词器的版本一定要和ElasticSearch版本一致。
分词器历史版本下载地址:Releases · medcl/elasticsearch-analysis-ik · GitHub
将下载的elasticsearch-analysis-ik-8.2.0.zip文件拷贝至/mydata/es/plugins目录
解压缩
unzip elasticsearch-analysis-ik-8.2.0.zip -d ./elasticsearch-analysis-ik
删除elasticsearch-analysis-ik-8.2.0.zip原文件,不然容器启动会报错
rm -rf elasticsearch-analysis-ik-8.2.0.zip
重启容器
docker restart es
查看容器是否启动成功
docker ps
启动成功:
关注公众号”小猿架构“,发送 "数据湖" 免费获取 38页 数据湖建设方案。