8 集群管理

news/2024/5/19 22:30:55/文章来源:https://blog.csdn.net/qq_29216579/article/details/130592739

8 集群管理

8.1 集群结构

ES通常以集群方式工作,这样做不仅能够提高 ES的搜索能力还可以处理大数据搜索的能力,同时也增加了系统的容错能力及高可用,ES可以实现PB级数据的搜索。

下图是ES集群结构的示意图:

image-20200130215521783

从上图总结以下概念:

1、结点

ES集群由多个服务器组成,每个服务器即为一个Node结点(该服务只部署了一个ES进程)。

2、分片

当我们的文档量很大时,由于内存和硬盘的限制,同时也为了提高ES的处理能力、容错能力及高可用能力,我们将索引分成若干分片,每个分片可以放在不同的服务器,这样就实现了多个服务器共同对外提供索引及搜索服务。

一个搜索请求过来,会分别从各个分片去查询,最后将查询到的数据合并返回给用户。

3、副本

为了提高ES的高可用同时也为了提高搜索的吞吐量,我们将分片复制一份或多份存储在其它的服务器,这样即使当前的服务器挂掉了,拥有副本的服务器照常可以提供服务。

4、主结点

一个集群中会有一个或多个主结点,主结点的作用是集群管理,比如增加节点,移除节点等,主结点挂掉后ES会重新选一个主结点。

5、结点转发

每个结点都知道其它结点的信息,我们可以对任意一个结点发起请求,接收请求的结点会转发给其它结点查询数

据。

8.2 搭建集群

下边的例子实现创建一个2结点的集群,并且索引的分片我们设置2片,每片一个副本。

8.2.1 结点的三个角色

主结点:master节点主要用于集群的管理及索引 比如新增结点、分片分配、索引的新增和删除等。 数据结点:

data 节点上保存了数据分片,它负责索引和搜索操作。 客户端结点:client 节点仅作为请求客户端存在,client的

作用也作为负载均衡器,client 节点不存数据,只是将请求均衡转发到其它结点。

通过下边两项参数来配置结点的功能:

node.master: #是否允许为主结点

node.data: #允许存储数据作为数据结点

node.ingest: #是否允许成为协调节点,

四种组合方式:

master=true,data=true:即是主结点又是数据结点

master=false,data=true:仅是数据结点

master=true,data=false:仅是主结点,不存储数据

master=false,data=false:即不是主结点也不是数据结点,此时可设置ingest为true表示它是一个客户端。

8.2.2创建结点 1

解压elasticsearch-6.2.1.zip 到 F:\devenv\elasticsearch\es-cloud-1\elasticsearch-6.2.1

结点1对外服务的http端口是:9200

集群管理端口是9300

配置elasticsearch.yml

结点名:xc_node_1

elasticsearch.yml内容如下

cluster.name: xuecheng 
node.name: xc_node_1 
network.host: 0.0.0.0 
http.port: 9200 
transport.tcp.port: 9300 
node.master: true 
node.data: true
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301"] 
discovery.zen.minimum_master_nodes: 1 
node.ingest: true 
node.max_local_storage_nodes: 2 
path.data: D:\ElasticSearch\elasticsearch‐6.2.1‐1\data 
path.logs: D:\ElasticSearch\elasticsearch‐6.2.1‐1\logs 
http.cors.enabled: true 
http.cors.allow‐origin: /.*/ 

启动结点1

8.2.3创建结点 2

解压elasticsearch-6.2.1.zip 到 F:\devenv\elasticsearch\es-cloud-2\elasticsearch-6.2.1

结点1对外服务的http端口是:9201

集群管理端口是9302

结点名:xc_node_2

elasticsearch.yml内容如下

cluster.name: xuecheng 
node.name: xc_node_2 
network.host: 0.0.0.0 
http.port: 9201 
transport.tcp.port: 9301 
node.master: true 
node.data: true 
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301"] 
discovery.zen.minimum_master_nodes: 1
node.ingest: true 
node.max_local_storage_nodes: 2 
path.data: D:\ElasticSearch\elasticsearch‐6.2.1‐2\data 
path.logs: D:\ElasticSearch\elasticsearch‐6.2.1‐2\logs 
http.cors.enabled: true 
http.cors.allow‐origin: /.*/

启动结点2

8.2.4 创建索引库

1)使用head连上其中一个结点

image-20200130215938436

上图表示两个结点已经创建成功。

2)下边创建索引库,共2个分片,每个分片一个副本。

image-20200130220000425

创建成功,刷新head:

image-20200130220018840

上图可以看到共有4个分片,其中两个分片是副本。

3)每个结点安装IK分词器

8.2.5 集群的健康

通过访问 GET /_cluster/health 来查看Elasticsearch 的集群健康情况。

用三种颜色来展示健康状态: green 、 yellow 或者 red 。

green:所有的主分片和副本分片都正常运行。 yellow:所有的主分片都正常运行,但有些副本分片运行不正常。

