《果然新鲜》电商项目(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集群的主要内容,如果未能解决你的问题,请参考以下文章

《果然新鲜》电商项目(09)- Linux安装Docker

《果然新鲜》电商项目(10)- GitLab简介以及Docker部署

《果然新鲜》电商项目(44)- Docker下安装Logstash

《果然新鲜》电商项目(48)- Docker下Kibana与Logstash的ES集群配置

《果然新鲜》电商项目(42)- Docker下安装ES&Kibana

《果然新鲜》电商项目(18)- 搭建企业级微信公众号