子进程意外死亡,在使用copy命令加载到cassandra时中止

zd287kbt  于 2021-06-14  发布在  Cassandra
关注(0)|答案(1)|浏览(403)

我已经在kubernetes环境中将cassandra集群部署为pods。我有2个cassandra pods/节点,每个都有12gbram,1个vcpu,并使用分布式数据存储。当我尝试使用copy命令加载数据时,它说“子进程意外死亡,正在中止”。

cqlsh> COPY aarun.emp FROM '/home/etolaru/cass-data/testfile' WITH DELIMITER='|' AND HEADER = TRUE;
Using 16 child processes
Starting copy of aarun.emp with columns [rownumber, cell, counternames, countervals, datetime, group]                                                                                                          .
Failed to import 0 rows: NoHostAvailable - ,  given up after 1 attempts
Failed to import 0 rows: NoHostAvailable - ,  given up after 1 attempts
4 child process(es) died unexpectedly, aborting
Processed: 5000 rows; Rate:     593 rows/s; Avg. rate:     489 rows/s
5000 rows imported from 0 files in 10.227 seconds (0 skipped).

我也看到了调试日志,但我没有看到任何关于这个孩子为什么死的信息。有足够的资源,我加载的文件是109mb文件。

cqlsh> COPY aarun.emp FROM '/home/etolaru/cass-data/testfile' WITH DELIMITER='|' AND HEADER = TRUE --debug;
Using 16 child processes
Starting copy of aarun.emp with columns [rownumber, cell, counternames, countervals, datetime, group]                                                                                                          .
Failed to import 0 rows: NoHostAvailable - ,  given up after 1 attempts
Failed to import 0 rows: NoHostAvailable - ,  given up after 1 attempts
4 child process(es) died unexpectedly, aborting
Processed: 5000 rows; Rate:     593 rows/s; Avg. rate:     489 rows/s
5000 rows imported from 0 files in 10.227 seconds (0 skipped).

我希望文件中的所有记录都应该加载到cassandradb中,而不会出现任何问题。请告诉我如何解决这个问题。

balp4ylt

balp4ylt1#

确保您的文件有正确的编码,并且其中没有特殊字符(确保utf-8,没有测试ascii),要测试它,请尝试在postgresql服务器上加载相同的文件,因为copy命令与postgresql数据转储有很多相似之处。这将有助于确保您的输入数据没有问题,而且我在某个地方读到,“复制自”应该限制在较小的文件,如1-2GB(最大)而不是更多。

相关问题