下載apache-storm-1.2.1.tar.gz 版本,並經過Xftp5上傳到hadoop機器集羣的第一個節點node1上的/opt/uploads/目錄:html
tar zxvf apache-storm-1.2.1.tar.gznode
mv apache-storm-1.2.1 /opt/app/ && cd /opt/app/apache
sudo vi /etc/profile瀏覽器
添加以下內容:服務器
export STORM_HOME=/opt/app/apache-storm-1.2.1
export PATH=:$PATH:$STORM_HOME/bin網絡
使環境變量生效:source /etc/profileapp
①下載解壓zookeeper:http://zookeeper.apache.org/releases.htmloop
②修改zookeeper的conf/zoo.cfg文件,增長以下內容:ui
dataDir=/opt/app/zookeeper-3.4.5/data
clientPort=2181
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888spa
③啓動zookeeper集羣
在每臺機器上經過zookeeper的bin/zkServer.sh start啓動zk,zookeeper會自動組件集羣。
進入storm配置文件的目錄,cd /opt/app/apache-storm-1.2.1/conf/
修改storm.yaml文件 vi storm.yaml,將如下內容寫入到storm.yaml文件中
# zookeeper集羣的hosts
storm.zookeeper.servers:
- "hadoop1"
- "hadoop2"
- "hadoop3"
# 指定zookeeper的端口
storm.zookeeper.port: 2181
# storm存儲的數據目錄
storm.local.dir: "/opt/app/apache-storm-1.2.1/storm-local"
# 指定storm集羣中的nimbus節點所在的服務器
nimbus.seeds: ["hadoop1"]
# 指定nimbus啓動JVM最大可用內存大小
nimbus.childopts: "-Xmx1024m"
# 指定supervisor啓動JVM最大可用內存大小
supervisor.childopts: "-Xmx768m"
# 指定ui啓動JVM最大可用內存大小,ui服務通常與nimbus同在一個節點上
ui.childopts: "-Xmx768m"
# 指定supervisor節點上,啓動worker時對應的端口號,每一個端口對應槽,每一個槽位對應一個worker
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
storm.health.check.dir: "healthchecks"
storm.health.check.timeout.ms: 5000
其中storm.local.dir指定的目錄須要提早建立,supervisor.slots.ports配置的端口數量決定了每臺supervisor機器的worker集羣,每一個worker會有本身的監聽端口用於監放任務。
scp -r /opt/app/apache-storm-1.2.1/ hadoop@hadoop2:/opt/app/
scp -r /opt/app/apache-storm-1.2.1/ hadoop@hadoop3:/opt/app/
在hadoop1節點機器上啓動nimbus和監控ui
nohup storm nimbus &
nohup storm ui &
在hadoop2和hadoop3節點機器上啓動supervisor做爲worker
nohup storm supervisor &
經過瀏覽器訪問ui監控界面,「storm ui」命令運行的機器ip + 默認8080端口,如圖:
前提條件:三臺機器集羣是部署在VMware 12上面的,經過NAT網絡通訊,若是須要訪問虛擬機的8080端口,須要在VMware12上面設置端口轉發,如圖:
至此,storm集羣搭建完成,主要工做爲:①zookeeper的安裝配置;②storm中配置zookeeper的地址;③分別啓動storm的nimbus和supervisor及監控ui。
參考資料:
https://blog.csdn.net/qingkangxu/article/details/79513697
http://storm.apache.org/releases/1.2.1/Setting-up-a-Storm-cluster.html