red:存在主分片运行不正常。

Get请求:http://localhost:9200/_cluster/health

响应结果:

{ "cluster_name": "xuecheng", "status": "green", "timed_out": false, "number_of_nodes": 2, "number_of_data_nodes": 2, "active_primary_shards": 2, "active_shards": 4, "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 }

8.3 测试

1)创建映射并写入文档

连接 其中任意一台结点,创建映射写入文档。

Post http://localhost:9200/xc_course/doc/3

{"name": "spring开发基础", "description": "spring 在java领域非常流行,java软件开发人员都在用。", "studymodel": "201001", "price":66.6 }

响应结果:

{ "_index": "xc_course", "_type": "doc", "_id": "3", "_version": 1, "result": "created", "_shards": { "total": 2, "successful": 2, "failed": 0 },"_seq_no": 0, "_primary_term": 1 }

从上边的提示可看出,两个分片都保存成功。

2)搜索

向其它一个结点发起搜索请求,查询全部数据。

3)关闭一个结点

ES会重新选中一个主结点(前提在配置结点时允许它可以为主结点)

image-20200130220226771

此时向活的结点发起搜索请求,仍然正常。

4)添加一个结点

添加结点3,端口设置为:

http端口是:9202

集群管理端口是9302

结点名:xc_node_3

此结点的配置:

node.master: false node.data: true

启动结点3,刷新head,下图显示ES将分片分在了3个结点

image-20200130220254649

向结点3发起搜索请求:

Get: http://127.0.0.1:9202/xc_course/doc/_search

全部数据可被正常搜索到。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_298917.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ChirpStack 】如何获取 JWT TOKEN并利用 API 下发数据?

LoRa App Server 提供了两类 API 接口,其中 RESTful JSON API 提供了一个 API console,在AS地址的基础上使用 /api 即可访问,罗列了 API 端点和文档介绍,测试起来非常方便。 本文主要介绍 如何使用 chirpstack 的API 进行测试以及…

187页9万字企业大数据治理与云平台实施方案(word)

1 项目背景概述 1.1 项目背景理解 1.2 项目需求范围 2 项目技术方案 2.1 咨询研究服务方案 2.1.1 咨询研究服务内容 2.1.2 咨询服务方案 2.2 第三方独立评估 2.2.1 概述 2.2.2 管理办法 2.2.3 考核机制 2.3 安全咨询研究服务方案 2.3.1 安全咨询服务内…

静态库和动态库的制作与使用

1.静态库的制作与使用 小知识:删除命令行,或者是配置好的路径之类的:退出编辑模式后:dd 保存并退出:退出编辑模式后,:wq (1)静态库的制作 1.首先生成你需要加入的文件的.O文件。使用如下代码 …

(浙大陈越版)数据结构 第二章 线性结构 2.4 多项式的加法和乘法运算实现

目录 2.4.1多项式的加法运算实现 如何设计一个函数分别求两个一元多项式的和? 算法思路:两个指针p1,p2分别指向两个多项式的第一个结点(最高项)并循环 循环: 2.4.2 多项式的乘积 1.多项式的表示 2.程…

前端本地存储方案-localForage

