您好,登錄后才能下訂單哦!
本篇內容主要講解“Storm-0.9.3的安裝部署步驟”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Storm-0.9.3的安裝部署步驟”吧!
Storm集群中包含兩類節點:主控節點(Master Node)和工作節點(Work Node)。其分別對應的角色如下:
主控節點(Master Node)上運行一個被稱為Nimbus的后臺程序,它負責在Storm集群內分發代碼,分配任務給工作機器,并且負責監控集群運行狀態。Nimbus的作用類似于Hadoop中JobTracker的角色。
每個工作節點(Work Node)上運行一個被稱為Supervisor的后臺程序。Supervisor負責監聽從Nimbus分配給它執行的任務,據此啟動或停止執行任務的工作進程。每一個工作進程執行一個Topology的子集;一個運行中的Topology由分布在不同工作節點上的多個工作進程組成。
Storm集群組件
Nimbus和Supervisor節點之間所有的協調工作是通過Zookeeper集群來實現的。此外,Nimbus和Supervisor進程都是快速失敗(fail-fast)和無狀態(stateless)的;Storm集群所有的狀態要么在Zookeeper集群中,要么存儲在本地磁盤上。這意味著你可以用kill -9來殺死Nimbus和Supervisor進程,它們在重啟后可以繼續工作。這個設計使得Storm集群擁有不可思議的穩定性。
——————————————————————————————————————————
搭建Zookeeper集群
Storm使用Zookeeper協調集群,由于Zookeeper并不用于消息傳遞,所以Storm給Zookeeper帶來的壓力相當低。大多數情況下,單個節點的Zookeeper集群足夠勝任,不過為了確保故障恢復或者部署大規模Storm集群,可能需要更大規模節點的Zookeeper集群(對于Zookeeper集群的話,官方推薦的最小節點數為3個)。在Zookeeper集群的每臺機器上完成以下安裝部署步驟:
1. 下載安裝Java JDK,官方下載鏈接為http://java.sun.com/javase/downloads/index.jsp,JDK版本為JDK 6或以上。
2. 根據Zookeeper集群的負載情況,合理設置Java堆大小,盡可能避免發生swap,導致Zookeeper性能下降。保守起見,4GB內存的機器可以為Zookeeper分配3GB最大堆空間。
3. 下載后解壓安裝Zookeeper包,官方下載鏈接為http://hadoop.apache.org/zookeeper/releases.html。
4. 根據Zookeeper集群節點情況,在conf目錄下創建Zookeeper配置文件zoo.cfg:
tickTime=2000
dataDir=/var/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.1=zookeeper1:2888:3888
server.2=zookeeper2:2888:3888
server.3=zookeeper3:2888:3888
復制代碼
5. 在dataDir目錄下創建myid文件,文件中只包含一行,且內容為該節點對應的server.id中的id編號。其中,dataDir指定Zookeeper的數據文件目錄;其中server.id=host:port:port,id是為每個Zookeeper節點的編號,保存在dataDir目錄下的myid文件中,zookeeper1~zookeeper3表示各個Zookeeper節點的hostname,第一個port是用于連接leader的端口,第二個port是用于leader選舉的端口。
6. 啟動Zookeeper服務:
bin/zkServer.sh start
復制代碼
7. 通過Zookeeper客戶端測試服務是否可用:
bin/zkCli.sh -server 127.0.0.1:2181
復制代碼
————————————————————————————————————————
10.134.84.93 Nimbus
10.139.37.57 Supervisor
10.139.18.45 Supervisor zookeeper
10.134.85.125 Supervisor zookeeper
10.134.74.59 Supervisor zookeeper
1. storm選擇使用最新版apache-storm-0.9.3,下載地址:
http://www.apache.org/dyn/closer.cgi/storm/apache-storm-0.9.3/apache-storm-0.9.3.tar.gz
2. storm依賴jdk6和python
2.1 機器已經安裝了jdk7,經試驗啟動storm時會報錯。因此選擇jdk6最新版6u45,下載地址:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR
選擇
2.2 機器自帶python2.4.3,但storm依賴2.6以上版本,我們選擇使用2.7.9,下載地址:
https://www.python.org/downloads/release/python-279/
1. jdk安裝
1.1 由于機器上已經安裝了默認的jdk7,在終端直接輸入java -version時會提示使用的是1.7
因此,需要把jdk6單獨安裝在一個目錄。
直接執行jdk-6u45-linux-x64.bin,如下:
1.2 自動解壓完畢后,會在當前目錄生成jdk的文件夾,再把此文件夾mv到我們指定的JAVA_HOME地址,如/opt/local/jdk1.6.0_45,如下:
2. python安裝
2.1 執行tar zxvf Python-2.7.9.tgz命令,解壓Python安裝包:
2.2 解壓后,進行以下安裝步驟:
2.3 經過./configure、make、make install后,默認python2.7安裝在/usr/local/bin/python2.7,而/usr/bin/python這個軟鏈引用的依然是2.4.3,可以做下替換,如下:
1. 在服務器上解壓storm安裝包,紅色部分為需要修改的配置文件:
2. 修改conf/storm_env.ini,指定使用的java環境
3. 修改conf/storm.yaml,指定strom的以下幾項配置:
#storm 使用的zookeeper 的服務器域名,默認端口2181 storm.zookeeper.servers:- “yf_18_45″- “sjs_85_125″- “sjs_74_59″#nimbus 的節點 nimbus.host: “sjs_84_93″ |
# 數據存儲路徑
storm.local.dir: “/data/storm”
# 本地日志路徑
storm.log.dir: “/opt/logs/storm”
#supervisor 的槽位數及端口號,每個端口號表示一個槽位
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
# 指定drpc 服務器
drpc.servers:
- “yf_18_45″
- “sjs_85_125″
- “sjs_74_59″
- “yf_37_57″
4. 在每個storm節點進行以上安裝步驟,其中storm可在一臺機器上配置好后再scp到其他各臺服務器。
1. 在nimbus節點啟動nimbus、storm-ui和logviewer:
bin/storm nimbus &
bin/storm ui &
bin/storm logviewer &
3. 在各supervisor節點啟動supervisor和logviewer:
bin/storm supervisor &
bin/storm logviewer &
驗證
1. 訪問 http://10.134.84.93:8080 ,查看ui是否正常,supervisor數為4,free slot數為16
2. 提交測試storm程序。
bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.3.jar storm.starter.ExclamationTopology ExclamationTopology
到此,相信大家對“Storm-0.9.3的安裝部署步驟”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。