2016-10-13 40 views
2

我在配置CRDT存储桶类型和使用bitcask后端时遇到问题。我希望能够使用set类型并保持bitcask的过期功能。将Riak CRDT与bitcask后端结合使用

我能够创建和使用桶类型,如果我不指定后端

sudo riak-admin bucket-type create sets '{"props":{"datatype":"set"}}' 

但是,如果我试图指定的道具后端,每当我尝试使用类型,然后了Riak似乎分崩离析,我失去联系。

sudo riak-admin bucket-type create sets2 '{"props":{"datatype":"set","backend":"bitcask"}}' 

以下是我尝试使用存储桶类型时的error.log中的唯一日志。如果有帮助,我也试着指定后端是leveldb和内存以及没有运气的bitcask。

2016年10月13日13:41:25.965在状态活性[错误] < 0.8870.0>的gen_fsm < 0.8870.0>使用原因终止:任何情况下,这条规则{riak_kv_multi_backend,undefined_backend,< <“bitcask “>>} in riak_core_vnode:vnode_command/3 line 346 2016-10-13 13:41:25.965 [error] < 0.8870.0> CRASH REPORT进程< 0.8870.0>带有1个邻居退出原因:没有case子句匹配{riak_kv_multi_backend,undefined_backend,< <“bitcask”>>} in riak_core_vnode:vnode_command/3 line 346 in gen_fsm:terminate/7 line 622 2016-10-13 13:41:25.965 [error] < 0。 168.0> Supervisor riak_core_vnode_sup的子节点undefined以{riak_core_vnode,start_link,undefined}开头,< 0.8870.0>退出原因没有case子句匹配{riak_kv_multi_backend,undefined_backend,< <“bitcask”>>} in riak_core_vnode:vnode_command/3 line 346在上下文child_terminated 2016年10月13日13:41:25.965 [错误] < 0.8896.0>的gen_fsm < 0.8896.0>在状态准备终止原因:任何情况下,这条规则{riak_kv_multi_backend,undefined_backend,< < “bitcask”> >} in riak_core_vnode:vnode_command/3 line 346 2016-10-13 13:41:25.965 [error] < 0.8896.0> CRASH REPORT进程< 0.8896.0> 10个邻居退出原因:无条件匹配{riak_kv_multi_backend ,undefined_backend,< <“bitcask”>>} in riak_core_vnode:vnode_command/3 line 346 in gen_fsm:terminate/7 line 622 2016-10-13 13:41:25.966 [error] < 0.8897.0> Supervisor {0} {{ ,poolboy_sup}有孩子riak_core_vnode_worker在未定义的出口处以riak_core_vnode_worker:start_link([{worker_module,riak_core_vnode_worker},{worker_args,[1370157784997721485815954530671515330927436759040,...]},...]开头,原因是没有case子句匹配{riak_kv_multi_backend,undefined_backend, < <“bitcask”>>} in riak_core_vnode:vnode_command/3 line 346 in context shutdown_error 2016-10-13 13:41:25.966 [error] < 0.8897.0> gen_server < 0.8897.0>以原因终止:no case子句匹配{riak_kv_multi_backend,undefined_backend,< <“bitcask”>>} in riak_core_vnode:vnode_command/3 line 346 2016-10-13 13:41:25.966 [error] < 0.8897.0> CRASH REPORT进程< 0.8897.0>带有0个邻居退出原因:否情况下子句匹配{riak_kv_multi_backend,undefined_backend,< < “bitcask” >>}在riak_core_vnode:vnode_command/3线346在gen_server:终止/ 6线744

我使用了Riak V2.0

。7 LTS

+1

嗨亚伦 - 看起来您已将Riak配置为使用“多”后端。你打算使用“多”吗? 以下是后端文档:http://docs.basho.com/riak/kv/2.1.4/setup/planning/backend/ –

+1

嗨卢克 - 是的,这是正确的。我正尝试在不同的桶上有不同的到期时间。而且我的理解是我需要使用多后端来实现这一点。 – Aaron

回答

5

当Riak无法找到您在配置中为该存储桶类型定义的后端名称时发生错误。在使用多个后端时,您需要在创建存储桶类型时使用配置中定义的名称。

所以我们可以说使用示例从riak documentation配置:

storage_backend = multi multi_backend.bitcask_mult.storage_backend = bitcask

要创建桶bitcask你应该使用bitcask_mult作为后端名称:

sudo riak-admin bucket-type create sets2 '{"props":{"datatype":"set","backend":"bitcask_mult"}}'

。希望帮助

相关问题