Docker部署ElasticSearch

自己看网上的资料写了一个日志搜集项目要保存收集数据到elasticsearch,所以就用docker搭建了一个。

搭建环境的时候还是推荐创建一个network,让两个容器都在一个局域网内部访问。

ES办公网站的文档很详细,自己找找就能得到docker的部署方法。

https://www.elastic.co/guide/index.html

elasticsearch install

  1. 安装elasticsearch

https://www.elastic.co/guide/en/elastic-stack/current/index.html

https://www.elastic.co/guide/en/elasticsearch/reference/7.15/docker.html

在文档页面找到docker方式安装的连接,就可以得到详细的方法。

docker network create elastic

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

#挂载宿主机目录
mkdir -p /docker/es/config
mkdir -p /docker/es/data
chmod -R 777 /docker/es/data
echo "http.host: 0.0.0.0" >> /docker/es/config/elasticsearch.yml

docker run -p 9200:9200 -p 9300:9300 \
--name es --net elastic \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /docker/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /docker/es/data:/usr/share/elasticsearch/data \
-v /docker/es/plugins:/usr/share/elasticsearch/plugins \
-d docker.elastic.co/elasticsearch/elasticsearch:7.15.0

其中elasticsearch.yml是挂载的配置文件,data是挂载的数据,plugins是es挂载的插件,如ik。 数据挂载需要权限,需要设置data文件的权限为可读可写,需要下边的指令。

chmod -R 777 [路径]

-e "discovery.type=single-node" 设置为单节点

特别注意: -e ES_JAVA_OPTS="-Xms256m -Xmx256m" \ 测试环境下,设置ES的初始内存和最大内存,否则导致过大启动不了ES

访问测试链接:http://192.168.1.7:9200/

测试连接

  1. 安装kibana

https://www.elastic.co/guide/en/kibana/7.15/install.html

docker pull docker.elastic.co/kibana/kibana:7.15.0

docker run --name kib01 --net elastic -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://es:9200" -d docker.elastic.co/kibana/kibana:7.15.0

访问测试连接:

http://192.168.1.7:5601/

kibana安装成功

  1. 中文分词器ik安装

进入容器 docker exec -it es /bin/bash

执行安装命令:(注意:ik跟es的版本要一致)

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.15.0/elasticsearch-analysis-ik-7.15.0.zip

查看 plugins 目录可以看到IK分词器已经安装成功

IK分词器安装

退出容器并重启容器 docker restart es

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章