Elasticsearch 主从复制部署记录

Elasticsearch 主从复制部署记录

本部署记录是在三台虚拟机的环境下搭建 Elasticsearch 主从复制集群,

默认三台虚拟机中已经存在正常运行的Elasticserch 实例,

如不满足条件则参考上一篇:《 03_Elasticsearch 主从复制部署记录 》

主从复制概念

设想有三台服务器,由其中一台服务器中的 Elasticserch 实例保存数据,我们称其为主节点,

其余的两台中的 Elasticserch 实例负责从主节点同步数据,我们称其为随从节点

当主节点出现故障,又两个随从节点自动选举出一个新的主节点提供服务,达到 “高可用的目的”

配置主从复制集群

集群的配置只需要修改 Elasticserch 文件夹中 config 文件夹中的 elasticserch.yml 配置文件,注意使用普通用户修改

主节点的修改

## 集群名称
cluster.name: es-itcast-cluster
## 当前节点名称
node.name: node01
## 是否有资格当选主节点
node.master: true
## 是否存储数据
node.data: true
## 链接地址
network.host: 0.0.0.0
## 端口号
http.port: 9200
## 实例之间的通信端口
transport.port: 9300
transport.tcp.port: 9300
## 集群信息
discovery.zen.ping.unicast.hosts: ["192.168.31.151","192.168.31.154","192.168.31.157"]
cluster.initial_master_nodes: ["192.168.31.151","192.168.31.154","192.168.31.157"]
## 最少主节点数量
discovery.zen.minimum_master_nodes: 1
## 开放网络权限
http.cors.enabled: true
http.cors.allow-origin: "*"

从节点的修改

cluster.name: es-itcast-cluster
## 从节点的修改和主节点相同,只需要修改节点名称即可
## *** 无论是主节点还是从节点,各个实例名称绝不能重复 ***
node.name: node02
node.master: true
node.data: true
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["192.168.31.151","192.168.31.154","192.168.31.157"]
cluster.initial_master_nodes: ["192.168.31.151","192.168.31.154","192.168.31.157"]
discovery.zen.minimum_master_nodes: 1
http.cors.enabled: true
http.cors.allow-origin: "*"

重启Elasticsearch

## 删除所有 elasticsearch 实例中 data 文件夹下的节点数据
rm -rf ./elasticsearch/data/*
## 重启按照主从顺序重启集群节点

检查重启结果

  • 可以通过查看 elasticsearch 重启日志判断是否出现错误

  • 通过请求API查看集群健康状态

http://192.168.31.151:9200/
---------------------------------------
{
    "cluster_name": "es-itcast-cluster",
    "status": "green",
    "timed_out": false,
    ## 证明三个实例已经建立了链接
    "number_of_nodes": 3,
    "number_of_data_nodes": 3,
    "active_primary_shards": 1,
    "active_shards": 2,
    "relocating_shards": 0,
    "initializing_shards": 0,
    "unassigned_shards": 0,
    "delayed_unassigned_shards": 0,
    "number_of_pending_tasks": 0,
    "number_of_in_flight_fetch": 0,
    "task_max_waiting_in_queue_millis": 0,
    "active_shards_percent_as_number": 100
}

  • 通过API查看主节点状态
http://192.168.31.151:9200/_cat/nodes
---------------------------------------
192.168.31.151 13 66 0 0.00 0.01 0.05 mdi - node01
192.168.31.157 14 95 0 0.00 0.01 0.05 mdi - node03
192.168.31.154 13 65 0 0.05 0.03 0.05 mdi * node02 ## 当选主节点

检查主从复制

创建索引

PUT http://192.168.31.154:9200/new_index

添加数据

POST http://192.168.31.154:9200/new_index/test/1
------------------------------------------------
{
  "title": "测试集群",
  "text":  "主从复制",
  "date":  "2021/02/05"
}

查询数据

GET http://192.168.31.157:9200/_search

测试选举

## 手动关闭当前主节点,重新访问 http://IP:9200/_cat/nodes,看结果中是否存在新的主节点

测试主从复制

## 再次查询数据,看是否可以得到数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值