JStorm集群的部署


  JStorm是一個類似Hadoop MapReduce的系統,不同的是JStorm是一套基於流水線的消息處理機制,是阿里基於Storm優化的版本,和Storm一樣是一個分布式實時計算的系統,從開發角度來說,JStorm所有的概念和Storm都相同,所有的編程代碼一行不用改也可以直接放到JStorm運行,也可以做一些優化,JStorm比Storm更穩定、更強大、更快,去掉了很多耗費資源的代碼,在實際生產中表現更是非常突出,所以對於使用Storm計算的應用場景來說升級到JStorm更是簡單、低成本,以下使用3台服務器說一下JStorm集群的部署流程

  這3台服務器的主機名分別為:bigdata1,bigdata2,bigdata3

  准備工作:

  1、主機名和hosts映射一一對應,設置完好!

  2、防火牆關閉,保證通信暢通

  3、Zookeeper集群正常運行

  4、Python 2.6以上(系統一般默認都存在)

  5、JDK 推薦1.8

  接下來在bigdata1上操作安裝:

  1、釋放storm安裝包並移動至指定目錄:

unzip jstorm-2.1.1.zip 
mv jstorm-2.1.1 /bigdata/jstorm/
cd /bigdata/jstorm/jstorm-2.1.1/

  現在安裝目錄是/bigdata/jstorm/jstorm-2.1.1/

  2、編輯配置文件,執行 vim conf/storm.yaml 打開配置文件

  配置storm.zookeeper.servers為zookeeper地址

  

  storm.zookeeper.root為jstorm在zookeeper的節點名稱

  

  去掉nimbus.host的注釋,配置nimbus節點為bigdata1

  

  配置storm.local.dir,表示jstorm的臨時數據存放目錄

  

  去掉supervisor.slots.ports前面的注釋,設置supervisor節點執行worker使用的端口列表,默認為68xx,而storm是67xx

  

  一般設置為4個就夠了,當worker太多不夠時,再增加端口進行擴展

  配置完以上幾個配置,保存並退出配置文件,另外注意每一項配置必須對齊,這里每一項前面都有一個空格

  配置成功之后,執行以下命令,將jstorm整體發送至其他兩個節點:

scp -r /bigdata/jstorm/ bigdata2:/bigdata/
scp -r /bigdata/jstorm/ bigdata3:/bigdata/

  在當前機器,一般是nimbus,也就是提交jar包的機器上執行如下命令:

mkdir ~/.jstorm
cp /bigdata/jstorm/jstorm-2.1.1/conf/storm.yaml ~/.jstorm/

  建議盡量拷貝storm.yaml配置文件過去,否則可能在啟動ui和supervisor之后出現找不到supervisor節點的情況

  3、配置storm ui管理界面

  首先安裝好tomcat,然后將storm安裝目錄下的jstorm-ui-2.1.1.war復制到tomcat下的webapps中,就相當於tomcat容器中的一個web項目,可以放個軟鏈給ROOT這樣jstorm的管理界面就變成tomcat默認項目了,這里為默認項目,進入tomcat的webapps下執行如下命令:

mv ROOT ROOT.old
ln -s jstorm-ui-2.1.1 ROOT

  然后啟動tomcat服務器: /usr/local/tomcat/apache-tomcat-8.0.30/bin/startup.sh  

  4、啟動nimbus和supervisor

  在主節點jstorm安裝目錄下執行: nohup bin/jstorm nimbus & 執行后再次執行回車回到命令行,執行 jps 能看到NimbusServer進程,則nimbus啟動成功:

  

  在其他兩個節點分別執行: nohup bin/jstorm supervisor & 執行之后,執行 jps 可以看到Supervisor進程,則supervisor啟動成功:

  

  訪問主節點ip查看管理界面,地址為:http://192.168.0.187:8080/

  

  現在可以看到集群狀態,到這里Storm就安裝成功並且可以使用了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM