ES集群部署说明

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

一、几个基本概念说明

    1. 集群(cluster)

ES的一个概念就是去中心化,字面上理解就是无中心节,与集群中任何一个节点的通信和与整个集群通信是等价的。

2、节点(node)

ES集群中节点粗略分为:
1)候选主节点(主要负责主节点选举,被选举成为主节点后,管理集群变更,如创建或删除索引,跟踪哪些节点是群集的一部分,并决定哪些分片分配给相关的节点)

2)数据节点(主要用于存储分片数据与副本数据,可接收数据读写请求)

3)协调节点(既不负责节点选举,也不负责数据存储,仅能接收数据请求与数据汇总,起到负载分流的作用)。

注:

1)节点可既是候选主节点,也是数据节点。(但在大数据集群中不建议如此使用,防止主节点过大而宕机,导致集群无法使用)。
2)候选主节点数需为奇数,如果为偶数ES集群自动忽略一个候选主节点,如果超过半数候选主节点不可用,整个集群失效,建议候选主节点数为3.

  1. 分片

主分片用以解决水平扩展的问题,通过主分片可以将数据分布到集群内的所有节点上(主分片数是索引创建时指定的,一旦创建不允许更改,除非reindex)

增加数据节点,集群自动重新规划分片存放的节点,如:

原有6个分片,2个数据节点,分布如下:

node0

node1

shard 0, shard 1, shard 2

shard 3, shard 4, shard 5

增加一个节点入集群,即三个数据节点,分布如下:

node0

node1

node2

shard 0, shard 1

shard 2, shard 3

shard 4, shard 5

分片数过小(导致后续无法通过增加节点来水平扩容,即上面的例子,超过6个数据节点后再增加节点,无法起到预想的扩容效果,会导致单分片数据过大)

  1. 副本

副本为分片数据备份,可作为主分片数据宕机后数据恢复的依据,同时也可以承担数据请求查询压力,即副本增加可提升负载能力。

注:主分片与副本不会在同一个节点上,单机副本无效。

索引设置有3个分片P,1个副本数据R

node0

node1

node2

P0

P1

P2

R1

R2

R0

  1. 路由规则

hash(routing<默认为_id>) % 主分片数

二、测试环境部署情况

1)、部署地址

集群名称:wasion-overseas-cluster

节点名称

wasion-overseas-1

wasion-overseas-2

wasion-overseas-3

地址

172.20.8.130

172.20.8.130

172.20.8.154

HTTP通信端口

9200

9202

9500

集群通讯端口

9400

9402

9400

候选主节点

数据节点

2)、配置信息

#集群名称

cluster.name: wasion-overseas-cluster

#节点名称

node.name: wasion-overseas-1

#节点ip地址

network.host: 172.20.8.130

#节点http通信端口

http.port: 9200

#集群通信端口

transport.tcp.port: 9400

#集群候选主节点列表

discovery.seed_hosts: ["172.20.8.130:9400", "172.20.8.130:9402", "172.20.8.154:9400"]

#默认启动主节点

cluster.initial_master_nodes: ["wasion-overseas-1"]

3)、查询集群情况

GET /_cluster/health

GET _cat/nodes?v

三、索引创建说明

PUT _template/kafka_topic

{

         "index_patterns":[

        "kafka_topic"

    ],

    "settings":{

        "number_of_shards": 5, #分片数量

        "number_of_replicas": 1, #副本数量

        "max_result_window": 5000

    },

    "mappings":{

        "properties":{

                            "id":{

                                     "type":"keyword",

                "index":"true"

                            },

            "name":{

                "type":"keyword",

                "index":"true"

            },

            "offset":{

                "type":"long",

                "index":"false"

            },

                            "sum":{

                "type":"long",

                "index":"false"

            },

            "partitionIdx":{

                "type":"long",

                "index":"true"

            },

                            "updateTime":{

                                     "type":"keyword",

                                     "index":"false"

                            }

                   }

    }

}

四、icon项目部署规划

每日最大数据量为:5760000(15分钟日冻结) + 120000 (日快照数据) + 60000 (月冻结数) = 5940000

单条数据平均大小:400B

每日数据总容量:5940000 * 400B = 2.2GB

每月总容量:66GB

三个分片,每个分片是22GB

五个分片,每个分片是13.2GB

得出结论数据按月分表,单索引总量为66G,数据5个分片,每个分片数据不会超过20G

集群各节点如下:

节点

mdr-0

mdr-1

mdr-2

地址

10.232.107.244

10.232.107.243

10.232.107.245

http通信端口

9200

9200

9200

集群通信端口

9300

9300

9300

候选主节点

数据节点

初始化主节点

ES数据存储地址

C:\MDR\elasticsearch-7.12.0

C:\MDR\elasticsearch-7.12.0

C:\MDR\elasticsearch-7.12.0

内存配置

-Xmx12g –Xms12g –Xmn6g

-Xmx12g –Xms12g –Xmn6g

-Xmx12g –Xms12g –Xmn6g

五、ES集群重启方案

1、停止数据分片,停止数据入库

PUT _cluster/settings?pretty

{

  "persistent": {

    "cluster.routing.allocation.enable": "all"

  }

}

2、重启节点

3、恢复数据分片与恢复数据入库

PUT _cluster/settings?pretty

{

  "persistent": {

    "cluster.routing.allocation.enable": "all"

  }

}

六、日索引合并至月索引方案

合并命令

POST _reindex?slices=9&refresh&wait_for_completion=false

{

  "source": {

    "index": "frozen_curve_20220201,frozen_curve_20220202,frozen_curve_20220203,frozen_curve_20220204,frozen_curve_20220205,frozen_curve_20220206,frozen_curve_20220207,frozen_curve_20220208,frozen_curve_20220209,frozen_curve_20220210,frozen_curve_20220211,frozen_curve_20220212,frozen_curve_20220213,frozen_curve_20220214,frozen_curve_20220215,frozen_curve_20220216,frozen_curve_20220217,frozen_curve_20220218,frozen_curve_20220219,frozen_curve_20220221,frozen_curve_20220222,frozen_curve_20220223,frozen_curve_20220224,frozen_curve_20220225,frozen_curve_20220226,frozen_curve_20220227,frozen_curve_20220228",

    "size": 5000

  },

  "dest": {

    "index": "frozen_curve_202202"

  }

}

执行合并之后,kibana会立即返回一个任务ID

根据如下命令查看任务进度
GET _cat/tasks?detailed=true&actions=*reindex文章来源地址https://www.toymoban.com/news/detail-417021.html

到了这里,关于ES集群部署说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 云计算的基本概念术语说明和核心算法原理

    作者:禅与计算机程序设计艺术 云计算的基本概念是分布式处理、并行处理和网格计算的发展,是一种新兴的商业计算模型。它通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,使得企业数据中心的运行更与互联网相似。云计算的核心算法原理包括

    2024年02月14日
    浏览(51)
  • elasticSearch核心概念的介绍(十四):ES集群索引分片管理

    上一章节我们对ES的集群进行了搭建,有兴趣的朋友可以参考一下elasticSearch核心概念的介绍(十三):docker搭建ES集群 这里我们来介绍了ES集群索引的分片管理 ES集群索引分片管理 介绍 分片(shard):因为ES是个分布式的搜索引擎,所以索引通常都会分解成不同部分,而这些

    2023年04月27日
    浏览(56)
  • 【中间件】ElasticSearch:ES的基本概念与基本使用

    Index索引、Type类型,类似于数据库中的数据库和表,我们说,ES的数据存储在某个索引的某个类型中(某个数据库的某个表中),Document文档(JSON格式),相当于是数据库中内容的存储方式 MySQL:数据库、表、数据 ElasticSearch:索引、类型、文档 ElasticSearch的检索功能基于其倒

    2024年02月04日
    浏览(46)
  • Elasticsearch 系列(二)- ES的基本概念

    本章将和大家分享 Elasticsearch 的一些基本概念。话不多说,下面我们直接进入主题。 Lucene是Apache的开源搜索引擎类库,提供了搜索引擎的核心API。 1、Lucene的优势:易扩展、高性能(基于倒排索引) 2、Lucene的缺点:只限于Java语言开发、学习曲线陡峭、不支持水平扩展 Elast

    2024年02月05日
    浏览(38)
  • Android OpenGL ES 学习(一) -- 基本概念

    OpenGL 学习教程 Android OpenGL ES 学习(一) – 基本概念 Android OpenGL ES 学习(二) – 图形渲染管线和GLSL Android OpenGL ES 学习(三) – 绘制平面图形 Android OpenGL ES 学习(四) – 正交投屏 Android OpenGL ES 学习(五) – 渐变色 Android OpenGL ES 学习(六) – 使用 VBO、VAO 和 EBO/IBO 优化程序 Android OpenG

    2024年01月23日
    浏览(43)
  • 袁庭新ES系列01节 | 全⽂检索基本概念

    搜索给我们的生活带来了一种新的获取信息的方式,改变着我们的生活。而如何高效精准查找信息?下面袁老师将带你进入搜索的世界,去一探究竟。 当今信息爆炸的时代,信息每天都在以惊人的速度增长。我们生活中的数据总体分为两种:结构化数据和非结构化数据。 结

    2024年02月21日
    浏览(46)
  • ES-IK分词器的概念和基本使用

      ES IK分词器是一种基于中文文本的分词器,它是Elasticsearch中文分词的一种实现。它采用了自然语言处理技术,可以将中文文本进行切分,抽取出其中的词汇,从而提高搜索引擎对中文文本的搜索和检索效率。   ES IK分词器的原理是采用了一种叫做“正向最大匹配”(

    2024年02月16日
    浏览(40)
  • docker 部署 ES集群

    在/opt/software 目录下新建docker目录,上传docker_build.sh脚本并执行 在/opt/software/es/config下新建 elasticsearch.yml 文件并编辑 每台服务器注意区分节点名称及IP root用户修改/etc/security/limits.conf,添加如下,提高进程及资源使用限制上限 执行命令使其生效 修改/etc/systemd/system.conf,添加

    2023年04月15日
    浏览(43)
  • ES8 集群部署

    准备至少三个节点,配置至少为4核心8G内存 节点名称 节点IP node1 192.168.0.1 node2 192.168.0.2 node3 192.168.0.3 关闭三个节点的防火墙 ​ 1、添加ES用户 es不允许root启动 2、创建安装目录并授权 3、修改操作系统配置 ​ 注意:请严格按照安装顺序来,否则都是坑 ​ 以下步骤都在用户

    2024年02月01日
    浏览(63)
  • ES的集群部署

    2.1、elasticsearch.yml配置 2.1.1、cluster.name与node.name 2.1.2、node.master与node.data 2.1.3、network.host 2.1.3、path.data(要加上全路径/usr/local/elasticsearch-7.6.2,否则会找不到路径) 2.1.3、path.logs(要加上全路径/usr/local/elasticsearch-7.6.2,否则会找不到路径) 2.1.4、discovery.seed_hosts   2.1.5、action

    2024年02月15日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包