《果然新鲜》电商项目(47)- Docker下搭建ElasticSearch集群
Posted IT-老牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《果然新鲜》电商项目(47)- Docker下搭建ElasticSearch集群相关的知识,希望对你有一定的参考价值。
文章目录
1. 为什么要安装ElasticSearch集群?
「电商」项目接下来将要讲解 “商品搜索” 功能,项目使用的是SpringBoot
开发的,需要引入spring-boot-starter-data-elasticsearch
依赖,要求ES必须以集群的方式连接,否则会报错,如下:
ERROR:None of the configured nodes are available.
下面开始讲解如何在docker下安装es集群。
2. Docker下安装ElasticSearch集群的步骤
由于机子的性能问题,只能在同一个虚拟机里搭建两个es集群,以端口号区分!
2.1.关闭防火墙
//临时关闭
systemctl stop firewalld.service
//禁止开机启动
systemctl disable firewalld.service
2.2.添加环境参数
# 添加这个
vm.max_map_count=262144
# 保存后执行这个命令
sysctl -p
service docker restart
2.3.拉取镜像
docker pull elasticsearch:7.6.1
2.4.准备虚拟网络和挂载目录
# 创建虚拟网络
docker network create es-net
# node1 的挂载目录
mkdir -p -m 777 /var/lib/es/node1/data
mkdir -p -m 777 /var/lib/es/node1/plugins
# node2 的挂载目录
mkdir -p -m 777 /var/lib/es/node2/data
mkdir -p -m 777 /var/lib/es/node2/plugins
2.5.启动 Elasticsearch 集群
node1:
docker run -d \\
--name=node1 \\
--restart=always \\
--net es-net \\
-p 9200:9200 \\
-p 9300:9300 \\
-v /var/lib/es/node1/plugins:/usr/share/elasticsearch/plugins \\
-v /var/lib/es/node1/data:/usr/share/elasticsearch/data \\
-e node.name=node1 \\
-e node.master=true \\
-e network.host=node1 \\
-e discovery.seed_hosts=node1,node2 \\
-e cluster.initial_master_nodes=node1 \\
-e cluster.name=es-cluster \\
-e "ES_JAVA_OPTS=-Xms256m -Xmx256m" \\
elasticsearch:7.6.1
环境变量说明:
node2:
docker run -d \\
--name=node2 \\
--restart=always \\
--net es-net \\
-p 9201:9200 \\
-p 9301:9300 \\
-v /var/lib/es/node2/plugins:/usr/share/elasticsearch/plugins \\
-v /var/lib/es/node2/data:/usr/share/elasticsearch/data \\
-e node.name=node2 \\
-e node.master=true \\
-e network.host=node2 \\
-e discovery.seed_hosts=node1,node2 \\
-e cluster.initial_master_nodes=node1 \\
-e cluster.name=es-cluster \\
-e "ES_JAVA_OPTS=-Xms256m -Xmx256m" \\
elasticsearch:7.6.1
2.6.访问
3.配置分词
cd /var/lib/es/node2/plugins
mkdir ik
cd ik
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.1/elasticsearch-analysis-ik-7.6.1.zip
unzip elasticsearch-analysis-ik-7.6.1.zip
cd /var/lib/es/node1/plugins
mkdir ik
cd ik
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.1/elasticsearch-analysis-ik-7.6.1.zip
unzip elasticsearch-analysis-ik-7.6.1.zip
重新启动Docker容器!
4. 总结
本文主要讲解在Docker下搭建ElasticSearch
集群的方式,以及常见的填坑方法。
以上是关于《果然新鲜》电商项目(47)- Docker下搭建ElasticSearch集群的主要内容,如果未能解决你的问题,请参考以下文章
《果然新鲜》电商项目(10)- GitLab简介以及Docker部署
《果然新鲜》电商项目(44)- Docker下安装Logstash
《果然新鲜》电商项目(48)- Docker下Kibana与Logstash的ES集群配置