elasticsearch集群搭建及参数详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elasticsearch集群搭建及参数详解相关的知识,希望对你有一定的参考价值。
参考技术A elasticsearch 集群的搭建教程很多。网上一搜都是,但是,搭建不难。更重要的是明白集群原理,性能以及运维知识点。所以,本文将从这些点着重介绍。在 elasticsearch 配置文件中有以下这些参数,将逐一介绍(其实配置文件中英文描述已经非常清楚):
起初创建节点与分片的关系,设置 shards=2,replicas=1
同样设置 shards=2,replicas=1
这个由于在官网指南中写的很清楚了,直接贴出章节。
分布式文档存储
修改配置文件
重启并查看集群健康状态:
页面访问效果(单节点):
http://119.29.248.199:9200/_plugin/head/
《果然新鲜》电商项目(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
集群的方式,以及常见的填坑方法。
以上是关于elasticsearch集群搭建及参数详解的主要内容,如果未能解决你的问题,请参考以下文章