2015-01-03 29 views
0

我在我的毕业论文写的工作流和我和春天有-XD一个问题:弹簧XD没有从Twitter上HDFS

我从我的XD-shell中运行:

流创建--name cyrustweets --definition “twitterstream --track = '麦莉 - 塞勒斯,麦莉·赛勒斯' |日志” --deploy

和它的作品。我的xd-singlenode让我看到推文。

但是当我尝试HDFS上写:

流创建--name cyrustweets --definition “twitterstream --track = '麦莉 - 塞勒斯,麦莉·赛勒斯' | HDFS” --deploy

的XD-singlenode告诉我下一个:

08:28:05763 1.0.3.RELEASE WARN twitterSource-1-1 twitter.TwitterStreamChannelAdapter - 读取流时发生异常。 org.springframework.messaging.MessageHandlingException:未能通过 将消息载荷写入HDFS。

任何帮助?我跟着这个教程: http://hortonworks.com/hadoop-tutorial/using-spring-xd-to-stream-tweets-to-hadoop-for-sentiment-analysis/

非常感谢

+0

你能从日志中显示完整的堆栈跟踪吗?如果它在这里太大,请将它张贴到其他地方(例如要点)。 –

+0

完整日志在这里:https://gist.github.com/anonymous/ac62851d96730a828c68 –

回答

0

此错误是从源端。 Twitter API对流式传输时间有一些限制,通常由您的IP地址决定。几乎30分钟内您将无法复制100 MB的推文。根据我的经验,您必须在几周的时间内每天蒸发它们以获取重要的日志文件。

1

产生的原因:java.net.ConnectException:Conexiónrehusada

这意味着HDFS端口和/或主机名不正确( Connection Refused英文)。

如果您正在使用Spring-XD的新版本,Hadoop的连接属性中servers.yml配置,使用这些默认值:

# Hadoop properties 
    hadoop: 
    fsUri: hdfs://localhost:8020 
    resourceManagerHost: localhost 
    resourceManagerPort: 8032 
+0

我应该在这些默认设置中更改哪些内容? 刚刚localhost为我的虚拟机的IP地址? 谢谢 –

+0

运行namenode的主机和端口。我不熟悉Hortonworks沙箱,但他们的教程说:“...您可以在加载时找到沙箱的IP地址:” –

+0

在XD wiki上使用HDP Sandbox有一些说明 - https:/ /github.com/spring-projects/spring-xd/wiki/Using-Hadoop-VMs-with-Spring-XD#hortonworks-sandbox –