Elasticsearch(ES)集群的搭建
1. 概述
Elasticsearch(ES)集群支持分片和副本,能够很容易的实现负载均衡、扩容、容灾、高可用。
今天我们就来聊一下,Elasticsearch(ES)集群是如何搭建的。
2. 场景介绍
服务器A IP:192.168.1.8
服务器B IP:192.168.1.144
服务器C IP:192.168.1.22
三台服务器都已安装单点的 Elasticsearch(ES),单点 Elasticsearch(ES)的安装请参见我的另一篇文章《分布式搜索引擎Elasticsearch(ES)在CentOS7中的安装》。
3.Elasticsearch(ES)集群的搭建
3.1 清除旧数据
三台服务器都执行
# cd /usr/local/elasticsearch-7.14.1/data
# rm -rf nodes/
3.2 修改Elasticsearch配置文件
# cd /usr/local/elasticsearch-7.14.1/config
# vi elasticsearch.yml
服务器A配置:


服务器B配置:


服务器C配置:


3.3 启动三台服务器的Elasticsearch(ES)
# su esuser
# cd /usr/local/elasticsearch-7.14.1/bin
# ./elasticsearch
可以使用Head插件查看Elasticsearch集群的信息,连接哪台服务器,显示的信息一样。
一主二从架构。

3.4 集群分片测试
新建一个索引 index_user,分片数为3,副本数为1。
再新建一个索引 index_product,分片数为3, 副本数为2。
通过Head插件能够看出,主分片和副本被分配到了不同的服务器,任意一台机器宕机,对数据都没有影响,很好的实现了容灾和高可用机制。
因为每个分片被分配的机器不同,当读取时,Elasticsearch会采用轮询读取主副分片的策略,从而实现了负载均衡的机制。
通过设置主分片的数量实现扩容。

3.5 宕机测试

1)停用从节点
停用一个从节点后,集群健康值变为黄色,对外服务不受影响。

2)停用主节点
停用主节点后,其中一个从节点会被选举为主节点,集群健康值变为黄色,对外服务不受影响。

4. 综述
今天简单聊了一下 Elasticsearch(ES)集群的搭建,希望可以对大家的工作有所帮助。
欢迎帮忙点赞、评论、加关注 :)
关注追风人聊Java,每天更新Java干货。
Elasticsearch(ES)集群的搭建的更多相关文章
- elasticsearch(es) 集群恢复触发配置(Local Gateway参数)
elasticsearch(es) 集群恢复触发配置(Local Gateway) 当你集群重启时,几个配置项影响你的分片恢复的表现. 首先,我们需要明白如果什么也没配置将会发生什么. 想象一下假设你 ...
- ELK之 elasticsearch ES集群 head安装
最近项目用到 jenkins ELK 也在一次重新学习了一次 jenkins 不用说了 玩得就是 插件 + base---shell , ELK 这几年最流得log收集平台,当然不止 ...
- ELasticSearch(五)ES集群原理与搭建
一.ES集群原理 查看集群健康状况:URL+ /GET _cat/health (1).ES基本概念名词 Cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产 ...
- 搭建ELK日志分析平台(上)—— ELK介绍及搭建 Elasticsearch 分布式集群
笔记内容:搭建ELK日志分析平台(上)-- ELK介绍及搭建 Elasticsearch 分布式集群笔记日期:2018-03-02 27.1 ELK介绍 27.2 ELK安装准备工作 27.3 安装e ...
- es7集群的搭建
es7集群的搭建 一.需求 二.前置条件 三.搭建步骤 1.下载es 2.创建 `es` 用户并给es目录授权 3.修改es的配置文件 4.es01目录下 elasticsearch.yml 的一个完 ...
- elasticsearch系列八:ES 集群管理(集群规划、集群搭建、集群管理)
一.集群规划 搭建一个集群我们需要考虑如下几个问题: 1. 我们需要多大规模的集群? 2. 集群中的节点角色如何分配? 3. 如何避免脑裂问题? 4. 索引应该设置多少个分片? 5. 分片应该设置几个 ...
- ES 31 - 从0开始搭建Elasticsearch生产集群
目录 1 配置环境 1.1 服务器IP映射 1.2 配置各节点的ssh免密通信 1.3 安装JDK并配置环境变量 2 部署单节点服务 3 部署集群服务 4 启动集群中的所有节点 4.2 启动各个节点中 ...
- es集群搭建
1.复制5份es,版本要相同,且各个节点上jdk版本也要相同,否则会报数据同步格式不一致 invalid internal transport message format. 2.配置elastic ...
- Elastic Stack之ElasticSearch分布式集群yum方式搭建
Elastic Stack之ElasticSearch分布式集群yum方式搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.搜索引擎及Lucene基本概念 1>.什么 ...
随机推荐
- LoadableComponent类的使用
通过继承LoadableComponent类,测试程序可以判断浏览器是否加载了正确的页面,只需要重写isLoaded和load二个方法,此方法有助于页面对象的页面访问操作更加稳定 1.LoginPag ...
- Kurento实战之一:KMS部署和体验
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 手把手和你一起实现一个Web框架实战——EzWeb框架(五)[Go语言笔记]Go项目实战
手把手和你一起实现一个Web框架实战--EzWeb框架(五)[Go语言笔记]Go项目实战 代码仓库: github gitee 中文注释,非常详尽,可以配合食用 本篇代码,请选择demo5 中间件实现 ...
- 浅谈 SQL 注入(注入篇)
一.SQL注入简介 1.1 什么是SQL注入 在用户可控制的参数上过滤不严或没有任何限制,使得用户将传入的参数(如URL,表单,http header)与SQL语句合并构成一条 SQL语句传递给web ...
- WinForm嵌入Web网页的解决方案
企业级信息化系统绝大部分采用BS架构实现,如门户网站.OA系统.电商网站等,通过浏览器输入Web网址即可访问,对于使用者来说非常便捷,对于开发维护者来说也非常方便,程序维护只需更新服务器即可,使用者无 ...
- NPM使用方法
什么是npm npm是nodejs的包管理器,在当今工程化前端开发过程中,npm包起着举足轻重的作用. 安装npm 作为nodejs的包管理器,npm随着nodejs一起安装的.通常情况下,当我们安装 ...
- redis如何实现分布式锁?
1.使用redis中的自增来实现 2.使用setnx + del # 如果不存在set(返回1),如果存在则失败(返回0) 为了避免死锁会加上一个过期时间 自增方式 boolean isSelf = ...
- Docker创建Docker-Registry-私服
docker-compose.yml version: '3.1' services: registry: image: registry restart: always container_name ...
- qt 定义插件
定义的接口----------------------------------------------#ifndef REGEXPINTERFACE_H #define REGEXPINTERFACE ...
- 【ArcEngine】AE连接SDE_For_SQLServer参数设置
SDE for sqlserver直连的ArcEngine访问 Ae中的数据的连接实质还是采用服务连接的方式.连接代码如下: 1 public IWorkspace Getworkspace() 2 ...