在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': []}
答案 0 :(得分:1)
一种选择是尝试增加分配给opscenter agent的Java堆的大小以避免OOM:
在您的群集周围查找datastax-agent-env.sh
文件并修改以下属性:
-Xmx128M
-Djclouds.mpu.parts.size=16777216
-Xmx设置控制代理的堆大小。上传到S3时,-Djclouds设置控制文件的块大小。由于S3支持最多10,000个部分的多部分文件上载,因此块大小控制我们可以上传的文件的大小。增加块大小还需要在代理上使用更多内存,因此还需要增加代理堆大小。 以下是允许加载250 GB SSTable的示例设置:
-Xmx256M
-Djclouds.mpu.parts.size=32000000
这些设置将块大小增加到32MB,堆大小增加到256MB,并允许更大的SSTable大小。
请在帖子中添加以下信息:
1)您要备份多少个表,每个节点有多大?
2)您配置备份的频率是多少?