[TOC]
场景一
在新服务器上部署ES
集群:

现在,对于给定服务器,部署ES
集群的方式主要有几种:
原始方式:手动拷贝所需文件、配置及脚本到指定机器,进行手动配置及安装;
缺点:流程复杂;配置困难;后期维护不便;需要专人专事;
简便方式:使用以前的Jenkins
方式,进行脚本编写以及运行;
优点:不需要手动拷贝;后期维护较为方便;
缺点:需要重新编写脚本;与
Jenkins
耦合高,不方便自定义;没有统一的可视化界面;依旧需要专人专事;
优化方式:使用DevOps
进行可视化部署;
优点:一站式的可视化方案,包括部署、配置管理、监控、维护;无需专人专事,无门槛使用;
缺点:
DevOps
系统的开发、完善及维护;
可视化部署流程
可视化部署主要是用来快捷有效地部署集群,并能够很好地进行监控、维护。
能够在一站式的网页中,达到所需的业务要求。不仅能够大大提升响应能力,也能够更好地进行优化和维护。无需担心配置找不到、集群状态监控不便、启动麻烦等问题。
1. 添加集群
在创建索引集群时,需要先添加服务器集群
,这样不仅能够方便管理,也能够清晰明了地知道当前有哪些服务器集群。
2. 添加服务器
有了服务器集群,就需要往里面添加机器,也就是创建索引集群所需要的服务器。
3. 创建集群
在创建集群的界面,通过选择前面所创建的服务器集群、索引集群名称、索引版本等参数,即可快速部署索引集群。
4. 集群的监控及管理
在创建完成后,就可以在监控列表看到所创建的集群信息及状态,并通过链接,可以看到更为详细的索引状态。
这里使用了一个开源的集群可视化界面
Cerebro
场景二
有了集群,就会有创建索引的需求。而这个在实际处理当中,往往需要多次确认字段类型、存储类型等等;以及,如果后期有字段修改、删除或添加等需求,同样需要通过专人才能操作,无法客户自行操作,很大程度上做不到快速响应。
这主要是因为,现有的大多数方法是使用Kibana
进行创建,这就需要有哪些配置,怎么配置会更好等知识,门槛较高,并且所创建的方案
往往没有保存、没有版本管理;如遇突发情况,就没法快速地恢复。
可视化索引管理
1. 添加索引
可以指定索引集群,进行索引的创建,只需要按照自己的需求,输入索引名称,添加指定字段及选择对应的字段类型,即可快速创建索引。
2. 管理集群内索引
索引集群内的索引管理,能够直观地看到每个索引集群内所对应的索引,并能够进行Schema
的管理。
3. 管理索引字段
对于现有的索引,往往有一些针对字段的修改,也能够通过可视化的操作来进行添加或删除。
注意:如果是添加字段,则会重建索引,并进行数据迁移
场景三
现在,我们有了索引集群,也有了索引,就能够愉快地使用了。但优化和更新不会停止,索引我们就面临这重启索引集群。
通常的重启,就是登录到每台机器上去执行命令,而有了Jenkins
后,就可以通过选择索引集群来进行启停,但这同样会面临一些问题:
- 集群有写入数据时,需要先将写入程序停掉,防止在重启时丢失数据;
- 在停止写入后,集群本身有一个缓存,需要调用集群的接口将之写入磁盘,防止重启后做多余的恢复操作;
这两个问题使用Jenkins
依旧无法很好的解决。
在索引可视化管理中,则可以很好的解决此问题:
可视化索引重启
1. 刷新索引
刷新索引主要是将索引集群在内存中的数据写入到磁盘,加快重启后的启动速度。
2. 重启索引
通过界面,可以对索引进行一键重启,因为索引集群的特殊性,只能先停止,待全部停完后,再进行启动,索引重启操作是分两步的。
更好的,可以在停止时,对索引集群的写入程序做检测,如果写入程序没有停止,则提示并不能进行重启,需要停止写入后,才能停止索引。防止数据丢失和集群状态异常的情况;也很大程度上避免重启时忘记停写入程序的情况。
到这里,索引方面的可视化基本就完成了。当然,也还有很多需要完善的地方,另外,在有了对服务器的管理和服务器集群管理后,其实还有其他的玩法。
网友评论