首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在EC2上使用DSBulk加载器将数据导入卡桑德拉

如何在EC2上使用DSBulk加载器将数据导入卡桑德拉
EN

Stack Overflow用户
提问于 2020-06-03 06:11:28
回答 1查看 176关注 0票数 1

我正在尝试使用ds散装加载程序将数据导入EC2上的Cassandra。我配置了三个节点并进行了如下通信:

代码语言:javascript
复制
UN  172.31.37.60   247.91 KiB  256          35.9%             7fdfe44d-ce42-45c5-bb6b-c3e8377b0eba  2a
UN  172.31.12.203  195.17 KiB  256          34.1%             232f7d98-9cc2-44e5-b18f-f52107a6fe2c  2c
UN  172.31.23.23   291.99 KiB  256          30.0%             b5389bf8-c0e5-42be-a296-a35b0a3e68fb  2b

我试图运行以下命令将csv文件导入我的数据库:

代码语言:javascript
复制
dsbulk load -url cassReviews/reviewsCass.csv -k bnbreviews -t reviews_by_place -h '172.31.23.23' -header true

我一直收到以下错误:

连接到节点的

错误(端点=/172.31.23.23:9042,hostId=null,hashCode=b9b80b7)

无法到达任何联系人,请确认您已提供有效地址

我正在从集群外部运行导入,但是在同一个EC2实例中。在每个节点上,我将listen_address和rpc_address设置为其privateIP。端口9042是开放的-所有三个节点都在同一个区域内,我使用的是一个Ec2Snitch。每个节点都运行在ubuntuv18.04服务器上。

在运行命令之前,我已经确保我的每个节点都已启动,并且我的.csv文件的路径是正确的。看起来,当我运行ds力克命令时,我用-h标志指定的节点就会立即下降。我的配置可能有什么问题吗?DSBulk加载器在本地工作良好,但是是否有更理想的方法从EC2实例中从csv文件导入数据?谢谢!

编辑:我已经能够使用ds散装加载器以块的形式加载数据,但是这个过程偶尔会被这个错误打断:

打开新通道时

S0/xxx.xx.xxx:9042错误

我目前解释它的方式是,指定IP上的节点已经耗尽存储空间并崩溃,导致后续的dsbulk操作失败。到目前为止,解决方法是清除/var/log/cassandra中过多的日志文件并重新启动节点,但我认为更好的方法是在每个实例上增加SSD。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-04 22:43:28

正如我在编辑中提到的,通过增加每个节点实例的体积来解决这个问题。DSBulk失败并导致节点崩溃的原因是来自导入的数据、日志记录和快照的EC2实例耗尽了存储。最后,我在一个带有30 on的t2.media实例上运行了主节点实例(在其中运行DSBulk命令),从而解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62166344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档