一些Cassandra+YCSB异常

Posted Winstone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一些Cassandra+YCSB异常相关的知识,希望对你有一定的参考价值。

这两天一直在用YCSB。昨天还可以用的YCSB,今天在测试Cassandra时遇到问题了。

环境是在公用局域网的一台debian机器,YCSB和Cassandra都在这台机器上。异常是开始运行YCSB命令开始load后,一直没反馈,过了一段时间出现:

UnavailableException()
   at org.apache.cassandra.thrift.Cassandra$batch_mutate_result.read(Cassandra.java:19487)
   at org.apache.cassandra.thrift.Cassandra$Client.recv_batch_mutate(Cassandra.java:1035)
   at org.apache.cassandra.thrift.Cassandra$Client.batch_mutate(Cassandra.java:1009)
   at com.yahoo.ycsb.db.CassandraClient10.insert(CassandraClient10.java:477)
   at com.yahoo.ycsb.DBWrapper.insert(DBWrapper.java:148)
   at com.yahoo.ycsb.workloads.CoreWorkload.doInsert(CoreWorkload.java:461)
   at com.yahoo.ycsb.ClientThread.run(Client.java:277)

且进行的operation只有2个或3个。其实该节点是一直没问题的,还可以远程用代码连接。

弄了一段时间后,通过启动日志发现是由于一个局域网内有其他cassandra节点,且在用了同一个“cluster_name”,由于 gossip协议,这些节点之间连起来了...之前可以用是因为用的是cassandra自带的cassandra.yaml文件,后来我为了远程连接, 把listen_address: localhost改成了该节点的ip,导致其他节点可以与该节点互联,影响了YCSB的测试。改回localhost后重启cassandra,再将 data_file_directories、commitlog_directory和saved_caches_directory清空,再运行 YCSB又成功了。

以上是关于一些Cassandra+YCSB异常的主要内容,如果未能解决你的问题,请参考以下文章

Cassandra-几个基本测试常识

cassandra 写IO路径

cassandra集群缩容与剔除问题节点

cassandra安装配置

Cassandra 不使用本机方法

YCSB报": No such file or directory"异常