在riak中更改n值(复制值)未完成

时间:2014-12-03 01:00:25

标签: linux riak

我有一个riak系统,我尝试更改复制值,但不是完整的。 我使用命令行来改变:

curl -v -XPUT \
  -H "Content-Type: application/json" \
  -d '{"props":{"n_val":2}}' \
  http://<my-ip-riak>:8098/buckets/<my-bucket>/props

然后,我通过s3cmd将文件放入riak:

s3cmd put <my-file> s3://<my-bucket>

我检查了riak的大小:

du -sh /var/lib/riak/

我看,它复制3,它不会改变复制值。 有什么帮助吗?

干杯,

Nghiep

1 个答案:

答案 0 :(得分:0)

如果您使用s3cmd,则使用的是Riak CS,而不是Riak。使用s3cmd创建存储桶时,Riak CS会创建2个存储桶:一个用于存储清单记录,另一个用于存储数据块。两个存储桶名称都基于存储桶名称的md5哈希值,使用riak_cs_utils:to_bucket_name/2函数。由于存储桶名称是二进制的,即使您正确预测了该名称,您也无法在URL中发送它以便能够更改其属性。

您可以从附加控制台或通过协议缓冲区更改单个存储桶的属性,但我从未尝试过这样做。

您应该能够更改app.config或riak.conf文件中的默认存储桶属性,以便所有存储桶都使用n_val = 2.