Storm精华问答 | 如何理解spout/bolt的生命周期?
戳藍字“CSDN云計算”關注我們哦!
Storm是Twitter開源的分布式實時大數據處理框架,被業界稱為實時版Hadoop。隨著越來越多的場景對Hadoop的MapReduce高延遲無法容忍,比如網站統計、推薦系統、預警系統、金融系統等, 大數據實時處理解決方案的應用日趨廣泛,目前已是分布式技術領域最新爆發點,而Storm更是流計算技術中的佼佼者和主流。
Q:在使用了storm一段時間后,需要重新部署storm的集群,主要是想將storm部署在其它機器上。做了以下錯誤操作:
????????1) 沒有kill 正在運行的topology,kill nimbus和supervisor的storm進程
????????2) 刪除了配置中"storm.local.dir"的文件夾內的內容
????????3) 啟動storm nimbus
系統報錯,如何解決?
?
A:因為沒有先killtopology,所以在啟動nimbus時,zookeeper中依然保留了上次運行著的topology的信息,解決辦法如下:
用zookeeper的zkCli.sh清理一下,直接重裝了zookeeper。但是據說在storm0.6.1中已經解決了該bug。
Q:在配置文件storm.yaml中,有:
那么,如何配置JVM參數呢?
A:如果worker在運行時,需要用指定的JVM參數,那么可以像這樣配置:
worker.childopts: "-Dworker=worker -Xmx768m -Xdebug –Xnoagent-Djava.compiler=NONE-Xrunjdwp:transport=dt_socket,address=8111,suspend=y,server=y"?
3Q:如何理解spout/bolt的生命周期?
?
A:一般來說spout/bolt的生命周期如下:
1?、在提交了一個topology之后(在nimbus所在的機器),創建spout/bolt實例(spout/bolt在storm中統稱為component)并進行序列化;
2、將序列化的component發送給所有的任務所在的機器;
3、在每一個任務上反序列化component;
4、在開始執行任務之前, 先執行component的初始化方法(bolt是prepare, spout是open);
因此component的初始化操作應該在prepare/open方法中進行,而不是在實例化component的時候進行。
Q:如何將Storm與Spring框架集成?
?
?A:在進行Storm與Spring集成時,需要對Storm的spout和bolt的生命周期按照上個問題那樣理解清楚。這樣的話就會知道,component的初始化操作應該在prepare/open方法中進行,而不是在實例化component的時候進行.按照這種說法進行改造,結構該問題消失了。但接下來可能會有新的問題:
Caused by: org.xml.sax.SAXParseException: Content is not allowedin prolog.這個異常是由于*.xml文件編碼的問題。原因是在從其他項目里或者編輯工具編輯時,在文件編碼中加入了BOM頭的原因,于是用notePad++打開xml文件選擇去掉BOM頭信息,重新進行保存即可。
Q“java.lang.NoClassDefFoundError: clojure.core.protocols$”故障如何解決?
?
A:故障的原因是因為JDK版本不匹配,安裝虛擬機時系統會自帶一個jdk.1.5.0。解決辦法是檢查JDK版本,卸載系統自帶的JDK,使用自己安裝的JDK版本。
#rpm –qa | grep java# rpm –e –nodeps java-*
配置環境變量
vi /etc/profile重新執行一遍即可。
小伙伴們沖鴨,后臺留言區等著你!
關于Storm,今天你學到了什么?還有哪些不懂的?除此還對哪些話題感興趣?快來留言區打卡啦!留言方式:打開第XX天,答:……
同時歡迎大家搜集更多問題,投稿給我們!風里雨里留言區里等你~
福利
1、掃描添加小編微信,備注“姓名+公司職位”,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!
推薦閱讀:
IEEE 回應禁止華為系審稿人;WiFi聯盟、藍牙聯盟已恢復華為成員資格;中國計算機學會:暫時中止與IEEE通信學會合作……
ARM 發布新一代 CPU 和 GPU,實現 20% 性能提升!
前端開發 20 年變遷史
北漂杭漂的程序員,是如何買到第一套房子?
“愛裝X”開源組織:“教科書級”AI知識樹究竟長什么樣?
500行Python代碼打造刷臉考勤系統
權游播完了, 你在罵爛尾, 有人卻悄悄解鎖了新操作……
真香,朕在看了!
總結
以上是生活随笔為你收集整理的Storm精华问答 | 如何理解spout/bolt的生命周期?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 硬盘不见了怎么办 硬盘丢失怎么处理
- 下一篇: 电脑怎么打开触摸板设置在哪里设置 如何开