Kibanaに接続するESnodeについて

現在master3,coordinator1,data5の構成でESクラスタを構築し、実際にクラスタの状態が確認できています。
そこでkibanaを別サーバで立ち上げてelasticsearch.hostsにmaster node3つを入力しましたが、Unable to revive connection: http://localhost:9200/"とでてfailしてしまいます。
kibanaが立ち上がっているサーバではESは動いていませんが、ESクラスタのノードを参照できます。
kibanaは必ずlocalhostのESが必要ですか?
また、この構成の場合ホストはマスターだけ登録でいいですか?

こんにちわ

kibanaは必ずlocalhostのESが必要ですか?

必要ではないと理解しています。

https://www.elastic.co/guide/en/kibana/current/production.html

Kibanaが動くサーバに、Esを入れてロードバランサとして使うパターンが紹介されていますが、
必ずlocalにないといけないか、と言われるとそうではないと思いますし、
実際に外部に立てたcoordinatingのノードをKibanaで指定してやれば参照することができました。

さて、elasticsearch.hostsに3台指定してもlocalhost:9200にアクセスしにいくということから、
設定ファイルが誤っているのではないかと思います。
余計なスペースやインデントが入ってないでしょうか?
その場合、デフォルト値のlocalhost:9200が使われるのでおっしゃっている現象と一致します。

elasticsearch.hostsに指定するのはマスターだけで良いか?ということですが、
ドキュメント上、どの役割のノードを指定せよという記述を探せませんでした。

ラウンドロビンで動いているノードがあれば、そこ経由でKibanaが使えることを考えると、
masterだけでなく他ノードも指定しておくのも良いのではと思います。