我有一个奇怪的问题,Spark职业杀死了Cassandra服务器。对于这个问题,我模拟了Cassandra 3.9服务器在没有Spark的情况下死机的情况。请检查是否正常或是一个错误。
以下是Cassandra表:
CREATE TABLE test.data (
pk int,
ck text,
data text,
PRIMARY KEY (pk, ck)
)
该表填充了10M随机行。其中数据列是2K字符随机文本。如果数据列的长度较短 - 一切都很好。
这是填充表格的bash脚本:
(for ((i=0; i<10000000; i=i+1)); do echo `cat /dev/urandom | tr -dc '0-9' | fold -w 5 | head -n 1`,`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1`,`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 2048 | head -n 1`; done) | cqlsh -e "copy test.data from stdin"
如果我运行30个并发查询加载~4M行 - Cassandra服务器在我的Linux机器上死机(16Gb RAM,I7四核处理器)。这是一个启动此查询的bash脚本:
for ((i=1; i<30; i++)); do (cqlsh -e "select * from test.data where token(pk)>=-7417407713535771950 and token(pk)<= 0" --request-timeout=600 | wc -l)& done;
单个查询提取4031926行。
可以从here下载日志文件。操作系统是Ubuntu 16.10。 JVM - openjdk版本&#34; 1.8.0_111&#34;。 Cassandra版本3.9。