背景
ES节点两个,使用filebeat采集日志后输出到logstash,进一步输出到ES。但是输出到ES后,节点的健康状态就由绿色变为了红色,且ES-head界面的数据浏览中点击索引后ES后台就报错,显示无法分片:
解决
找了很长时间原因,最后在执行DSL指令 curl -XGET "http://192.168.137.132:9200/_cluster/allocation/explain"
时的输出引起了我的注意:节点不允许分片
此时,突然想起,我的两个ES节点都设置了node.data: false
,所以原因会不会是由于节点不是数据节点而导致无法分片,于是我把两个节点的配置都改为了node.data: true
,并且只设置一个节点为node.master: true
,另一个节点设置为node.master: false
。然后重启ES几点、重启logstash、重启filebeat,果不其然,问题解决了!!!