elasticsearch7.x 集群的搭建和分片设置

这篇具有很好参考价值的文章主要介绍了elasticsearch7.x 集群的搭建和分片设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

 

一、es集群的基本核心概念

二、es集群搭建

三、es集群索引分片管理

3.1创建索引,指定分片

 3.2索引分片的分配

3.2.1 手动移动分片:

 3.2.1 修改副分片数量

一、es集群的基本核心概念

Cluster 集群:
一个 Elasticsearch 集群由一个或多个节点(Node)组成,每个集群都有一个共同的集群名称作为
标识。

Node节点:
一个 Elasticsearch 实例即一个 Node,一台机器可以有多个实例,正常使用下每个实例应该
会部署在不同的机器上。Elasticsearch 的配置⽂件中可以通过 node.master、node.data 来
设置节点类型。

node.master:表示节点是否具有成为主节点的资格
    true代表的是有资格竞选主节点
    false代表的是没有资格竞选主节点
node.data:表示节点是否存储数据

Node节点组合:
 主节点+数据节点(master+data)

节点即有成为主节点的资格,又存储数据
 node.master: true
 node.data: true

数据节点(data):
节点没有成为主节点的资格,不参与选举,只会存储数据

node.master: false
node.data: true

客户端节点(client)
不会成为主节点,也不会存储数据,主要是针对海量请求的时候可以进行负载均衡

node.master: false
node.data: false

分片:
每个索引有一个或多个分片,每个分片存储不同的数据。分片可分为主分片( primary
shard)和复制分片(replica shard),复制分片是主分片的拷贝。默认每个主分片有一个复
制分片,一个索引的复制分片的数量可以动态地调整,复制分片从不与它的主分片在同一个
节点上。

二、es集群搭建

步骤:
拷贝elasticsearch-7.2.0安装包3份,分别命名elasticsearch-7.2.0-a, elasticsearch-7.2.0-b,
elasticsearch-7.2.0-c。
分别修改elasticsearch.yml文件。

groupadd esgroup #只需要执行一次

useradd esuser -g esgroup #只需要执行一次

chown -R esuser:esgroup /usr/local/software/elasticsearch-7.2.0-a #三个目录都需要执行

 su esuser 再分别进入bin文件夹下启动a,b,c三个节点
打开浏览器输入:http://localhost:9200/_cat/health?v ,如果返回的node.total是3,代表集
群搭建成功

a节点配置更改:

#集群名称
cluster.name: my-application
#节点名称
node.name: node-1
#是不是有资格主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#网关地址
network.host: 0.0.0.0
#端口
http.port: 9200
#内部节点之间沟通端口
transport.tcp.port: 9300
#es7.x 之后新增的配置,写⼊候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["localhost:9300","localhost:9400","localhost:9500"]
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-1", "node-2","node-3"]

b节点更改:

#节点名称
node.name: node-2

#端口
http.port: 9201
#内部节点之间沟通端口
transport.tcp.port: 9400

 c节点更改:

#节点名称
node.name: node-3

#端口
http.port: 9202
#内部节点之间沟通端口
transport.tcp.port: 9500

kibana安装步骤

1.下载
https://www.elastic.co/cn/downloads/kibana
选择对应版本
2.启动
kibana-7.2.0-linux-x86_64.tar.gz 解压后,更改下配置文件 

