360私有云平台Elasticsearch服务初探
Elasticsearch
Elasticsearch 是一款基于Apache Lucene框架构建的开源的、分布式的、可扩展的、(准)实时的文档存储和搜索引擎。在提供搜索服务以及日志分析方面已经日趋成熟,尤其是在Elasticsearch 5.x发布之后,在规范性、功能、性能等方面都有了极大的改进,并且进入了迅速迭代的过程,版本发布之快令人乍舌。
360Hulk云平台,作为业界首屈一指的私有云平台,绝不甘落寞,也在Elasticsearch上做了很多尝试,推出了面向搜索的Elasticsearch服务和面向日志分析的ELK服务。目前已经在公司内部大范围应用,承载数据量200+TB,日访问量超1000亿次。今天小编就为大家带来Elasticsearch在360私有云平台的实践。
Elasticsearch服务架构
Master节点独立
因为master承担着集群元数据管理的职责,例如indices、sharding等信息的维护,如果master节点和data节点混用的话,master相关功能的性能没法保证,而且一旦发生故障,集群恢复时间将被大大拉长。因此我们的Elasticsearch集群采用3个独立的master方案(有且只有唯一的一个节点真正承担着master的角色),一方面保证master相关功能的稳定,另一方面通过配置discovery.zen.minimum_master_nodes: 2降低了master选举时出现脑裂的几率。
负载均衡
我们使用data节点承接访问,但是为了业务使用的便捷性,集群使用了LVS将请求均衡的分担到各个data节点;同时提供了RS的动态监测机制,当data节点失联的时候,LVS会自动过滤掉该节点的请求。
业务独享集群
结合360业务的特点,为了尽量适配不同业务的需求场景,同时尽量降低各个业务线之间的相互影响,每个业务线可以申请自己独享的集群。同时,这种方案还大大降低了Elasticsearch集群不可用(当然这种情况出现几率极低,但不能保证不发生)的时候影响业务的范围。
用户认证和权限隔离
集群集成了SearchGuard(不要问我为啥不用X-Pack,因为穷,且懒),实现了用户认证和访问权限控制,做到了集群内部更细粒度的隔离,实现了各个子业务线内部应用之间的访问隔离。
分词支持
集群默认集成了ik分词(小编在这给各位看官一点提示:因为Elasticsearch 5.x之后关闭了Site Plugins的支持,所以需要自己编译然后拷贝相应文件到Elasticsearch Plugin目录),并且支持扩展分词词典和stopword扩展词典的动态更新。
用户端功能
基于Hulk私有云平台的自助功能
集群申请
状态查看
常用性能监控图表
indices展示
权限申请等自助服务
新建集群
提供多种类型配置的套餐
提供多种类型配置的套餐可供业务选择,兼顾空间、成本和性能的考量。
界面化展示
默认提供配置好的Kibana服务,用户可以开箱即用,不用自己搭建和维护。
管理员功能
基于Hulk私有云平台的管理功能
群集的配置
集群初始化
节点启停管理
资源回收等功能
Zabbix监控
基于FromDual框架的自定义监控指标,全面监控集群运行状态,及时告警;并且实现了简单场景的故障自动恢复(例如由节点存活报警自动触发的进程自启动等)
WebAdmin管理功能扩展
Elasticsearch 5.x之后关闭了对Site Plugins的支持,直接导致了诸如head、kopf等一批插件死翘翘。不过作者对kopf功能进行了彻底的重构(using Scala, Play Framework, AngularJS and Bootstrap),推出和Elasticsearch完全解耦的Cerebro,不仅外观看起来更加高大上,支持独立部署,而且在易用性以及对Elasticsearch更高版本特性的支持上都有了很大提升。
总结
怎么样,看了上面的介绍,各位看官是不是都想跃跃欲试了呢。欢迎大家积极留言探讨。
我们后续也会持续推出Elasticsearch服务在360私有云平台实践过程中的诸多技术点来跟大家分享,敬请期待吧。
扩展阅读:
《谨慎前行-浅谈Elasticsearch安全策略》
《Elasticsearch认证及安全》
《AIOps时代下的利器:ELK》
360私有云平台Elasticsearch服务初探相关推荐
- 360 私有云平台 MySQL 自动化实现剖析
本文源自 7 月 13 日『高效开发运维』微信群的在线分享,转载请在文章开头注明来自『高效开发运维』公众号.加群学习请关注『高效开发运维』公众号,并点击菜单中的"加群学习"或直 ...
- 360私有云平台-HULK 5岁啦~
HULK五周年 2017 12.25 祝大家圣诞节快乐哦- 今天也是HULK宝宝来到360的第1825天. 喏~~这是小HULK的自我介绍 HULK云平台是奇虎360WEB平台部于2012年底开始立项 ...
- 容器赋能AI-人工智能在360私有云容器服务上的实践
女主宣言 360私有云容器服务团队和人工智能研究院团队一起配合,在云端提升机器学习的效能方面进行了深入的研究和实践,为业务提供了"人脸检测"."花屏检测".&q ...
- 360私有云发布Windows平台测试版
游侠安全网在前一段曾经给大家介绍过360私有云的一些情况(原文).当时的系统基于CentOS,而今天游侠拿到的版本则是Windows版本. 当然,Windows下的360私有云部署是非常简单的,安装包 ...
- 云平台队列服务-Qbus实践
女主宣言 小编这篇文章从Qbus服务介绍.架构.使用场景开展,不涉及到队列底层具体实现原理,只讲把Qbus服务上到私有云的过程,希望给有相同需求的各位带来一点有价值的东西.下来就跟随作者一同学习下吧. ...
- 视频私有云实战:基于Docker构建点播私有云平台
私有云是为一个客户单独使用而构建的,因而提供对数据.安全性和服务质量的最有效控制.前置条件是客户拥有基础设施,并可以使用基础设施在其上部署应用程序.其核心属性是专有的资源.本篇文章将会结合网易云信的实 ...
- 小米基于OpenStack搭建私有云平台技术架构大揭秘!
摘要: 小米公司OpenStack项目的技术负责人潘晓东分享在使用OpenStack建设小米私有云平台的一些经验和踩过的一些坑,重点探讨在目前OpenStack还不太稳定的情况下,如何建设一个具备企业 ...
- AWS云平台的服务概览
当我们向别人解释AWS云平台所包含的那些服务的时候,许多人对AWS服务种类的丰富程度都表示惊讶.对于部分听说过AWS的人来说,他们知道AWS云平台的功能主要限于EC2(弹性计算云).S3(简单存储服务 ...
- 【方案阐述】如何实现私有云平台的统一管理与向上级联?
一.背景分析 科技创新对社会发展的重要性不言而喻.对于安防行业来说,人工智能和5G等新技术的应用,已经成为推动智能安防发展的一块关键踏板.从技术维度来看,人工智能.云计算.大数据.物联网等技术在安防视 ...
最新文章
- 我的Oracle 9i学习日志(20)-- profile
- 数据结构源码笔记(C语言):Josephus问题之循环链接表
- 第四章第四个例题(LRJ)
- 自然语言处理NLP,如何使用AMBERT算法建立多粒度token预训练语言模型
- Mybatis学习总结二
- 系统无法在消息文件中为application_iOS 14 Filza 文件消息,M1 能用 win 系统
- layui选项卡嵌套选项卡_在ProtoPie中使用嵌套组件构建选项卡栏
- VS2017无法打开文件MSVCRTD.lib
- 天津市电子计算机职业学院,天津市电子计算机职业中等专业学校
- 【实操手册】如何把一场直播录制下来?
- 浅谈Scala 2.8的包对象(package object)
- 为项目编写Readme.MD文件
- 按键精灵注册大漠插件
- 智能人体感应灯,微波雷达存在感应,智能照明技术方案
- CodeFroces GYM 2016-2017 ACM-ICPC, Egyptian Collegiate Programming Contest (ECPC 16) B.street(最短路)
- 跟风“涨价”,品牌老化,为何“0糖”的奥利奥不被消费者买账?
- 播放器实战 10 像素格式与尺寸的转换
- Windows系统提示“telnet不是内部或外部命令,也不是可运行的程序或批处理文件”怎么办?
- Asp.net Core 6.0 使用EF DB First 连接mysql
- android BannerView实现自动轮播广告的用法(参考自github)
热门文章
- Oracle笔记 十一、PL/SQL函数和触发器
- 怎么取消XP粘滞键(StickyKeys)
- Mybatis出现文档根元素 mapper 必须匹配 DOCTYPE 根 configuration错误解决办法
- Linux查找class类所在jar包
- Java8新特性总结 -8.Nashorn , JavaScript引擎
- maven加载第三方jar不能加载
- ADMT3.2域迁移之Server2003至Server2012系列(五)添加域管理员权限
- Hibernate之关联映射
- PowerShell 扩展工具第四波!
- busybox订制小型linux(二)