我正在阅读《七周内的七个数据库》一书(到目前为止读得很好),我对书中快速传递的 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 节点要求所有分区,我怎样才能让它共享?
也许相关
我为每个节点(在RIAK_ROOT/dev/devN/etc/app.config
)编辑 app.config 以制作 pb_ip0.0.0.0
而不是127.0.0.1
. 这样我就可以从主机中的浏览器访问 Riak,即使我在 Vagrant VM 中运行 Riak。尽管我对它们中的每一个都进行了相同的更改,但我只能从主机的浏览器(而不是 dev2、dev3 或 dev4)访问 dev1。
如果您认为这会有所帮助,我可以打包此 VM 并使其可用,以帮助您帮助我进行故障排除。(虚拟机很棒的众多原因之一。)