Spring-xd 不会在 HDFS 上写入来自 Twitter 的流

Spring-xd doesn't write stream from Twitter on HDFS

我正在写我的期末论文,但我对 Spring-xd 有疑问:

我从我的 xd-shell 运行:

stream create --name cyrustweets --definition "twitterstream --track='mileycyrus, miley cyrus' | log" --deploy

并且有效。我的 xd-singlenode 给我看推文。

但是当我尝试在 HDFS 上写入时:

stream create --name cyrustweets --definition "twitterstream --track='mileycyrus, miley cyrus' | hdfs" --deploy

xd-singlenode 给我看下一个:

08:28:05,763 1.0.3.RELEASE WARN twitterSource-1-1 twitter.TwitterStreamChannelAdapter - Exception while reading stream. org.springframework.messaging.MessageHandlingException: failed to write Message payload to HDFS.

有什么帮助吗?我遵循了本教程: http://hortonworks.com/hadoop-tutorial/using-spring-xd-to-stream-tweets-to-hadoop-for-sentiment-analysis/

非常感谢

Caused by: java.net.ConnectException: Conexión rehusada

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

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

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

此错误来自源端。 Twitter API 对流式传输时间有一些限制,通常由您的 IP 地址决定。您将无法在 30 分钟内复制 100 MB 的推文。根据我的经验,您必须在数周的时间内每天对它们进行处理才能获得重要的日志文件。