2016-05-05 15 views
1

私はElasticsearch 2.3.1とKibana 4.5を使用しています。私は2つのelasticsearchクラスターを持っています。Elasticsearch Tribe NodeとKibana - 既知のマスターノードなし

クラスタ1 - 1マスタノード、1データノード、および1クライアントノード。 クラスタ2 - 1マスタノード、1データノード、および1部族ノード。

トライブノードは、両方のクラスタのノードと通信することができます。私は部族のノードでKibanaを接続しようとした場合、私が得る、しかし

yellow open cluster2index 5 1 22400 0 24.6mb 24.6mb 
yellow open cluster1index 5 1 129114 0 109.9mb 109.9mb 

:私はまた、両方のクラスタで2つのインデックス、クラスタ2のクラスタ1とcluster2indexでcluster1index私はインデックスを表示することができていますがありますエラー

[2016-05-05 11:49:03,162][DEBUG][action.admin.indices.create] [tribe-node-MS2] no known master node, scheduling a retry 
[2016-05-05 11:49:33,163][DEBUG][action.admin.indices.create] [tribe-node-MS2] timed out while retrying [indices:admin/create] after failure (timeout [30s]) 
[2016-05-05 11:49:33,165][WARN ][rest.suppressed   ] /.kibana Params: {index=.kibana} 
MasterNotDiscoveredException[null] 
    at org.elasticsearch.action.support.master.TransportMasterNodeAction$AsyncSingleAction$5.onTimeout(TransportMasterNodeAction.java:226) 
    at org.elasticsearch.cluster.ClusterStateObserver$ObserverClusterStateListener.onTimeout(ClusterStateObserver.java:236) 
    at org.elasticsearch.cluster.service.InternalClusterService$NotifyTimeout.run(InternalClusterService.java:804) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 

代わりにキバナをクライアントノードに接続しようとしましたが、私のインデックスを見ることができました。その後、私が木部ノードに木場を接続すると、ダッシュボードを表示できます。

マイkibanaの設定:私は私の構成で何をしないのです場合

server.port: 5601 
server.host: "hostname" 
elasticsearch.url: "http://hostname:port" 
kibana.index: ".kibana" 

私はKibanaがintially部族ノードで作業されなかった理由を確認していないと。

私はelasticsearchフォーラムで回答のいずれかでお読みください。

「あなたはkibanaを持っている問題については、それは部族のノードだから、あなたは部族のノードと直接.kibanaインデックスを作成することはできません。 :minor_smile:マスタノードとデータノードを持たないクラスタに座っているはい、この部族ノードはこの場合2つのクラスタに接続されていますが、書き込みを行うことを想定している場合は、クラスタの1つに」これは私がintially部族のノードに直接kibana索引を作成することができませんでしたが、インデックスがすでに作成されたときに、後に、私はKibanaに部族のノードを指し示すことができた理由

ですか?もしそうならば、木部ノードと部族ノードを直接接続するための設定はありますか?

+0

はい、その理由があります。 –

+0

最初に任意のプロパティを設定することによって木部ノードに木場を接続する方法はありますか? kibanaインデックス(cluster1またはcluster2ノード)を置く場所をkibana設定ファイルのどこかで設定できますか?または、マスタノード、データノード、またはクライアントノードのいずれかを使用して最初にキバナインデックスを作成し、それを部族ノードに接続することが唯一のオプションですか? – Vidisha

答えて

0

この追加の情報と、の確認の詳細については、this github issueおよびthis oneを参照してください。要約として

...

あなたがマスターレベルが初めてKibana 4を使用する際に必要とされるどちらも、このようなインデックスを作成などの操作を、書き込み、実行することはできませんTribe Node documentation状態。プットマッピングも必要であり、マスターレベルの書き込み操作でもあるため、単にインデックスを作成するだけでは不十分です。

回避策として、まずをKibana 4インスタンスを起動し、そのクラスタ内の.kibanaインデックスを初期化するようにリモートクラスタの1つを直接指すように設定します。 Kibana 4がこの単一のクラスタに接続されている間、そこにある部族ノードに使用するインデックス設定/インデックスパターンを作成して保存し、少なくとも1つの視覚化と1つのダッシュボードを作成/保存します。その後、Kibana ymlファイルを更新して、そのES接続を部族ノードを指すように再構成し、Kibana 4を再起動します。

これ以降、キバナダッシュボードの管理を続けることができます。&リモートノードの1つにのみ.kibanaインデックスが存在する場合は、部族ノードを介した視覚化。インデックスが複数のクラスタに存在する必要がある場合(たとえば、冗長性のためにスナップショット/リストアを行っている場合)、Tribeノードにこれらの設定(clusterAがマスター.kibanaインデックスを保持する)を使用するように指示します。

tribe: 
    on_conflict: prefer_clusterA 
関連する問題