springboot2.0.2集成ElasticSearch5.5.1Demo
一、docker下载ElasticSearch镜像
docker pull elasticsearch:5.5.1
二、创建本地elasticsearch目录用来挂载配置文件和data目录
2.1、配置文件目录
mkdir /docker
mkdir /docker/elasticsearch
mkdir /docker/elasticsearch/conf
2.2、创建配置文件
cd /docker/elasticsearch/conf
vim node1.yml
2。3、插入配置信息
#主节点配置
cluster.name: my_es #集群名,不同名称代表不同集群
node.name: node_1 #节点名称,自定义
bootstrap.memory_lock: false #关闭锁内存
network.host: 0.0.0.0 #绑定IP地址
http.port: 9200 #绑定端口
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["192.168.1.104:9300","192.168.1.104:9301"] #集群列表,类型数组,可以是IP或域名 -----docker映射主机ip
discovery.zen.minimum_master_nodes: 1 #节点数不能超过节点总数量(防止脑裂两台可配置成1,三台可配置2)
http.cors.enabled: true #开启http网络节点发现
http.cors.allow-origin: "*" #允许所有同网段节点发现
保存
vim node2.yml
#其他节点配置
cluster.name: my_es #集群名,不同名称代表不同集群
node.name: node_2 #节点名称,自定义
bootstrap.memory_lock: false #关闭锁内存
network.host: 0.0.0.0 #绑定IP地址
http.port: 9201 #绑定端口
transport.tcp.port: 9301
discovery.zen.ping.unicast.hosts: ["192.168.1.104:9300","192.168.1.104:9301"] #集群列表,类型数组,可以是IP或域名 -----docker映射主机ip
discovery.zen.minimum_master_nodes: 1 #节点数不能超过节点总数量(防止脑裂两台可配置成1,三台可配置2)
http.cors.enabled: true #开启http网络节点发现
http.cors.allow-origin: "*" #允许所有同网段节点发现
2.4、data目录
mkdir /docker/elasticsearch/node1Data
mkdir /docker/elasticsearch/node2Data
* 有几个节点就创建几个文件和目录
三、启动容器
docker run -d --name node1 -p 9200:9200 -p 9300:9300 -v /docker/elasticsearch/conf/node1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/elasticsearch/node1Data:/usr/share/elasticsearch/data -e "ES_JAVA_OPTS=-Xms128m -Xmx128m" elasticsearch:5.5.1
***ES_JAVA_OPTS=-Xms128m -Xmx128m 设置内存
*** 其他节点只需要改 -p -v 的内容
四、安装ik中文分词器
docker exec -it node1 /bin/bash
cd plugins
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.1/elasticsearch-analysis-ik-5.5.1.zip
unzip elasticsearch-analysis-ik-5.5.1.zip
rm elasticsearch-analysis-ik-5.5.1.zip
exit
***** 其他节点一样的步骤只需要更改node1/2/3/..../n
五、重启容器
docker restart node1 && docker restart node2
如果报错:Ubuntu elasticsearch max virtual memory areas vm.max_map_count [65530] is too low, increase to at le
vi /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p
docker restart node1 && docker restart node2
至此docker搭建elasticsearch集群已完成
六、安装elasticsearch-head
docker pull mobz/elasticsearch-head:5
docker run -d --name es-head -p 9100:9100 docker.io/mobz/elasticsearch-head:5
七、使用elasticsearch-head查看是否集群成功
如果显示有2个或者多个节点则集群成功,否则集群失败