Opscenter 备份到 S3 位置失败

Opscenter backup to S3 location fails

在 AWS 中使用 OpsCenter 5.1.1、Datastax Enterprise 4.5.1、3 节点集群。我为本地服务器和 S3 中的存储桶设置了计划备份。 On Server 备份在所有 3 个节点上成功完成。 S3 备份运行缓慢并且在所有 3 个节点上都失败。

备份了一些密钥空间,在 S3 存储桶中创建了文件。似乎并非所有表都已备份。查看 /var/log/opscenter/opscenterd.log,我看到一个 OOM 错误。为什么本地备份成功后写入S3会出现内存不足的错误??

编辑: 数据大约 6GB,我正在备份所有键空间。总共不到100张桌子。我已将备份设置为每天一次。

这是日志中的一个片段:

2015-03-31 14:30:34+0000 []  WARN: Marking request 15ae726b-abf6-42b6-94b6-e87e6b0cb592 as failed: {'sstables': {'solr_admin': {u'solr_resources': {'total_size': 186626, 'total
_files': 18, 'done_files': 18, 'errors': []}}, 'stage_scheduler': {u'schedule_servers': {'total_size': 468839, 'total_files': 12, 'done_files': 12, 'errors': []}, u'lock_flags'
: {'total_size': 207313249, 'total_files': 30, 'done_files': 25, 'errors': [u'java.lang.OutOfMemoryError: Java heap space', u'java.lang.OutOfMemoryError: Java heap space', u'ja
va.lang.OutOfMemoryError: Java heap space', u'java.lang.OutOfMemoryError: Java heap space', u'java.lang.OutOfMemoryError: Java heap space']}, u'scheduled_tasks': {'total_size':
 3763468, 'total_files': 18, 'done_files': 18, 'errors': []}

增加分配给 OpsCenter 的 datastax-agent 的内存:

一个选择是尝试增加分配给 opscenter agent 的 Java 堆的大小以避免 OOM:

在您的集群周围查找 datastax-agent-env.sh 文件并修改以下属性:

-Xmx128M
-Djclouds.mpu.parts.size=16777216

-Xmx 设置控制代理的堆大小。 -Djclouds 设置控制上传到 S3 时文件的块大小。由于 S3 支持最多 10,000 个部分的多部分文件上传,因此块大小控制了我们可以上传的文件的大小。增加块大小还需要在代理上使用更多内存,因此代理堆大小也需要增加。 以下是允许加载 250 GB SSTable 的示例设置:

-Xmx256M
-Djclouds.mpu.parts.size=32000000

这些设置将块大小增加到 32MB,将堆大小增加到 256MB,并允许更大的 SSTable 大小。

请将以下信息添加到您的 post:

1)您要备份多少个表,每个节点有多大?

2)您配置备份的频率如何?