Cassandra在使用WSO BAM时经常崩溃2.5.0
我们使用Cassandra 1.2.9 + BAM 2.5进行API分析。 我们已经安排了一个做cassandra数据清除的工作。这个数据清除工作分为三个步骤。 第一步是查询原始列族,然后将它们插入到临时columnFamily_purge中。 第二步是通过添加逻辑删除从列名系列中删除,并将columnFamily_purge中的数据插入到原始列系列中。 第三步是删除临时columnFamily_purgeCassandra在使用WSO BAM时经常崩溃2.5.0
首届效果很好,但在Hadoop的map任务第二步频繁死机卡桑德拉服务器,这使得卡桑德拉unavailable.The例外stacktrack如下:
2016-08-23 10:27:43,718 INFO org.apache.hadoop.io.nativeio.NativeIO: Got UserName hadoop for UID 47338 from the native implementation
2016-08-23 10:27:43,720 WARN org.apache.hadoop.mapred.Child: Error running child
me.prettyprint.hector.api.exceptions.HectorException: All host pools marked down. Retry burden pushed out to client.
at me.prettyprint.cassandra.connection.HConnectionManager.getClientFromLBPolicy(HConnectionManager.java:390)
at me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:244)
at me.prettyprint.cassandra.model.ExecutingKeyspace.doExecuteOperation(ExecutingKeyspace.java:113)
at me.prettyprint.cassandra.model.MutatorImpl.execute(MutatorImpl.java:243)
at me.prettyprint.cassandra.service.template.AbstractColumnFamilyTemplate.deleteRow(AbstractColumnFamilyTemplate.java:173)
at org.wso2.carbon.bam.cassandra.data.archive.mapred.CassandraMapReduceRowDeletion$RowKeyMapper.map(CassandraMapReduceRowDeletion.java:246)
at org.wso2.carbon.bam.cassandra.data.archive.mapred.CassandraMapReduceRowDeletion$RowKeyMapper.map(CassandraMapReduceRowDeletion.java:139)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:364)
at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
有人可以帮助解决这个问题吗?谢谢!
这可能由于3个原因而发生。
1)Cassandra服务器故障。我不是这种情况在你的设置中。
2)网络问题
3)负载比群集可以处理更高。
如何删除数据?使用配置单元脚本?
是的,前两个原因不太可能。在BAM UI上,我们可以安排cassandra数据清除作业。在内部,它使用org.wso2.carbon.bam.cassandra.data.archive.mapred.CassandraMapReduceRowDeletion这是一个mapreduce作业来删除数据。实际上,要删除的数据并不是很大。 – Tom
Hi @ Bhathiya,我对Cassandra很有新意,特别是我们使用的是旧版本1.2.9。你有没有关于如何调整Cassandra的建议,因为你们将Cassandra作为后端的NoSQL DB,你是否在性能测试中有不同的配置参数方面的文档? – Tom
我将检查代码清除功能如何删除数据。 Cassandra调整指南可用于WSO2 MB。你可以试试。 https://docs.wso2.com/display/MB211/Cassandra+Tuned+Up+Configurations – Bee
当我增加打开的文件数和最大线程数后,问题就消失了。
是cassandra集群?多少个节点? – Bee
谢谢@Bhathiya。是的,有两个节点,每个数据有两个复制 – Tom