Cassandra 升级 0.8.2->0.8.4 出现错误“无法连接到所有端点”

发布于 2024-11-29 10:24:44 字数 1993 浏览 1 评论 0原文

cassandra从0.8.2升级到0.8.4后,出现此错误 我已经重新启动了 cassandra、删除了数据等,但没有任何帮助 我在云端有 6 台相同的机器,之前运行良好。 如果我执行 netstat 那么它会显示端口 9160 正在监听 nodetool ...ring - 响应 6 台机器。

可能是什么问题? :(

线程“主”java.io.IOException 中的异常:无法获取输入拆分 在org.apache.cassandra.hadoop.ColumnFamilyInputFormat.getSplits(ColumnFamilyInputFormat.java:157) 在 org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:885) 在org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:779) 在 org.apache.hadoop.mapreduce.Job.submit(Job.java:432) 在 org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:447) 在 WordCount.run(来源不明) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 在 WordCount.main(来源未知) 引起原因:java.util.concurrent.ExecutionException:java.io.IOException:无法连接到所有端点slave1/98.188.69.242 在 java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) 在 java.util.concurrent.FutureTask.get(FutureTask.java:83) 在 org.apache.cassandra.hadoop.ColumnFamilyInputFormat.getSplits(ColumnFamilyInputFormat.java:153) ... 7 更多 引起原因:java.io.IOException:无法连接到所有端点slave1/98.188.69.242 在 org.apache.cassandra.hadoop.ColumnFamilyInputFormat.getSubSplits(ColumnFamilyInputFormat.java:234) 在 org.apache.cassandra.hadoop.ColumnFamilyInputFormat.access$200(ColumnFamilyInputFormat.java:70) 在 org.apache.cassandra.hadoop.ColumnFamilyInputFormat$SplitCallable.call(ColumnFamilyInputFormat.java:190) 在 org.apache.cassandra.hadoop.ColumnFamilyInputFormat$SplitCallable.call(ColumnFamilyInputFormat.java:175) 在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 在 java.util.concurrent.FutureTask.run(FutureTask.java:138) 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread.java:662)

After upgrade of cassandra from 0.8.2 to 0.8.4, got this error
I have restarted cassandra, removed data, etc. nothing helps
I have 6 identical machines in the cloud, before it was working fine.
If I make netstat then it shows port 9160 listening
nodetool ... ring - responces with 6 machines UP.

what could be the problem? : (

Exception in thread "main" java.io.IOException: Could not get input splits
at org.apache.cassandra.hadoop.ColumnFamilyInputFormat.getSplits(ColumnFamilyInputFormat.java:157)
at org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:885)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:779)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:432)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:447)
at WordCount.run(Unknown Source)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at WordCount.main(Unknown Source)
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: failed connecting to all endpoints slave1/98.188.69.242
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at org.apache.cassandra.hadoop.ColumnFamilyInputFormat.getSplits(ColumnFamilyInputFormat.java:153)
... 7 more
Caused by: java.io.IOException: failed connecting to all endpoints slave1/98.188.69.242
at org.apache.cassandra.hadoop.ColumnFamilyInputFormat.getSubSplits(ColumnFamilyInputFormat.java:234)
at org.apache.cassandra.hadoop.ColumnFamilyInputFormat.access$200(ColumnFamilyInputFormat.java:70)
at org.apache.cassandra.hadoop.ColumnFamilyInputFormat$SplitCallable.call(ColumnFamilyInputFormat.java:190)
at org.apache.cassandra.hadoop.ColumnFamilyInputFormat$SplitCallable.call(ColumnFamilyInputFormat.java:175)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

或十年 2024-12-06 10:24:44

不知道你的问题解决了没有。我遇到了与您相同的问题(也与您的配置相同)并尝试解决它。
问题定位:

public List call() 抛出异常 { ... List
tokens = getSubSplits(keyspace, cfName, range, conf); ...

在方法 getSubSplits 调用方法时

createConnection(主机, ConfigHelper.getRpcPort(conf), true)

,host 格式不正确。有时是主机名/10.197.34.111(ip_address),所以createConnection会失败。我们需要提取 IP 地址,然后调用 createConnection。

您可以尝试更改代码并再次尝试Hadoop。

祝你好运!

I don't know whether you have solved the problem. I met with the same problem as yours (Same configuration as yours too) and trrie to solve it.
Problem location:

public List call() throws Exception { ... List
tokens = getSubSplits(keyspace, cfName, range, conf); ...

In the method getSubSplits when calling method

createConnection(host, ConfigHelper.getRpcPort(conf), true)

, the format of host is not right. It is hostname/10.197.34.111 sometimes (ip_address), so createConnection will fail. We need to extract the ip address and then call createConnection.

You can try to change the code and try Hadoop again.

Good luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文