Deployment Architecture

クラスタ構成におけるバケツのコピーについて

Explorer

クラスタ構成の動作について以下の2点について教えていただけますでしょうか。

Q1
クラスタ構成にてファイルのコピー方法はクラスタマスタがソースピアに指示すると理解しています。
その際、ソースピアからターゲットピアにどのようなルールでにコピーさせるか教えていただくことは可能でしょうか。
また、直接フォルダを確認する方法以外にバケツのコピーを確認する方法はありますでしょうか。
バケツのコピーは"rb<newesttime><oldesttime>"という名前でターゲットピアにコピーされると理解しています。

Q2
プライマリのバケツが非プライマリのバケツに移行するパターンはありますでしょうか。

Tags (2)
0 Karma
1 Solution

Contributor

A1
ブラウザで「https://:8089/services/cluster/master/peers」にアクセスしますと各Peerのバケット一覧を確認することができます。バケットのレプリケーションはおそらく上から順番に行っていくかたちになるかと思われます。また、「https://:8089/services/cluster/master/buckets?count=-1」にアクセスしますと各バケットのステータスを確認することができます。レプリケーションが完了しますと「status」が「Complete」になっているはずです。

A2
「https://:8089/services/cluster/master/buckets?count=-1」で表示されるリストの中で「bucket_flags」が「0xffffffffffffffff」になっている方がプライマリバケットですが、プラマリバケットを保持しているPeerが一旦ダウンしてから、再度クラスタにジョインしますとバケットがプライマリから非プライマリになる可能性があります。

View solution in original post

0 Karma

Contributor

クラスタ環境のSearch Factor(SF)またはReplication Factor(RF)が満たされていないときに(例えば、あるピアーがダウンしたときなど)マスタがレプリケーションすべきバケットを特定し、残りのピアーに自動的に振り分けてくれます。
例えば、SF=2 RF=3の4台ピアーのクラスタ環境で各ピアーに以下の通りにバケットがあるとします。※(s)は、検索可能のバケットを意味します。

Peer1 : B1(s), B2, B3

Peer2 : B1(s), B2(s)

Peer3 : B1, B3(s)

Peer4 : B2(s), B3(s)

そこで、もしPeer3がダウンした場合、マスターはB1をPeer1またはPeer2からPeer4にコピーするように指示します。また、同じようにB3をPeer1またはPeer4からPeer2にコピーするように指示します。

Peer1 : B1(s), B2, B3

Peer2 : B1(s), B2(s), B3

Peer4 : B2(s), B3(s), B1

これで各バケットのRFは満たされるが、B3のSFは満たされていないため、Peer1またはPeer2に対し、tsidxの作成を指示します。

Peer1 : B1(s), B2, B3(s)

Peer2 : B1(s), B2(s), B3

Peer4 : B2(s), B3(s), B1

どのターゲットピアにどのバケットをコピーするかは、マスターが自動的に決めてくれますので、ユーザとしては気にする必要はないはずですが、何か想定している問題で気にする必要があるケースがありますか?

0 Karma

Explorer

ご回答ありがとうございます。
マスターは各ピアに均等に振り分けるということで理解しました。
ただ、特定のソースピアにだけ大量にデータが転送される環境だと均等とはならなそうですね。
その場合はフォワーダのロードバランシングで対応する必要がありそうですね。
どちらにしろピアのストレージをモニタリングする仕組みは必要であると理解しました。
取り急ぎ私の質問は以上になります。ありがとうございました。

0 Karma

Contributor

マスタはできるだけ均等に振り分けようとするはずなので、ストレージの容量が異なるピアーが存在するとボトルネックになってしまう可能性は十分ありえます。
クラスタ環境のストレージに関する注意点については、以下のドキュメントに記載があります。
http://docs.splunk.com/Documentation/Splunk/5.0.4/Indexer/Systemrequirements#Storage_considerations

0 Karma

Explorer

ご回答ありがとうございます。
コピーの動作については理解できました。
マスタが自動的にコピー先を決める動作については理解していますが、どういったルールでコピー先を決めているのかある程度把握しておきたいと考えております。
例えば、均等にコピーされるのであれば、ストレージの容量が異なるピアが存在した場合、そのピアがボトルネックになってしまうのでしょうか。

0 Karma

Contributor

A1
ブラウザで「https://:8089/services/cluster/master/peers」にアクセスしますと各Peerのバケット一覧を確認することができます。バケットのレプリケーションはおそらく上から順番に行っていくかたちになるかと思われます。また、「https://:8089/services/cluster/master/buckets?count=-1」にアクセスしますと各バケットのステータスを確認することができます。レプリケーションが完了しますと「status」が「Complete」になっているはずです。

A2
「https://:8089/services/cluster/master/buckets?count=-1」で表示されるリストの中で「bucket_flags」が「0xffffffffffffffff」になっている方がプライマリバケットですが、プラマリバケットを保持しているPeerが一旦ダウンしてから、再度クラスタにジョインしますとバケットがプライマリから非プライマリになる可能性があります。

View solution in original post

0 Karma

Explorer

ご回答ありがとうございます。
バケットの状態についてはご教示いただいたURLにて確認することができました。

もう一点だけ確認させていただきたいのですが、レプリケーションのルールについてですが、
上から順番とはどのような動作になるのでしょうか?
また、どのターゲットピアにどのバケットをコピーするかといったルールはどのように決まっているのでしょうか?
可能な範囲で教えていただけますでしょうか。

0 Karma