【问题标题】:DynamoDB backup to s3 using DataPipeline使用 DataPipeline 将 DynamoDB 备份到 s3
【发布时间】:2016-04-14 19:30:41
【问题描述】:

我正在尝试设置用于备份 DynamoDB 的管道 我几乎明白了... 我没有默认 VPC,我无法更改它

备份任务无法定位我正在使用的区域 在 syslog 中,我收到以下错误:

2016-04-11 08:53:32,444 警告 org.apache.hadoop.dynamodb.DynamoDBUtil (main):尝试获取 AWS 区域信息时出现异常。将要 忽略并默认为 us-east-1

这导致在标准错误中:

线程“主”java.lang.RuntimeException 中的异常:不能 在 DynamoDB 中查找表 dev_user。

我的部分管道定义:

{
  "objects": [
    {
      "output": {
        "ref": "S3BackupLocation"
      },
      "input": {
        "ref": "DDBSourceTable"
      },
      "maximumRetries": "2",
      "name": "TableBackupActivity",
      "step": "s3://dynamodb-emr-#{myDDBRegion}/emr-ddb-storage-handler/2.1.0/emr-ddb-2.1.0.jar,org.apache.hadoop.dynamodb.tools.DynamoDbExport,#{output.directoryPath},#{input.tableName},#{input.readThroughputPercent}",
      "id": "TableBackupActivity",
      "runsOn": {
        "ref": "EmrClusterForBackup"
      },
      "type": "EmrActivity",
      "resizeClusterBeforeRunning": "true"
    },
...
    {
...
      "coreInstanceCount": "1",
      "releaseLabel": "emr-4.5.0",
      "masterInstanceType": "m3.xlarge",
      "type": "EmrCluster",
      "terminateAfter": "1 Hour",
      "name": "EmrClusterForBackup",
      "coreInstanceType": "m3.xlarge",
      "id": "EmrClusterForBackup",
      "region": "eu-west-1"
    },
    {
      "readThroughputPercent": "#{myDDBReadThroughputRatio}",
      "name": "DDBSourceTable",
      "id": "DDBSourceTable",
      "type": "DynamoDBDataNode",
      "region": "eu-west-1",
      "tableName": "dev_user"
    }
  ],
  "parameters": [
...
    {
      "default": "eu-west-1",
      "watermark": "eu-west-1",
      "description": "Region of the DynamoDB table",
      "id": "myDDBRegion",
      "type": "String"
    }
  ],
  "values": {
    "myDDBRegion": "eu-west-1",
    "myDDBTableName": "dev_user",
    "myDDBReadThroughputRatio": "0.25",
...
  }
}

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-dynamodb


    【解决方案1】:

    我可以获取您的管道 ID 吗?

    您也可以将 resizeClusterBeforeRunning 指定为“false”并再试一次。

    谢谢

    【讨论】:

    • ID = df-1032751PQF9X1MM1G3X 为什么调整大小会改变什么?无论如何尝试了它并没有工作。仍然无法为 EmrActivity 设置正确的区域
    • 我不确定什么会导致这个问题。您可以尝试使用旧版本的发布标签集群,或者使用数据管道模板将 DDB 导出到使用 AMI 版本集群的 s3。我已经尝试过使用数据管道模板,它对我来说很好。
    【解决方案2】:

    AWS 中存在错误,无法使其在私有子网中工作。 要使用管道进行 dynamodb 备份,您必须在公共子网中进行设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 1970-01-01
      • 2020-12-12
      • 1970-01-01
      • 1970-01-01
      • 2018-04-24
      • 1970-01-01
      相关资源
      最近更新 更多