2015-01-03 60 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 –