Strom集群安裝,Python安裝,Strom配置,Strom常用命令
#一.集群安裝說明
1、storm安裝依賴Python,所以在安裝前請確保Python已經安裝成功了
2、在安裝前要保證hadoop1,hadoop2,hadoop3之間能夠互相兩兩之間ssh免登陸。
3、安裝好JDK
4、安轉好Zookeeper集群
##1 ssh免登陸配置:
分別在hadoop1,hadoop2,hadoop3上執行:
ssh-keygen -t rsa
| ssh-copy-id hadoop1 |
| ssh-copy-id hadoop2 |
| ssh-copy-id hadoop3 |
| ssh-copy-id hadoop4 |
| ssh-copy-id hadoop5 |
##2 安裝Python(注:hadoop1,hadoop2,hadoop3上都要安裝)
[root@hadoop1 software]# wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2 [root@hadoop1 software]# tar -jxvf Python-2.6.6.tar.bz2 [root@hadoop1 software]# cd Python-2.6.6 [root@hadoop1 software]# ./configure [root@hadoop1 software]# make [root@hadoop1 software]# make install測試Python,檢查是否已經安裝好了
[root@hadoop1 Python-2.6.6]# python -V Python 2.6.6出現上面的現象表示已經安裝成功了。
#3.安裝jdk
略
#4.安裝zookeeper集群
http://blog.csdn.net/tototuzuoquan/article/details/54003140
#二、安裝storm
2.1、下載安裝包
wget http://mirrors.tuna.tsinghua.edu.cn/apache/storm/apache-storm-1.1.0/apache-storm-1.1.0.tar.gz2.2、解壓安裝包
[root@hadoop1 software]# mkdir -p /home/tuzq/software/stormInstallPath/servers [root@hadoop1 software]# pwd /home/tuzq/software [root@hadoop1 software]# mkdir -p /home/tuzq/software/stormInstallPath/servers [root@hadoop1 software]# tar -zxvf apache-storm-1.1.0.tar.gz -C /home/tuzq/software/stormInstallPath/servers/ [root@hadoop1 software]# cd /home/tuzq/software/stormInstallPath/servers/##2.3、修改storm.yaml配置文件
[root@hadoop1 servers]# mv /home/tuzq/software/stormInstallPath/servers/apache-storm-1.1.0/conf/storm.yaml /home/tuzq/software/stormInstallPath/servers/apache-storm-1.1.0/conf/storm.yaml.bak [root@hadoop1 servers]# vim /home/tuzq/software/stormInstallPath/servers/apache-storm-1.1.0/storm.yaml輸入以下內容:
#指定strom使用的zk集群,如果Zookeeper集群使用的不是默認端口,那么還需要storm.zookeeper.port選項 storm.zookeeper.servers: - "hadoop11"- "hadoop12"- "hadoop13" #strom.local.dir : Nimbus和Supervisor進程用于存儲少量狀態,如jars、confs等的本地磁盤目錄,需要提前創建該目錄并給以足夠的訪問權限。然后在storm.yaml中配置目錄,如: storm.local.dir: "/home/tuzq/software/stormInstallPath/workdir" #指定storm集群中的nimbus節點所在的服務器 nimbus.host: "hadoop1" #指定nimbus啟動JVM最大可用內存大小 nimbus.childopts: "-Xmx1024m" #指定supervisor啟動JVM最大可用內存大小 supervisor.childopts: "-Xmx1024m" #指定supervisor節點上,每個worker啟動JVM最大可用內存大小 worker.childopts: "-Xmx768m" #指定ui啟動JVM最大可用內存大小,ui服務一般與nimbus同在一個節點上。 ui.childopts: "-Xmx768m" # Storm UI的服務端口 (建議指定端口進行訪問,如果不修改,可能會和Spark的默認端口8080c沖突,也可能和tomcat的8080d端口沖突) ui.port: 9090 #指定supervisor節點上,啟動worker時對應的端口號,每個端口對應槽,每個槽位對應一個worker,對于Supervisor工作節點,需要配置該工作節點可以運行的worker數量。每個worker占用一個單獨的端口用于接收消息,該配置選線即用于接收消息,該配置選項用于定義哪些端口是可以被worker使用的。默認情況下每個節點下可以運行4個workers,分別在6700,6701,6702,6703端口,如: supervisor.slots.ports: - 6700- 6701- 6702- 6703注意:
上面的配置一定注意在每一項的開始時要加空格,冒號后也要加空格,否則storm就不認識這個配置文件。即:
(注意下面的截圖是最開始的圖,沒有指定storm ui的端口9090)
2.4、分發安裝包
在hadoop1上執行:
[root@hadoop1 software]# pwd /home/tuzq/software [root@hadoop1 software]# scp -r stormInstallPath root@hadoop2:$PWD配置strom的環境變量(hadoop1,hadoop2,hadoop3這幾臺服務器都要相應的修改)
[root@hadoop1 software]# vim /etc/profile#set storm env export STORM_HOME=/home/tuzq/software/stormInstallPath/servers/apache-storm-1.1.0 export PATH=$PATH:$STORM_HOME/bin[root@hadoop1 software]# source /etc/profile##2.5、啟動集群
? 在nimbus.host所屬的機器上(hadoop1)啟動 nimbus服務.
以下是啟動Storm各個后臺進程的方式:
Nimbus: 在Storm主控節點(hadoop1)上運行”bin/storm nimbus >/dev/null 2>&1 &”啟動Nimbus后臺程序,并放到后臺執行;
Supervisor: 在Storm各個工作節點(hadoop2,hadoop3)上運行”bin/storm supervisor >/dev/null 2>&1 &”啟動Supervisor后臺程序,并放到后臺執行;
UI: 在Storm主控節點(hadoop1)上運行”bin/storm ui >/dev/null 2>&1 &”啟動UI后臺程序,并放到后臺執行,啟動后可以通過http://{nimbus host}:9090觀察集群的worker資源使用情況、Topologies的運行狀態等信息。
當訪問http://hadoop1:9090/index.html時,效果如下:
注意事項:
啟動Storm后臺進程時,需要對conf/storm.yaml配置文件中設置的storm.local.dir目錄具有寫權限。 Storm后臺進程被啟動后,將在Storm安裝部署目錄下的logs/子目錄下生成各個進程的日志文件。 為了方便使用,可以將bin/storm加入到系統環境變量中。至此,Storm集群已經部署、配置完畢,可以向集群提交拓撲運行了。
2.5.2啟動集群的第二種方式
cd $STORM_HOME/bin/ nohup ./storm nimbus &? 在nimbus.host所屬的機器上啟動ui服務
cd $STORM_HOME/bin/ nohup ./storm ui &? 在其它個點擊上啟動supervisor服務
cd $STORM_HOME/bin/ nohup ./storm supervisor &##2.6、查看集群
訪問nimbus.host:/9090,即可看到storm的ui界面。
##2.7、Storm常用操作命令
有許多簡單且有用的命令可以用來管理拓撲,它們可以提交、殺死、禁用、再平衡拓撲。
? 提交任務命令格式:storm jar 【jar路徑】 【拓撲包名.拓撲類名】 【拓撲名稱】
? 殺死任務命令格式:storm kill 【拓撲名稱】 -w 10(執行kill命令時可以通過-w [等待秒數]指定拓撲停用以后的等待時間)
storm kill topology-name -w 10? 停用任務命令格式:storm deactivte 【拓撲名稱】
storm deactivte topology-name我們能夠掛起或停用運行中的拓撲。當停用拓撲時,所有已分發的元組都會得到處理,但是spouts的nextTuple方法不會被調用。銷毀一個拓撲,可以使用kill命令。它會以一種安全的方式銷毀一個拓撲,首先停用拓撲,在等待拓撲消息的時間段內允許拓撲完成當前的數據流。
? 啟用任務命令格式:storm activate【拓撲名稱】
? 重新部署任務命令格式:storm rebalance 【拓撲名稱】
storm rebalance topology-name再平衡使你重分配集群任務。這是個很強大的命令。比如,你向一個運行中的集群增加了節點。再平衡命令將會停用拓撲,然后在相應超時時間之后重分配worker,并重啟拓撲。
總結
以上是生活随笔為你收集整理的Strom集群安裝,Python安裝,Strom配置,Strom常用命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 支付宝医疗保险可以领几次
- 下一篇: strom-1.1.0模拟单词统计功能,