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)集群的搭建的更多相关文章

  1. elasticsearch(es) 集群恢复触发配置(Local Gateway参数)

    elasticsearch(es) 集群恢复触发配置(Local Gateway) 当你集群重启时,几个配置项影响你的分片恢复的表现. 首先,我们需要明白如果什么也没配置将会发生什么. 想象一下假设你 ...

  2. ELK之 elasticsearch ES集群 head安装

    最近项目用到 jenkins  ELK  也在一次重新学习了一次  jenkins 不用说了 玩得就是  插件   +  base---shell ,  ELK  这几年最流得log收集平台,当然不止 ...

  3. ELasticSearch(五)ES集群原理与搭建

    一.ES集群原理 查看集群健康状况:URL+ /GET _cat/health (1).ES基本概念名词 Cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产 ...

  4. 搭建ELK日志分析平台(上)—— ELK介绍及搭建 Elasticsearch 分布式集群

    笔记内容:搭建ELK日志分析平台(上)-- ELK介绍及搭建 Elasticsearch 分布式集群笔记日期:2018-03-02 27.1 ELK介绍 27.2 ELK安装准备工作 27.3 安装e ...

  5. es7集群的搭建

    es7集群的搭建 一.需求 二.前置条件 三.搭建步骤 1.下载es 2.创建 `es` 用户并给es目录授权 3.修改es的配置文件 4.es01目录下 elasticsearch.yml 的一个完 ...

  6. elasticsearch系列八:ES 集群管理(集群规划、集群搭建、集群管理)

    一.集群规划 搭建一个集群我们需要考虑如下几个问题: 1. 我们需要多大规模的集群? 2. 集群中的节点角色如何分配? 3. 如何避免脑裂问题? 4. 索引应该设置多少个分片? 5. 分片应该设置几个 ...

  7. ES 31 - 从0开始搭建Elasticsearch生产集群

    目录 1 配置环境 1.1 服务器IP映射 1.2 配置各节点的ssh免密通信 1.3 安装JDK并配置环境变量 2 部署单节点服务 3 部署集群服务 4 启动集群中的所有节点 4.2 启动各个节点中 ...

  8. es集群搭建

    1.复制5份es,版本要相同,且各个节点上jdk版本也要相同,否则会报数据同步格式不一致  invalid internal transport message format. 2.配置elastic ...

  9. Elastic Stack之ElasticSearch分布式集群yum方式搭建

    Elastic Stack之ElasticSearch分布式集群yum方式搭建 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.搜索引擎及Lucene基本概念 1>.什么 ...

随机推荐

  1. 温故知新,微软官方推荐的Visual Studio源代码管理之Git Ignore清单,开启新项目必备宝书

    什么是Git Ignore清单 https://git-scm.com/docs/gitignore 简单来说,在Git进行源代码管理中,我们可以通过建立.gitignore来实现一个忽略的黑名单管理 ...

  2. Redis如何实现分布式锁

    今天我们来聊一聊分布式锁的那些事. 相信大家对锁已经不陌生了,我们在多线程环境中,如果需要对同一个资源进行操作,为了避免数据不一致,我们需要在操作共享资源之前进行加锁操作.在计算机科学中,锁(lock ...

  3. 活久见!TCP两次挥手,你见过吗?那四次握手呢?

    活久见!TCP两次挥手,你见过吗?那四次握手呢? 文章持续更新,可以微信搜一搜「小白debug」第一时间阅读,回复[教程]获golang免费视频教程.本文已经收录在GitHub https://git ...

  4. NOIP 模拟 $36\; \rm Cicada 与排序$

    题解 \(by\;zj\varphi\) 设 \(rk_{i,j}\) 表示第 \(i\) 个数最后在相同的数里排第 \(j\) 位的概率. 转移时用一个 \(dp\),\(dp_{i,j,0/1}\ ...

  5. 综合练习——寻找有潜力的bilibili百大UP主(1)

    寻找有潜力的bilibili百大UP主(1) 防喷说明:以下仅为个人学习之余的娱乐项目,本人不主动赋予以下内容任何价值,不确保内容的准确性 欢迎各位友善的指出错误 目录 寻找有潜力的bilibili百 ...

  6. redisson 分布式加锁

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...

  7. C#多线程---线程池的工作者线程

    一.线程池简介 创建和销毁线程是一个要耗费大量时间的过程,太多的线程也会浪费内存资源,所以通过Thread类来创建过多的线程反而有损于性能,为了改善这样的问题 ,.net中就引入了线程池. 线程池形象 ...

  8. python下 conda命令手册

    0.说明: 对于tensorflow配合keras使用,因为linux服务器没有root权限,所以目前最高可用版本是  1.6.0,否则就会报错某些 so找不到 conda install -n xu ...

  9. list切片

    对list进行切片 取一个list的部分元素是非常常见的操作.比如,一个list如下: >>> L = ['Adam', 'Lisa', 'Bart', 'Paul'] 取前3个元素 ...

  10. spring加载Bean的解析过程(二)

    1.例如: BeanFactory bf = new XmlBeanFactory(new ClassPathResource("spring.xml")); User user ...