【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)

上次我们讲了linux环境安装ElasticSearch
Linux安装ElasticSearch以及Ik分词器(图文解说详细版)

这次我们来将一下ElasticSearch的集群安装

安装es的前置条件: Linux安装Java环境(OracleJDK)

这次我们安装的是ElasticSearch-7版本,所以我们安装jdk11

文章目录

    • 准备环境
    • 第一步,安装es
    • 第二步,编辑配置文件
      • 第一台配置如下
      • 第二台配置如下
      • 第三台配置如下
    • 第三步,启动es
      • 防火墙放开三台服务器的9200/9300端口
      • 切换es用户启动es
    • 第四步,访问es,查看集群状态
      • 模拟宕机
    • 第五步,操作es
      • 添加索引
      • 查看索引

准备环境

如果我们搭建集群需要用到9200和9300端口,我们先了解一下他们是什么

Elasticsearch 使用 9200 端口来对外提供 HTTP REST API,并使用 9300 端口来进行节点间通信。其中,基于 HTTP REST API 的接口主要提供给应用程序开发人员来实现 Elasticsearch 的数据读写和检索等操作,而节点间通信则是为了支持集群管理和数据同步等功能。

具体来说,Elasticsearch 的 9300 端口主要用于以下两个方面:

  1. 节点通信:Elasticsearch 采用分布式架构,在集群中的各个节点之间需要进行通信以协调任务、同步数据等操作。这时,节点之间就需要使用 9300 端口来建立专门的 TCP 连接并进行数据交换。

  2. 传输协议:Elasticsearch 采用自定义的 Transport Protocol 来实现节点间通信和交换数据。该协议需要运行在独立的端口上,因此默认情况下会使用 9300 端口来监听节点间通信请求。

尽管 9300 端口并不直接对外提供服务,但它在 Elasticsearch 集群中起到了极为重要的作用。如果出现 9300 端口无法访问或连接失败的情况,可能会导致节点之间无法正常通信、索引分片数据丢失等问题,进而影响整个集群的可用性和稳定性。

这次我们搭建一主双从的集群,需要准备以下三台Linux服务器

ip 端口
192.168.75.128 9200,9300
192.168.75.129 9200,9300
192.168.75.130 9200,9300

本文后面的ElasticSearch 都将简写为es

第一步,安装es

由于博主已经讲过es的安装,所以这边就不在赘述,如果有需要请翻阅这篇博客:

Linux安装ElasticSearch以及Ik分词器(图文解说详细版)

这里只给出es的下载地址:

https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-16-3

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第1张图片

解压好情况如下:

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第2张图片

第二步,编辑配置文件

三台服务器都安装好之后,我们依次修改他们的配置文件,配置文件的路径如下:

elasticsearch-7.16.3/config/elasticsearch.yml

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第3张图片

第一台配置如下

# 集群名称
cluster.name: my-application
#节点名称
node.name: node-1
# 绑定IP地址
network.host: 192.168.75.128
# 指定服务访问端口
http.port: 9200
#集群通讯地址
discovery.seed_hosts: ["192.168.75.128:9300", "192.168.75.129:9300","192.168.75.130:9300"]
#集群初始化能够参选的节点信息
cluster.initial_master_nodes: ["192.168.75.128:9300", "192.168.75.129:9300","192.168.75.130:9300"]

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第4张图片

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第5张图片

第二台配置如下

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第6张图片

# 集群名称
cluster.name: my-application
#节点名称
node.name: node-2
# 绑定IP地址
network.host: 192.168.75.129
# 指定服务访问端口
http.port: 9200
#集群通讯地址
discovery.seed_hosts: ["192.168.75.128:9300", "192.168.75.129:9300","192.168.75.130:9300"]
#集群初始化能够参选的节点信息
cluster.initial_master_nodes: ["192.168.75.128:9300", "192.168.75.129:9300","192.168.75.130:9300"]

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第7张图片
【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第8张图片

第三台配置如下

# 集群名称
cluster.name: my-application
#节点名称
node.name: node-3
# 绑定IP地址
network.host: 192.168.75.130
# 指定服务访问端口
http.port: 9200
#集群通讯地址
discovery.seed_hosts: ["192.168.75.128:9300", "192.168.75.129:9300","192.168.75.130:9300"]
#集群初始化能够参选的节点信息
cluster.initial_master_nodes: ["192.168.75.128:9300", "192.168.75.129:9300","192.168.75.130:9300"]

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第9张图片
【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第10张图片

第三步,启动es

防火墙放开三台服务器的9200/9300端口

firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=9300/tcp --permanent

切换es用户启动es

进入bin目录,运行elasticsearch

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第11张图片

三台机器依次启动,启动成功结果如下:

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第12张图片

第四步,访问es,查看集群状态

  • http://192.168.75.128:9200/_cat/nodes?v
  • http://192.168.75.129:9200/_cat/nodes?v
  • http://192.168.75.130:9200/_cat/nodes?v

三个节点都可以访问,结果是一样的

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第13张图片

可以看到我们的192.168.75.128这台机器是主节点,这是他们自己选举出来的结果

下面如果我们的128机器宕机,那么就会从剩下两个节点中选举出一个主节点,就像这样:

模拟宕机

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第14张图片

调用其他两台节点的接口就会发现,主节点已经变成192.168.75.129

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第15张图片

如果这个时候我们重启192.168.75.128

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第16张图片

就会发现主节点已经变成192.168.75.129事实已经改变不了,重生之后就变成小弟了

第五步,操作es

三台机器都可以进行添加和查询的操作
【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第17张图片

添加索引

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第18张图片

查看索引

【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)_第19张图片

感谢大家阅读这篇文章,希望能够帮助大家在工作或学习中获得一些收获!
在这里插入图片描述

你可能感兴趣的:(linux,elasticsearch,linux)