【问题标题】:How to change the storage backend of an existing bucket type in Riak?如何更改 Riak 中现有存储桶类型的存储后端?
【发布时间】:2016-11-30 03:10:29
【问题描述】:

我有一台 Riak 服务器,最近创建并激活了一个新的存储桶类型:

$ riak-admin bucket-type create sso_tokens
$ riak-admin bucket-type activate sso_tokens

根据我的默认配置,存储后端设置为leveldb

在那之后,我意识到我需要存储桶才能使旧密钥过期。换句话说,我需要将存储后端更改为bitcaskmemory。我认为bitcask 最适合我。

现在我的问题是:如何更改现有 sso_tokens 存储桶类型的存储后端?阅读文档后,尚不清楚我可以做到这一点。不过,我发现了在创建存储桶类型时如何设置存储后端(请参阅下面的命令)。

$ riak-admin bucket-type create new_sso_tokens '{"props":{"backend":"bitcask"}}'

谢谢。

【问题讨论】:

    标签: riak


    【解决方案1】:

    目前您无法仅更改单个存储桶类型的后端。如果您愿意,您可以更改整个集群的后端,如果它是单片的(即所有 Bitcask 或所有 LevelDB)。目前http://docs.basho.com/riak/kv/ 上没有记录它,但是文档的以下 Github 问题描述了一种更改后端的方法:

    https://github.com/basho/basho_docs/issues/1605

    您可以将后端设置为存储桶类型,但前提是您使用的是多后端功能(如此处所述:http://docs.basho.com/riak/kv/2.2.0/setup/planning/backend/multi/),并且一旦设置了存储桶类型,您就无法通过这种方式更改它。

    您可能有兴趣知道 Riak 2.2 在 LevelDB 中添加了对全局到期的支持,如下所述:http://docs.basho.com/riak/kv/latest/configuring/global-object-expiration/

    【讨论】:

    • 谢谢克雷格,这很有趣。您知道是否有任何方法可以删除存储桶类型sso_tokens,以便我可以重新创建它,这次设置正确的后端?
    • 很遗憾,无法删除存储桶或存储桶类型。见:stackoverflow.com/questions/27567451/…
    • 哦!这真的很不幸。我敢打赌这是有充分理由的,但这是否意味着如果你在创建存储桶类型时犯了一个错误,你就必须永远忍受它?幸运的是,我正在使用虚拟机,所以我总是可以及时返回并恢复快照。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多