重新启动kibana后,访问一直显示:Kibana server is not ready yet,查看后台错误日志报master_not_discovered_exception
1.问题描述
我的kibana之前都是好的,我把es集群重启之后,再重启kibana,发现无法访问了,访问时一直报:Kibana server is not ready yet,查看服务器后台日志后发现报:master_not_discovered_exception。
2.分析
这肯定是es出了问题,首先查看es集群的健康状态:http:/node01:9201/_cat/nodes?v,发现访问不通,但是访问http:/node01:9201是正常的,我接着访问第二个节点:http:/node02:9201/_cat/nodes?v,可以正常访问,结果如下:
从这里我们发现,node01节点有问题,接下来我修改kibana配置中的es地址为node02和node03,发现都可以kibana都可以正常启动,在kibana的配置中同时添加node01就会无法启动。这里建议一开始就配置多个es节点,这样就算es某个节点有问题,也不用重启kibana了,但是用着用着负载到有问题的es节点时,kibana还是会报错,但不影响kibana使用。如果es集群有一个节点出了问题,重启kibana不会导致kibana起不来,但是会启动很长时间。
此时,我再访问:http:/node01:9201,结果如下图:
3.解决方案
我这里访问http:/node01:9201,报master_not_discovered_exception,看了配置文件,发现是因为node01没有配置discovery.seed_hosts: ["192.168.137.101:9300", "192.168.137.101:9301", "192.168.137.101:9302"],当您启动第一个Elasticsearch节点时,它将自动成为集群的初始节点,并监听默认的传输端口9300和HTTP端口9200。其他节点可以通过该初始节点的IP地址和端口来发现和加入集群。也就是说,如果你先启动node01,再启动node02和node03,不会报上面的错误。加上