4

私は、Seven Databases in Seven Weeks (これまでのところ良い読み物) という本を読んでいますが、本ですぐに渡された Riak の詳細について混乱しています。

Riak はデフォルトで、データを 64 個のパーティションに分割することになっています。これらの各パーティションは、リング内のノード間で分割されることになっています。(用語が間違っていたら訂正してください。)

Riak ソースに付属する 4 つの開発ノードを使用しています。それらのすべてが開始されますがcurl http://localhost:8091/stats | grep ring、私が見ると、

"ring_ownership": "[{'dev1@127.0.0.1',64}]"

これは、次のようにさらに確認されます$RIAK_INSTALL/dev/dev4/bin/riak-admin member-status

================================= Membership ==================================
Status     Ring    Pending    Node
-------------------------------------------------------------------------------
joining     0.0%      --      'dev2@127.0.0.1'
joining     0.0%      --      'dev3@127.0.0.1'
joining     0.0%      --      'dev4@127.0.0.1'
valid     100.0%      --      'dev1@127.0.0.1'
-------------------------------------------------------------------------------

どうしたの?dev1 ノードがすべてのパーティションを要求したのはなぜですか? また、どうすればそれを共有できますか?

おそらく関連している

の代わりにpb_ip を作成するために、各ノード ( 内RIAK_ROOT/dev/devN/etc/app.config) の app.configを編集しました。これは、Vagrant VM で Riak を実行している場合でも、ホスト マシンのブラウザーから Riak にアクセスできるようにするためでした。それぞれに同じ変更を加えましたが、ホストのブラウザーからは dev1 にしかアクセスできません (dev2、dev3、または dev4 にはアクセスできません)。0.0.0.0127.0.0.1

役に立つと思われる場合は、この VM をパッケージ化して、トラブルシューティングに役立てるために利用できるようにします。(VM が優れている多くの理由の 1 つです。)

4

2 に答える 2

5

riak-admin member-statusコミットする必要がある未解決の変更がクラスターにあるため、この出力が表示されているのではないかと思います。

riak-admin cluster plan

riak-admin cluster commit

実行すると、未処理の転送riak-admin cluster planがある場合は、転送に関する情報が表示されます。次に、2 番目のコマンドを使用して、変更をクラスターにコミットする必要があります。

于 2012-11-27T02:20:52.220 に答える
2

高速プロジェクトで作品を公開することの危険性は、インクが乾く前にインターフェイスが変化することです。

1.0 (この本の内容) と 1.2 (現在のバージョン) の間でクラスター管理に大きな変化がありました。本はちょうどjoin直接に発行し、dev1それを一日と呼びました。ここriak-admin clusterで、複数の結合/脱退をバッチ化し、単一のトランザクションとして実行するコマンドを実行する必要があります。参加したら、別のコメントで述べたように、トランザクションをplan表示する必要があります。commit

FWIW、残りの Riak 情報の大部分はまだ同じです。

于 2012-11-27T17:53:15.503 に答える