栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Elasticsearch集群

Elasticsearch集群

1.概念

在单台ES服务器上,随着一个索引内数据的增多,会产生存储、效率、安全等问题。
此时我们可以采用ES集群,将单个索引的数据分成几份,每份数据还拥有不同的副本,分别存储在不
同的物理机器上,从而可以实现高可用、容错性等。

  1. 节点(node):一个节点是集群中的一台服务器,是集群的一部分。它存储数据,参与集群的索引和搜
    索功能。集群中有一个为主节点,主节点通过ES内部选举产生。
  2. 集群(cluster):一组节点组织在一起称为一个集群,它们共同持有整个的数据,并一起提供索引和搜
    索功能。
  3. 分片(shards):ES可以把完整的索引分成多个分片,分别存储在不同的节点上。
  4. 副本(replicas):ES可以为每个分片创建副本,提高查询效率,保证在分片数据丢失后的恢复。

注意:注:分片的数量只能在索引创建时指定,索引创建后不能再更改分片数量,但可以改变副本的数
量。
为保证节点发生故障后集群的正常运行,ES不会将某个分片和它的副本存在同一台节点上。

2.Linux搭建Elasticsearch
  1. 准备一台搭载有CentOS6系统的虚拟机,使用XShell连接虚拟机
  2. 关闭防火墙,方便kibana连接集群:
  3. 配置最大可创建文件数大小
    #打开系统文件: vim /etc/sysctl.conf
    #添加以下配置: vm.max_map_count=655360
    #配置生效: sysctl -p
  4. 由于ES不能以root用户运行,我们需要创建一个非root用户,此处创建一个名为es的用户:
    #创建用户: useradd es
  5. 搭建ES集群
    1.使用rz命令将linux版的ES上传至虚拟机
    2.解压第一个ES节点:
    3.#解压: tar -zxvf elasticsearch-7.12.1-linux-x86_64.tar.gz -C /opt/app
    4.#重命名: mv elasticsearch-7.12.1 elasticsearch1
    5.#移动文件夹: mv elasticsearch1 /opt/
    6.#es用户取得该文件夹权限: chown -R es:es /usr/local/elasticsearch1
    7.重复1-6步骤,分别命名elasticsearch1 elasticsearch2 elasticsearch3,搭建3个节点集群
    8.修改三个ES节点的elasticsearch.yml文件:
#集群名称,保证唯一
cluster.name: my_elasticsearch
#节点名称,必须不一样 
node.name: node1
#可以访问该节点的ip地址 
network.host: 0.0.0.0
#该节点服务端口号 
http.port: 9200
#集群间通信端口号 
transport.tcp.port: 9301
#候选主节点的设备地址 
discovery.seed_hosts: ["node0:9301","node0:9302","node0:9303"]
#候选主节点的节点名 
cluster.initial_master_nodes: ["node1", "node2","node3"]

  1. 查看集群状态
# 查看集群健康状态 
GET /_cat/health?v 
# 查看索引状态 
GET /_cat/indices?v 
# 查看分片状态 
GET /_cat/shards?v
3.故障应对&水平扩容
  1. 关闭一个节点,可以发现ES集群可以自动进行故障应对。
  2. 重新打开该节点,可以发现ES集群可以自动进行水平扩容。
  3. 分片数不能改变,但是可以改变每个分片的副本数:
PUT /索引/_settings 
{ 
	"number_of_replicas": 副本数 
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/618552.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号