温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

docker如何搭建elasticsearch集群

发布时间:2021-10-19 16:46:56 来源:亿速云 阅读:179 作者:柒染 栏目:大数据

本篇文章为大家展示了docker如何搭建elasticsearch集群,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1、拉去es镜像

docker pull docker.io/elasticsearch:5.6.8

2、 创建挂载目录

mkdir -p /docker/es/config mkdir -p /docker/es/data1 mkdir -p /docker/es/data2 mkdir -p /docker/es/data3

3、创建配置文件

touch /docker/es/config/es1.yml touch /docker/es/config/es2.yml touch /docker/es/config/es3.yml

4、修改配置文件

es1.yml文件内容为:

cluster.name: elasticsearch-cluster node.name: es-node1 network.bind_host: 0.0.0.0 network.publish_host: 192.168.100.102 http.port: 9200 transport.tcp.port: 9300 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["192.168.100.102:9300","192.168.100.102:9301","192.168.100.102:9302"] discovery.zen.minimum_master_nodes: 2

es2.yml文件内容为:

cluster.name: elasticsearch-cluster node.name: es-node2 network.bind_host: 0.0.0.0 network.publish_host: 192.168.100.102 http.port: 9201 transport.tcp.port: 9301 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["192.168.100.102:9300","192.168.100.102:9301","192.168.100.102:9302"] discovery.zen.minimum_master_nodes: 2

es3.yml文件内容为:

cluster.name: elasticsearch-cluster node.name: es-node3 network.bind_host: 0.0.0.0 network.publish_host: 192.168.100.102 http.port: 9202 transport.tcp.port: 9302 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["192.168.100.102:9300","192.168.100.102:9301","192.168.100.102:9302"] discovery.zen.minimum_master_nodes: 2

5、修改系统参数

在   /etc/sysctl.conf文件最后添加一行 

vm.max_map_count=262144

执行下面命令

sysctl -w vm.max_map_count=262144

6、启动节点

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --privileged=true -v /docker/es/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/data1:/usr/share/elasticsearch/data --name es-node1 elasticsearch:5.6.8
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9201 -p 9301:9301 --privileged=true -v /docker/es/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/data2:/usr/share/elasticsearch/data --name es-node2 elasticsearch:5.6.8
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9202:9202 -p 9302:9302 --privileged=true -v /docker/es/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/data3:/usr/share/elasticsearch/data --name es-node3 elasticsearch:5.6.8

7、安装es-head插件

docker pull mobz/elasticsearch-head:5 docker run -di --name=es-head -p 9100:9100 docker.io/mobz/elasticsearch-head:5

8、安装ik分词器

下载分词器插件:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v5.6.8

在宿主机解压

unzip elasticsearch-analysis-ik-5.6.8.zip

并改文件夹名为ik

mv elasticsearch ik

复制解压后的ik到docker镜像目录

docker cp ik es-node1:/usr/share/elasticsearch/plugins

9、重启容器

docker restart 容器id

10、单点运行

如果要单点运行 ,可以把es-node2 es-node3 停掉 并且注释掉es1.yml配置文件中的部分配置

cluster.name: elasticsearch-cluster node.name: es-node1 network.bind_host: 0.0.0.0 http.port: 9200 transport.tcp.port: 9300 http.cors.enabled: true http.cors.allow-origin: "*" node.data: true #network.publish_host: 192.168.100.102 #node.master: true  #discovery.zen.ping.unicast.hosts: ["192.168.100.102:9300","192.168.100.102:9301","192.168.100.102:9302"] #discovery.zen.minimum_master_nodes: 2

11、安装kibana

 docker run -it -d -e ELASTICSEARCH_URL=http://172.17.0.2:9200 --name kibana -p 5601:5601 kibana:5.6.8

es 的 URL要写容器内部的ip,查看容器内部的ip命令

docker inspect <container id> 

上述内容就是docker如何搭建elasticsearch集群,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI