1. 程式人生 > >Strom開發配置手冊

Strom開發配置手冊

取數 集群 tar oms 技術 java ip6tables .com 安裝過程

一:Storm集群搭建

1.本次開發使用的是storm0.9.3

2.Storm0.9.3集群搭建:

1)storm集群角色包含集群主節點Nimbus;集群從節點Supervisor

2)集群安裝:先安裝zookeeper集群;上傳storm安裝包到服務器;修改配置文件;啟動集群

3)集群安裝前,需要修改主機名稱配置IPvi/etc/hosts

技術分享

關閉服務器之間的防火墻:

執行如下命令:

service iptables save

service iptables stop

chkconfig iptables off

service ip6tables save

service ip6tables stop

chkconfig ip6tables off

4)Zookeeper安裝過程:

1.上傳zk安裝包

2.解壓

3.配置(先在一臺節點上配置)

3.1添加一個zoo.cfg配置文件

$ZOOKEEPER/conf

mv zoo_sample.cfg zoo.cfg

3.2修改配置文件(zoo.cfg

技術分享

dataDir=/bigdata/zookeeper-3.4.5/data

server.1=bigdata227:2888:3888

server.2=bigdata228:2888:3888

server.3=bigdata229:2888:3888

3.3在(

dataDir=/bigdata/zookeeper-3.4.5/data)創建一個myid文件,裏面內容是server.N中的Nserver.2裏面內容為2

server那個點之後的數字是幾,就在myid文件中寫入幾(比如server.1=bigdata227:2888:3888),那麽在bigdata227,這臺服務器中的zk文件目錄下的data文件夾下創建的myid文件內容就是1

3.4將配置好的zk拷貝到其他節點

scp -r /bigdata/zookeeper-3.4.5/ bigdata228:/bigdata/

scp -r /bigdata/zookeeper-3.4.5/ bigdata229:/bigdata/

3.5註意:在其他節點上一定要修改myid的內容

bigdata228應該講myid的內容改為2 :在bigdata228,這臺服務器中的zk文件目錄下的data文件夾下創建的myid文件內容就是2

bigdata229應該講myid的內容改為3 :在bigdata229,這臺服務器中的zk文件目錄下的data文件夾下創建的myid文件內容就是3

4.啟動集群

分別啟動zk

./zkServer.sh start

使用./zkServer.sh status 可以查看啟動zk的啟動狀態

5)上傳storm0.9.3 解壓

6)Cd/bigdata/apache-storm-0.9.3/conf,修改storm.yaml配置文件

技術分享

增加storm.zookeeper.server:

Nimbus.host

然後保存退出,把storm文件傳至bigdata228bigdata229兩臺主機

7)啟動集群:

先啟動nimbus

Cdnimbusbigdata227stormbin目錄執行:

./storm nimbus 1>/dev/null 2>&1 &

還可以啟動一個web服務進程

./storm ui 1>/dev/null 2>&1 &

技術分享

然後切換到bigdata228bigdata229

啟動各節點中的supervisor

Cd stormbin 目錄 執行:

./storm supervisor 1>/dev/null 2>&1 &

技術分享

到此storm集群搭建完成!!

二:stormDemo項目說明

數據庫

實時表:

技術分享

Day表:

技術分享

demo程序是簡單的一個day天的歸集統計,歸集電壓的一天總和,後續存儲過程開發可以再次基礎上進行

技術分享技術分享

項目主要的數據源是從數據庫中讀取:

Storm包中是對從數據庫中讀取的數據進行業務邏輯處理

類的說明:

RandomSpout是獲取數據源並傳遞給DayBolt,以後存儲過程可以設計MonthBoltYearBolt等等

TopoMain類是組合類,也是主類,spoutbolt的設置都在這裏面

註意:

//單機開發模式

LocalCluster cluster = new LocalCluster();

cluster.submitTopology("demotopo", conf, topo);

//集群模式:提交topostorm的集群中

//StormSubmitter.submitTopology("demotopo", conf, topo);

如果是單機開發模式,則可以像運行Java application一樣在本機運行

如果想部署到集群,首先把項目打成jar包,傳到nimbus所在的服務器,然後切換到stormbin目錄,執行:./storm jar /bigdata/xxx.jar cn.zhangshitong.TopoMain 前面是jar包的位置,後面是jar包中的主類

Nimbus就會把任務分發給supervisor

Strom開發配置手冊