我正在尝试将新节点添加到运行AWS EC2的现有Cassandra集群中。我在我的cassandra.yaml中配置了集群名称,种子节点和listen_address。当我启动cassandra服务时,可以正确找到种子节点,但在获得数据共享时会发生Java异常:
Error during boostrap: Stream failed
知道造成这种情况的原因以及如何解决这个问题?简单地再做一遍就没有解决方案:/
答案 0 :(得分:2)
由于网络问题或sstable损坏,流可能会失败。 grep你的日志以获取stream-id以获取更多细节。
这样的事情应该会有所帮助:
$ cat system.log| grep "0fb1b0d0-8fc9-11e5-a498-4b9679ec178d" | sed -E 's/([0-9]{1,3}\.){3}[0-9]{1,3}/Source/'|awk '{ split($3,a,":"); $2=a[0] ; $3=""; $4=""; print }'|uniq -c
您应该在流的源端和目标端运行此操作,以获取流故障的潜在原因。
如果出于网络原因导致流失败,您只需尝试即可 试。
如果流由于sstable损坏而失败,请为此运行scrub sstable在源节点上再试一次。
如果你几乎完成了你的引导但不完全(大部分数据 流式传输),您可能想要启动节点 autobootstrap_false(在c * yaml中)并修复其余部分。
我写的post是关于修复的,但它还包括流故障排除,并且与引导环境相关。