一、集群可能出现的问题
二、使用API控制集群的运行状况
三、使用API获取集群状态
四、使用API获取集群节点信息(http,thread_pool,transport,jvm,os,process.....)
五、通过API获取节点统计信息
索引相关的统计信息,操作系统统计信息,es进程统计信息,jvm统计信息,线程池相关统计信息,节点文件系统统计信息,节点间通信信息,Http连接有关信息,与断路器(Breaker)缓存有关统计信息,与脚本有关统计信息,集群队列ingest统计信息,adaptive_selection统计信息(自适应选择节点执行搜索)
六、使用任务管理API(获取任务,取消任务)
七、使用热点线程API
集群会由于CPU使用率高而减慢速度,es提供了监视热点线程(Hot Thread)的能力,以便了解问题出在哪里,热点线程会占用大量CPU且执行时间很长
八、整理分片分配
九、使用段API监控段
监视索引段(Index Segment)意味着监控索引的运动状况,获取有关段的数量及存储信息
十、清理缓存
十一、其它集群优化方案(es原厂提供)
1、调整索引参数
"refresh_interval": "180s",
"translog": {
"flush_threshold_size": "1g",
"sync_interval": "90s",
"durability": "async"
},
2、减少Update次数
3、减少索引元数据字段
4、JVM垃圾回收器 CMS 改为 G1
-XX:InitiatingHeapOccupancyPercent=45
Sets the Java heap occupancy threshold that triggers a marking cycle. The default occupancy is 45 percent of the entire Java heap.
表示每次GC最大的停顿毫秒数
-XX:MaxGCPauseMillis=200
5、设置内存不能超过32G,否则无法使用指针引用
人生所有的烦恼、痛苦,都是来自于我们对不确定性的抗拒,其实我们唯一能做的就是拥抱不确定性。