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 的推文。根据我的经验,您必须在数周的时间内每天对它们进行处理才能获得重要的日志文件。
我正在写我的期末论文,但我对 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 的推文。根据我的经验,您必须在数周的时间内每天对它们进行处理才能获得重要的日志文件。