1 前言 前端有多种本地存储方案可供选择,以下是其中一些常见的方案: Cookie:Cookie是一种小型的文本文件,可以在浏览器中存储少量数据。Cookie通常用于存储会话信息或用户偏好设置等数据(只能存储少量数据&#xff0…

c语言实现三子棋(思路+项目展示+源代码)

📕博主介绍:目前大一正在学习c语言,数据结构,计算机网络。 c语言学习,是为了更好的学习其他的编程语言,C语言是母体语言,是人机交互接近底层的桥梁。 本章来写一个三子棋小游戏吧。 让我们开启c…

eSIM证书要求-证书验证-EID

SM-DP 和 SM-DS 应该验证 EUM 和 eUICC 证书中限制的 IIN 和 EID 的一致性(参见第 4.5.2.1.0.2 和 4.5.2.1.0.3 节),并考虑 SGP.29 [ 89]。 根据 SGP.29 [89] 颁发的 EID 没有 SGP.02 [2] 中定义的 8 位 IIN。 相反,它们具有可变长…

系统移植 5-10

1.进入linux内核源码目录下&#xff0c;打开Makefile文件&#xff0c;搜索vmlinux&#xff0c;找到cmd_link-vmlinux命令&#xff0c; 1179 cmd_link-vmlinux \ 1180 $(CONFIG_SHELL) $< "$(LD)" "…

NOA上车「清一色」自主品牌,哪些供应商正在突围前线

随着入门级L2进入普及周期&#xff0c;以NOA&#xff08;高速、城区&#xff09;为代表的L2/L2赛道&#xff0c;正在成为主机厂、硬件供应商、算法及软件方案商的下一波市场制高点的争夺阵地。 高工智能汽车研究院监测数据显示&#xff0c;2023年1-3月中国市场&#xff08;不含…

Linux shell编程 数组 ^ 数组排序

数组定义 数组内数据类型可以为数值也可以为字符串。 若字符串类型需要使用 " " 包含以免空格扰乱数组。 方法1 空格分隔直接定义数组 arr(10 20 30 40 50) arr1(zhangsan lisi wangwu) 方法2 指定元素下标定义&#xff0c;若跳过元素不设置会显示为空 arr([0]1…

科技云报道:ChatGPT应用爆火,安全的大数据底座何处寻?

科技云报道原创。 毫无疑问&#xff0c;AIGC正在给人类社会带来一场深刻的变革。 而剥开其令人眼花缭乱的华丽外表&#xff0c;运行的核心离不开海量的数据支持。 ChatGPT的“入侵”已经引起了各行各业对内容抄袭的担忧&#xff0c;以及网络数据安全意识的提高。 虽然AI技术…

如何考核产品经理的绩效?

公司里几乎任何一个岗位都会被考核&#xff0c;产品经理也不例外。那么在产品经理实际工作该如何去考核呢&#xff1f;相信即将步入或身在职场的产品经理一定感兴趣&#xff0c;其实产品经理考核主要分为业绩考核和文化考核两大部分&#xff0c;下面将这两部分具体聊聊。 一、…

Xilinx 7系列FPGA内置ADC

Xilinx 7系列FPGA全系内置了一个ADC&#xff0c;称之为XADC。这个XADC&#xff0c;内部是两个1mbps的ADC&#xff0c;可以采集模拟信号转为数字信号送给FPGA内部使用。 XADC内部可以直接获取芯片结温和FPGA的若干供电电压&#xff08;7系列不包括VCCO&#xff09;&#xff0c;用…

翻遍GitHub帮你总结了一份并发图册+高并发笔记,一次性搞懂并发编程

前言 现在的面试&#xff0c;动不动就是“三高”&#xff0c;Java并发编程已然成为名企大厂面试的必考问题&#xff0c;其重要性不⾔⽽喻。 我也问了一些面试官&#xff0c;他们说&#xff1a;很多面试者&#xff0c;最基本的Java内存模型和JVM内存结构都分不清楚&#xff0c…

华硕ROG|玩家国度魔霸新锐2023 Windows11原厂预装系统 工厂模式恢复安装带ASUSRecevory一键还原

华硕ROG|玩家国度魔霸新锐2023 Windows11原厂预装系统 工厂模式恢复安装带ASUSRecevory一键还原 文件地址&#xff1a;https://pan.baidu.com/s/1snKOsH3OMl3GZLqeAf-GLA?pwd8888 华硕工厂恢复系统 &#xff0c;安装结束后带隐藏分区以及机器所有驱动软件 需准备一个16G左右…

Unity Audio -- (3)创建3D音效

本节会添加场景中小瀑布的音效。小瀑布的音效会有一个作用范围&#xff0c;也会根据角色所处的位置不同&#xff0c;产生不同的效果。 添加小瀑布的声音 1. 在Hierarchy中&#xff0c;点击右键&#xff0c;选择Audio -> Create Audio Source&#xff0c;将这个新的Audio So…

C/C++每日一练(20230510) 编辑距离、多数元素、数列累和

目录 1. 编辑距离 &#x1f31f;&#x1f31f;&#x1f31f; 2. 多数元素 &#x1f31f; 3. 求分数数列的前N项和 ※ &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 编辑距离 给你…

Baumer工业相机堡盟工业相机如何进行多个工业相机IP地址配置

Baumer工业相机堡盟工业相机如何进行多个工业相机IP地址配置 Baumer工业相机Baumer工业相机进行多相机IP配置的技术背景Baumer工业相机如何进行多相机IP配置1.配置Baumer工业相机连接的PC端IP地址2.配置Baumer工业相机的IP地址 Baumer工业相机 Baumer工业相机堡盟相机是一种高…

pc端项目的h5页面运行在手机浏览器使用vconsole查看页面元素、控制台、请求等信息

文章目录 一、vconsole介绍1. 作用2. 优势 二、使用1、jq项目和js项目2、vue项目 三、使用介绍1. 使用成功&#xff0c;在页面右下角会出现如下图的vConsole2. 常用功能&#xff08;控制台、请求、元素、存储器&#xff09; 一、vconsole介绍 1. 作用 使用vconsole来查看h5页…

车载以太网 - SomeIP - TC8用例常见缩写

对于初接触SomeIP的朋友来说,看测试用例最大的烦恼我想不仅仅是来自纯英文的描述,更多的一定无休止的缩写,那这些缩写到底代表什么意思呢,我也是深受其害的人,因此就把对应的缩写、中文、英文整理出来了,希望能对大家有所帮助。 常见缩写及中英文注释 SomeIP常见缩写英文…