ElasticSearch 集群搭建与状态监控cerebro

单机的elasticsearch做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题。为了解决存储能力上上限问题就可以用到集群部署。

  • 海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到多个节点
  • 单点故障问题:将分片数据在不同节点备份 (replica ) 

 

目录

一、部署es集群

二、集群搭建案例:利用3个docker容器模拟3个es的节点

2.1 首先编写一个docker-compost文件,代码如下

2.2 es运行需要修改一些lintx系统权限

 2.3 集群状态监控(cerebro)

  2.4 创建索引库


 

一、部署es集群

在单机上利用docker容器运行多个es实例来模拟es集群。在生产环境中推荐每一台服务节点仅部署一个es的实例。
部署es集群可以直接使用docker-compose来完成,但要求Linux虚拟机至少有4GI的内存空间。 

二、集群搭建案例:利用3个docker容器模拟3个es的节点

 

2.1 首先编写一个docker-compost文件,代码如下
version:"2.2
services:es01:image: elasticsearch:7.12.1container_name: es01environment:- node .name=ego1-cluster.name=es-docker-cluster-discovery.seed_hosts=es02,es3-cluster.initial_master_nodes=es1es02 ,es03-"ES_JAVA_OPTS=-Xms512m -Xmx512m"volumes:-data01:/usr/share/elasticsearch/dataports:-9200:9200networks:-elastices02:image: elasticsearch:7.12.1container_name: es02environment:-node.name=es02-cluster.name=es-docker-cluster-discovery.seed_hosts=es01,es03-cluster.initial_master_nodes=es01,es02,es03-"ES_JAVA_OPTS=-Xms512m -Xmx512m"volumes:-data02:/usr/share/elasticsearch/dataports:9201:9200networks:-elastices03:image: elasticsearch:7.12.1container_name: es03environment:-node.name=es03-cluster.name=es-docker-cluster-discovery.seed_hosts=es01,es02-cluster.initial_master_nodes=es01,es02,es03-"ES_JAVA_OPTS=-Xms512m -Xmx512m"volumes:-data03:/usr/share/elasticsearch/dataports:9202:9200networks:-elastic
2.2 es运行需要修改一些lintx系统权限

(1) 修改 /etc/sysctl.conf  文件

vi   /etc/sysctl.conf 

(2) 添加下面的内容

 vm.max_map_count=262144

(3) 然后执行命令,让配置生效

 sysctl -p

(4) 通过docker-compose启动集群 

docker-compose up -d 

 2.3 集群状态监控(cerebro)

kibana可以监控es集群,不过新版本需要依赖es的x-pack 功能,配置比较复杂。

推荐使用cerebro来监控es集群状态,官方网址:https://github.com/lmenezes/cerebro 

 

启动 cerebro 服务

 访问登录cerebro

 集群状态

  2.4 创建索引库

第一种方式:利用kibana的DevTools创建索引库 ,在DevTools中输入指令

PuT   /itcast

{

        "settings" : {
                "number_of_shards": 3,// 分片款量

                "number_of_replicas": 1 // 副本数

        },

        "mappings" : {

                "properties":{

                        //mapping晚射定义 

                }    

        }

}

第二种方式:利用cerebro创建索引库

填写索引库信息

 

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

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

相关文章

初学编程,到底选Java还是C++?

初学编程,到底选Java还是C? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「C的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!&#x…

stable diffusion 人物高级提示词(三)动作、表情、眼神

一、动作 中文英文站立Standing走路Walking身体前倾Leaning Forward鞠躬Bowing战斗姿势Fighting Stance单腿站立Standing on One Leg坐在椅子上Sitting on a Chair手叉腰Hand on Hip手插兜Hand in Pocket双臂交叉Crossed Arms翘二郎腿Crossed Legs跪地Kneeling双手举起来Hands…

新手可理解的PyTorch线性层解析:神经网络的构建基石

目录 torch.nn子模块Linear Layers详解 nn.Identity Identity 类描述 Identity 类的功能和作用 Identity 类的参数 形状 示例代码 nn.Linear Linear 类描述 Linear 类的功能和作用 Linear 类的参数 形状 变量 示例代码 nn.Bilinear Bilinear 类的功能和作用 B…

为什么说上了金蝶、用友系统后,下一步是部署BI?

经常有些不熟悉BI工具的用户问我:金蝶、用友系统和BI工具与什么区别,为什么说上了金蝶、用友系统后,下一步就是部署BI?这两个系统工具的功能不重叠吗? 首先,要了解金蝶、用友系统和BI工具的各自作用。 金…

使用 pg_stat_statements 优化查询

使用 pg_stat_statements 优化查询 就使用量和社区规模而言,PostgreSQL 是增长最快的数据库之一,得到许多专业开发人员的支持,并得到广泛的工具、连接器、库和可视化应用程序生态系统的支持。 PostgreSQL 也是可扩展的:使用 Postg…

“晨曦记账本:筛选特定时间段内的借款信息,管理更轻松!“

晨曦记账本,为您的财务记录带来前所未有的便捷!现在,我们推出了一项新功能,让您能够轻松筛选特定时间段内的借款信息。这不仅让您更轻松地管理借款记录,还能确保您的财务数据一目了然。 首先,我们要打开晨…

【ESP32接入语言大模型之通义千问】

1. 通义千问 讲解视频: ESP32接入语言大模型之通义千问 随着人工智能技术的不断发展,自然语言处理领域也得到了广泛的关注和应用。通义千问由阿里云开发,目标是帮助用户获得准确、有用的信息,解决他们的问题和困惑,也…

湖南大学-数据库系统-2023期末考试【原题】

前言 早上11:00考完的考试,下午回来打了三把LOL之后,凭着回忆把题目重现出来了。 在复习的时候刷了15,16,17,18,19,21六年的卷子,感觉题目都差不多,但是难度…

如何保障开放网络边界安全?

针对开放式网络(办事大厅、视频网络等),如何在内部网络构建起一道安全屏障,有效解决广大用户普遍存在的无法保证网络边界完整、边界安全、公共场所终端摄像头管理、办事大厅智能设备(一体机等)管理、开放场…

Intel IGCL规格指南和示例代码

Intel IGCL规格指南和示例代码 IGCL 旨在成为用于硬件(主要是图形)所有控制方面的高级 API 的集合。它取代了传统的英特尔 CUISDK,后者过去仅发布给 OEM 和选定的客户。 IGCL 允许对显示、媒体和 3D 功能进行全局控制和调整。 相关官网地址为…

软件测试金融项目经验总结,面试题都问什么?

1、APP端/客户端接口加解密介绍 加密方式(两种): 在TCP/IP四层模型中的应用层进行加密。类似密码本,当前项目使用的是这种,可以看到所有响应内容,只是看不懂。 在TCP/IP四层模型中的运输层和应用层之间进行…

理解String 及 String.intern() 在实际中的应用

1. 首先String不属于8种基本数据类型,String是一个对象。     因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。   2. new String()和new String(“”)都是申明一个…