作者介绍:简历上没有一个精通的运维工程师,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
中间件,我给它的定义就是为了实现某系业务功能依赖的软件,包括如下部分:
Web服务器
代理服务器
ZooKeeper
Kafka
RabbitMQ
Hadoop HDFS
Elasticsearch ES (本章节)
前面我们介绍了Cerebro,我们这里就来部署和使用他。
1.环境准备
确保您的系统已经安装了 Java Runtime Environment (JRE) 8 或更高版本。Cerebro 是基于 Scala 构建的,运行需要 JVM。如果我们就在ES节点部署,所以不需要额外安装环境,如果不是则需要安装JAVA环境。
yum -y install java-1.8.0-openjdk
2.下载Cerebro
wget https://github.com/lmenezes/cerebro/releases/download/v0.9.4/cerebro-0.9.4.tgz
tar xvf cerebro-0.9.4.tgz
cd cerebro-0.9.4
3.启动Cerebro
当然这里是未做任何修改配置文件,真正的环境还需要配置很多信息,这里为了简便所以直接启动。
[root@localhost cerebro-0.9.4]# ./bin/cerebro
[info] play.api.Play - Application started (Prod) (no global state)
[info] p.c.s.AkkaHttpServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
这里其实和CMAK有点类似,需要在这里填入ES地址,也可以在配置文件里面定义。填写正确的ES以后,就可以看到我们当前集群信息,比如我们当前集群的节点数量,索引数量,分片数量,文档数量等信息。
4.cerbero主要功能
4.1 查询节点的资源和性能状态:包括负载,cpu使用,JVM堆栈使用情况,磁盘使用情况及进程启动时间。
4.2更多功能:创建索引,集群设置,索引别名,索引模板,备份仓库,快照等信息。
4.3 索引分布查看,我这里创建了4个索引:
索引1,10分片,3副本,由于一个分片和副本不能存在同一个节点,主分片+3副本分片就会导致有一个副本分片无法落到当前集群的3个节点,所以严格控制副本数量是一个需要考虑的问题。
索引2,5分片,2副本,刚好满足3个节点,所有分片和副本都完全落入每个节点,但是如果集群有一个节点宕机,也会出现和索引1类似的情况。
索引3,3分片,1副本,由于分片+副本总共只有2份数据,所以节点宕机他会重写选举主分片,即便宕机一台也会很快恢复索引状态,但是他只适合3台节点,如果有更多则3副本会合适一点。
索引4:1分片,0副本,这个只做测试,不适合生产环境使用。
通过图形界面,我们可以很直观查看集群索引的状态。
4.4 索引操作
这里我们可以根据索引的状态,对索引做一些操作:调整副本数量,更新Maping等操作。
当然更多的功能,还希望大家自己去探索。