【问题标题】:Cassandra DSE, restore from S3 timeoutsCassandra DSE,从 S3 超时恢复
【发布时间】:2015-04-29 09:46:53
【问题描述】:

我正在尝试测试 S3 备份/恢复功能。 我做了什么:

  1. 在 Amazon 上安装了 DSE +OpsCenter
  2. 按计划每小时备份所有键空间(总大小为 60 MB)。早上有 10 个备份。
  3. 终止实例并创建新实例
  4. 尝试取回我的数据。没运气。 OpsCenter 无法连接到我的 S3 存储桶

现在需要 >10 分钟...

我做错了什么?

更新:

终于得到回应:

【问题讨论】:

  • 看起来像 OpsCenter 问题。当我尝试从空篮子中恢复备份时,它会立即报告没有备份...
  • 您的 IAM 策略是否向 opscenter 用户授予了足够的权限? Here 是我正在使用的策略,但我还没有尝试恢复。
  • 是的,我使用该策略进行备份,但无法恢复。我已在 OpsCenter 中启用调试。 OpsCenter 在 5-7 分钟内从 S3 获得响应(在 opscenterd.log 中查看),但 OpsCenter UI 会提前抛出错误并且不处理延迟响应。
  • 还要检查 agent.log 中的 S3 错误 - 我目前正在尝试调试此错误 SEVERE: error after writing 15540224/16777216 bytes to https://cass-bkup.s3.amazonaws.com/
  • 做到了,写入过程中没有错误,我在 S3 中看到了所有备份。只是 OpsCenter 不能等到它的布局/元数据被提取。

标签: amazon-s3 cassandra datastax-enterprise opscenter


【解决方案1】:

我相信这可能是 OPSC-5915(抱歉没有公开的错误跟踪器),它在即将发布的 5.2.0 版本中得到修复。

总结是 API 调用仍将按预期工作,但 UI 未将目标信息正确推送到 API 端点。

您可以确认这是您遇到的错误:

1) goto /etc/opscenter/clusters/<cluster_name>.conf (or similar location depending on if you've done a tarball install/etc)
2) Find the destination ID that matches your bucket, it'll look something like b699738d9bd8409c82e664b543f24030
3) Confirm the clustername in your opsc URLs, it'll look something like localhost:8888/my_cluster
4) Manually hit the API to retrieve your backup list
curl localhost:8888/<clustername>/backups?amount=6\&last_seen=\&list_all=1\&destination=<destination ID>
It'll look like this
curl localhost:8888/dse/backups?amount=6\&last_seen=\&list_all=1\&destination=b699738d9bd8409c82e664b543f24030
5) You should get back a json, confirm that your backup is listed
{"opscenter_adhoc_2014-12-17-20-22-57-UTC": {"keyspaces": {"OpsCenter":...

如果您在 JSON 中看到您的备份,那么 opsc 会看到您的备份,这确实是 OPSC-5915,所以至少得到了确认。

如果这是您的情况,我们可以通过手动点击恢复 API 来解决它(诚然,这涉及到更多)。

http://docs.datastax.com/en/opscenter/5.1/api/docs/backups.html#backups

看起来有点像这样:

  BACKUP='opscenter_4a269167-96c1-40c7-84b7-b070c6bcd0cd_2012-06-07-18-00-00-UTC'
    curl -X POST
        http://192.168.1.1:8888/Test_Cluster/backups/restore/$BACKUP
        -d '{
          "destination": "fe85800f3f4043a88fbe76fc45b22b19",
          "keyspaces": {
            "Keyspace1": {
              "column-families: ["users", "dates"],
              "truncate": true
            },
            "OpsCenter": {
              "truncate": false
            }
          },
        }'

【讨论】:

  • 谢谢,我们决定做同样的事情,只是回退到 API。
猜你喜欢
  • 2015-07-07
  • 1970-01-01
  • 1970-01-01
  • 2015-08-24
  • 1970-01-01
  • 2016-06-20
  • 2019-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多