如何将 Riak 备份反序列化为 JSON?

How to deserialize a Riak backup into a JSON?

我刚刚转储了一个 riak 数据库(备份)。但是备份文件是一个二进制文件。 是否有将其反序列化为人类可读文件的库 (JSON w/e)?

我在 google 上没有找到任何东西,在 Stack Overflow 上也没有。

找到了解决我当前问题的方法:

连接到环境,然后运行执行以下命令:

  wget https://s3-us-west-2.amazonaws.com/ps-tools/riak-data-migrator-0.2.9-bin.tar.gz
  tar -xvzf riak-data-migrator-0.2.9-bin.tar.gz
  cd riak-data-migrator-0.2.9
  java -jar riak-data-migrator-0.2.9.jar -d -r /var/riak_export -a -h 127.0.0.1 -p 8087 -H 8098

(来源:https://github.com/basho-labs/riak-data-migrator

编辑 导出 riak 数据库的另一种方法 https://www.npmjs.com/package/riak-bucket-exporter

  #!/bin/bash

  for bucket in $(curl http://localhost:8098/riak?buckets=true | sed -e 's/[{}:"]//gi' -e 's/buckets\[//' -e 's/\]//' -e 's/,/ /g')
  do
    echo "Exporting bucket $bucket"
    rm -f $bucket.json
    riak-bucket-exporter -H localhost -p 8098 $bucket
  done

  echo "Export done"

由于到目前为止列出的所有建议似乎都以某种方式被打破(至少对我和 riak-kv@2.x 而言),我最终求助于自己开发 bash shell利用 riak-kv's HTTP API with no other prerequisites than curl and jq 完成某种导出的脚本。

可以在此处的要点中找到它:https://gist.github.com/cueedee/0b26ec746c4ef578cd98e93c93d2b6e8希望有人会发现它有用。