docker整合elasticSearch集群搭建

必须懂docker的容器卷,以下用到的docker命令不做介绍,本人亲测搭建成功,可以一步一步按着操作来。如果想理解,先去学docker。

首先 启动docker

centos7 下启动docker命令 systemctl 开头

使用docker images 查看当前拥有的镜像版本,本人已经下好,如果没下不会有如下 es镜像

docker pull elasticsearch:5.6.8(注意,下载时候必须带版本号,否则默认下载最新的7.0+,7.0的版本相比之前变化太大

去掉了type,以及api,还有springboot整合的问题,分词器建立索引,mapping映射跟之前都有出入,本人踩了一周的坑,市面目前

开发均在6.0左右。项目,教程都是,当然英语大牛可以7.0的试一试。es的官网内容还是写的不错的,我这英语渣渣也能看的差不多+翻译软件)

下好后,开始使用dokcer 启动容器。  简单介绍下docker两个基本概念:容器:Student s1= new Student(); 镜像:Student.class

在启动容器前需要创建以下文件夹

1.mkdir -p es/config(放集群数据集配置文件   .yml)

在es/config目录下放入 es1.yml  es2.yml es3.yml   内容如下

es1.yml内容如下:

cluster.name: elasticsearch-cluster

node.name: es-node1

network.bind_host: 0.0.0.0

network.publish_host: 192.168.212.252

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.212.252:9300","192.168.212.252:9301","192.168.212.252:9302"]

discovery.zen.minimum_master_nodes: 1

 

es2.yml内容如下:

cluster.name: elasticsearch-cluster

node.name: es-node2

network.bind_host: 0.0.0.0

network.publish_host: 192.168.212.252

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.212.252:9300","192.168.212.252:9301","192.168.212.252:9302"]

discovery.zen.minimum_master_nodes: 1

es3.yml内容如下:

cluster.name: elasticsearch-cluster

node.name: es-node3

network.bind_host: 0.0.0.0

network.publish_host: 192.168.212.252

http.port: 9202

transport.tcp.port: 9302

http.cors.allow-origin: "*"

node.data: true  

discovery.zen.ping.unicast.hosts: ["192.168.212.252:9300","192.168.212.252:9301","192.168.212.252:9302"]

discovery.zen.minimum_master_nodes: 1

2.cd es

3.mkdir data1     (集群1的docker数据卷,用来同步容器中es1 data目录下的数据 )

4.mkdir data2    (集群2的docker数据卷 用来同步容器中es2 data目录下的数据)

5.mkdir data3   (集群3的docker数据卷 用来同步容器中es3 data目录下的数据)

开发防火墙以下端口

firewall-cmd --add-port=9300/tcp

firewall-cmd --add-port=9301/tcp

6.mkdir plugins1

7.mkdir plugins2

 

启动容器1

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d  -p 9200:9200 -p 9300:9300 -p 5601:5601 -v /usr/local/es/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml  -v /usr/local/es/plugins1:/usr/share/elasticsearch/plugins    -v /usr/local/es/data1:/usr/share/elasticsearch/data --name ES01 elasticsearch:5.6.8

启动容器2

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9201 -p 9301:9301 -v /usr/local/es/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml  -v /usr/local/es/plugins2:/usr/share/elasticsearch/plugins    -v /usr/local/es/data2:/usr/share/elasticsearch/data --name ES02 elasticsearch:5.6.8

启动容器3

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9202:9202 -p 9302:9302 -v /usr/local/es/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml  -v /usr/local/es/plugins3:/usr/share/elasticsearch/plugins    -v /usr/local/es/data3:/usr/share/elasticsearch/data --name ES03 elasticsearch:5.6.8

如下代表启动一个容器成功

查看当前启动容器

集群搭建成功注意事项:data目录下的数据必须都是空的,否则创建不了。

http://192.168.85.134:9200/    测试 es容器1启动成功

测试集群效果   如下启动了两个,第三个本人不启动了,耗费内存,

es默认配置内容1G  自己可以修改,我懒得改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值