打开配置 kibana.yml,添加elasticsearch.hosts: ["http://localhost:9200","http://localhost:
9201","http://localhost:9202"]

sh ./kibana --allow-root

通过kibana查看

elasticsearch7.x 集群的搭建和分片设置

 elasticsearch7.x 集群的搭建和分片设置

 elasticsearch7.x 集群的搭建和分片设置

集群搭建成功~ 

三、es集群索引分片管理

分片(shard):因为ES是个分布式的搜索引擎, 所以索引通常都会分解成不同部分, 这些分布在
不同节点的数据就是分片. ES自动管理和组织分片, 并在必要的时候对分片数据进行再平衡分
配, 所以用户基本上不用担心分片的处理细节。

副本(replica):ES默认为一个索引创建1个主分片, 并分别为其创建一个副本分片. 
Elastic search7.x之后,如果不指定索引分片,默认会创建1个主分片和一个副分片,而7.x版
本之前的比如6.x版本,默认是5个主分片

3.1创建索引,指定分片

创建索引,不指定分片

elasticsearch7.x 集群的搭建和分片设置

 默认是一个分片

elasticsearch7.x 集群的搭建和分片设置

 指定分区数量

"settings": { "number_of_shards": 3, "number_of_replicas": 1 },

elasticsearch7.x 集群的搭建和分片设置

 elasticsearch7.x 集群的搭建和分片设置

 elasticsearch7.x 集群的搭建和分片设置

 3.2索引分片的分配

分片分配到哪个节点是由ES自动管理的,如果某个节点挂了,那分片会重新分配到别的节
点上。
在单机中,节点没有副分片,因为只有一个节点没必要生成副分片,一个节点挂点,副分片
也会挂掉,完全是单故障,没有存在的意义。

在集群中,同个分片它的主分片不会和它的副分片在同一个节点上,因为主分片和副分片在
同个节点,节点挂了,副分片和主分机一样是挂了,不要把所有的鸡蛋都放在同个篮子里。

可以手动移动分片,比如把某个分片移动从节点1移动到节点2。

创建索引时指定的主分片数以后是无法修改的,所以主分片数的数量要根据项目决定,如果
真的要增加主分片只能重建索引了。副分片数以后是可以修改的

3.2.1 手动移动分片:

移动之前

elasticsearch7.x 集群的搭建和分片设置

 POST /_cluster/reroute { "commands": [ { "move": { "index": "nba", "shard": 2, "from_node": "node-1", "to_node": "node-3" } } ] }

把nba这个索引的第二个分片,从node-1服务中移动到node-2服务中

elasticsearch7.x 集群的搭建和分片设置

 3.2.1 修改副分片数量

PUT /nba/_settings { "number_of_replicas": 2 }

更改之后,三个主分片 * 2 副本  

 elasticsearch7.x 集群的搭建和分片设置文章来源地址https://www.toymoban.com/news/detail-425160.html

到了这里,关于elasticsearch7.x 集群的搭建和分片设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ElasticSearch7.3.0 集群搭建及配置安全认证

    注: 由于是测试,搭建的环境就在一台机器上(操作系统是 CentOS 7) 配置 Elasticsearch Elasticsearch 的配置文件是 elasticsearch/elasticsearch.yml 集群的名称 配置集群的名称,所有的node节点集群名称要一致 节点的名称 配置每个节点的名称,节点的名称要在集群中唯一 索引文件的存储位置 默认

    2023年04月13日
    浏览(65)
  • CentOS7下安装ElasticSearch7.6.1详细教程(单机、集群搭建)

    CentOS 7下安装ElasticSearch7.6.1详细教程 ElasticSearch客户端Kibana7.6.1安装教程 ElasticSearch分词器IK安装教程 Elasticsearch-head插件安装教程 想要学习ElasticSearch技术,需要在服务器搭建ElasticSearch环境。 CenOS:7; JDK:1.8; Elasticsearch:7.6.1; ES不能使用root用户来启动,必须使用普通用户来

    2023年04月09日
    浏览(54)
  • Elasticsearch集群搭建、数据分片以及位置坐标实现附近的人搜索

    es使用两种不同的方式来发现对方: 广播 单播 也可以同时使用两者,但默认的广播,单播需要已知节点列表来完成 当es实例启动的时候,它发送了广播的ping请求到地址 224.2.2.4:54328 。而其他的es实例使用同样的集群名称响应了这个请求。 一般这个默认的集群名称就是上面的

    2024年02月06日
    浏览(51)
  • Elasticsearch7.8.1集群安装手册

    elasticsearch集群规划为三个节点,elasticsearch版本为7.8.1 1)下载 Elasticsearch7.8.1安装包 3.1 解压 3.2 修改配置 1)jvm.options调整内存大小 2)修改elasticsearch.yml 集群规划为三个节点,三个节点的配置,只有node.name: es-node1 不同,请分别配置 具体配置如下 3.3 创建用户 3.4.1 排错 3.4.2 后

    2024年02月08日
    浏览(57)
  • elasticsearch7.7集群部署以及密码认证

    1.1 elasticsearch 部署 1.1.1 安装jdk 略 1.1.2 安装准备 1、安装用户用elastic用户 2、创建相关目录及授权 [root@es-node1 ~]# chown -R elastic: elastic/data [root@es-node1 ~]# chmod -R 775 /data 3、root用户编辑 /etc/security/limits.conf,追加以下内容; soft nofile 65536 hard nofile 65536 soft nproc 2048 hard nproc 4096 4、

    2024年02月03日
    浏览(52)
  • Elasticsearch基础篇(三):Elasticsearch7.x的集群部署

    Elasticsearch集群是一个强大的搜索和分析引擎,由多个节点组成,每个节点都是一个独立的Elasticsearch实例。这些节点协同工作,共同构建一个高度可用和可扩展的搜索引擎。本文将深入探讨Elasticsearch集群的架构和部署,包括主节点、数据节点、客户端节点、分片以及节点间的

    2024年02月05日
    浏览(55)
  • docker部署Elasticsearch7.17集群和kibana

    环境准备: 3台centos7.9的服务器 vim /etc/sysctl.conf添加:vm.max_map_count=262144 sysctl -w vm.max_map_count=262144 即时生效 cat /proc/sys/vm/max_map_count 查看 #创建es配置目录 mkdir /home/es/config -p #创建es数据目录 mkdir /home/es/data #创建es插件目录 mkdir /home/es/plugins #授权目录 chmod -R 777 /home/es 在/home/e

    2024年02月10日
    浏览(51)
  • Elasticsearch的集群负载均衡与分片分片

    Elasticsearch是一个分布式、实时的搜索和分析引擎,它可以处理大量数据并提供快速、准确的搜索结果。在大规模应用中,Elasticsearch的性能和可用性是关键因素。为了确保高性能和高可用性,Elasticsearch需要实现集群负载均衡和分片分片。 在本文中,我们将深入探讨Elasticsear

    2024年04月25日
    浏览(42)
  • 离线安装Elasticsearch7.15.1集群(使用内置jdk)

    背景: 以192.168.50.210、192.168.50.211、192.168.50.212这三台机器为例,进行相关的配置 而我本地的jdk是1.8的,已经不符合要求了。但项目中没有那么高版本的jdk,也只想用1.8版本的,只是es用自己内置的jdk而已。 ES安装 1.下载相应的包文件 https://www.elastic.co/cn/downloads/elasticsearch 2.解

    2024年02月16日
    浏览(38)
  • centos7.6部署ELK集群(一)之elasticsearch7.7.0集群部署

    32.3. 部署es7.7.0 32.3.1. 下载es(各节点都做) wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz 32.3.2. 解压至安装目录(各节点都做) tar -xvf elasticsearch-7.7.0-linux-x86_64.tar.gz -C /vmdata/ 32.3.3. 创建es用户并设置密码(各节点都做) ES 7.x 开始不再允许以任何方

    2023年04月17日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包