一、叢集storm準備
1、首先準備三個linux虛拟機。如何安裝linux這裡就不解釋了。可以百度一下。
2、在每個linux虛拟機上安裝jdk8,我覺得8版本比較好,穩定一些。
(1)、安裝jdk8之前,先檢查一下linux是否有自帶的jdk版本,輸入指令:java -version,一般安裝有圖形界面的linux都有自帶的jdk。預設使用jdk如下圖:
預設是openjdk,這不是我們要的版本。
(2)、下載下傳jdk8。linux 能夠聯網,使用 wget 下載下傳,下載下傳的是 linux 版本的 jdk。
例如:wget
http://219.238.7.73/files/216300000A20F295/download.oracle.com/otn/java/jdk/8u121-b13/e9 e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz
下載下傳到指定檔案,比如我下載下傳到soft檔案夾(這個檔案夾自己建立,mkdir soft就可以建立)。在這soft檔案下裡輸入解壓指令:tar -zxvf jdk-8u121-linux-x64.tar.gz -C /usr/local/ ,這條指令的意思是将jdk檔案解壓到/usr/local/目錄,至于要解壓到那個目錄下看自己随意。
(3)、在/etc目錄下的profile檔案最後加上以下配置: 通過vim或者vi打開profile檔案。
export JAVA_HOME=/usr/local/jdk1.8.0_121 export
PATH=$JAVA_HOME/bin:$PATH export
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
(4)、profile 檔案修改成,執行 source /etc/profile 讓上面的配置生效 。
source 指令通常用于重新執行剛修改的初始化檔案,使之立即生效,而不必登出并重新登入。
文法:source 檔案名
例如:source /etc/profile
(5)、檢查配置是否生效:再次執行 java -version 檢查是否配置成功
如下圖:由原來的openjdk變成了java version “1.8.0_121”
其他兩個linux虛拟機也是這樣配置。
2、zookeeper叢集
(1)、給三台虛拟機的主機設定别名:修改三台虛拟機etc目錄下的hosts檔案。
設定别名後面好操作。
(2)、下載下傳zookeeper,放到soft檔案中,然後通過解壓指令:tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/local/
(3)、配置zookeeper的的conf檔案的zoo_sample.cfg檔案
首先進入local檔案夾的zookeeper檔案中,打開conf檔案,使用cp指令複制zoo_sample.cfg檔案為zoo.cfg,指令如下:cp zoo_sample.cfg zoo.cfg即可。
(4)、使用vi或者vim打開zoo.cfg,配置zoo.cfg檔案:
在zoo.cfg檔案中的末尾加這三個配置。記住三個虛拟機的zookeeper都要配置
(5)、在/usr/local/zookeeper-3.4.10下建立data檔案夾(mkdir data即可建立)
在打開conf檔案夾中配置zoo.cfg檔案,配置zoo.cfg檔案中的dataDir路徑:
同上三個虛拟機也建立data檔案并且配置dataDir路徑。
(6)、在剛才建立的data檔案夾中建立myid檔案 vi或者vim指令建立:
vi myid即可,在myid中輸入對應的數字:
server.1對應k1主機,那麼對應k1主機中的zookeeper中data檔案夾中的myid寫1 儲存即可。
其他兩個主機同理也要建立data并且建立myid檔案,寫對應的數字儲存即可。
我這裡上圖myid檔案寫着 2 表示對應的主機是k2。注意myid中的數字一定要跟單對應的主機相對應,不然zookeeper啟動會失敗。
在這裡zookeeper叢集配置就完成了。
(7)、啟動zookeeper,三台虛拟機的都要啟動。啟動zookeeper之前一定先檢查三台虛拟機的防火牆狀态,要是開着要把它關掉,不然叢集zookeeper啟動失敗。
檢視防火牆狀态:systemctl status firewalld
讓防火牆可用:systemctl enable firewalld
讓防火牆不可用:systemctl disable firewalld
開啟防火牆:systemctl start firewalld
禁用防火牆:systemctl stop firewalld
防火牆關掉之後進入zookeeper檔案中的bin檔案夾中輸入以下指令啟動zookeeper:./zkServer.sh start &
啟動zookeeper指令:./zkServer.sh start &
關閉zookeeper指令:./zkServer.sh stop &
檢視zookeeper狀态:./zkServer.sh status &
三台虛拟機的zookeeper都要啟動。
三台啟動之後使用:分别在三台zookeeper中使用./zkServer.sh status &指令檢視狀态
上圖為follower狀态表示從zookeeper
上圖為leader狀态表示為主zookeeper
會有兩台從一台主,都啟動之後在安裝storm。
二、叢集安裝storm
1、下載下傳storm 到soft檔案夾中官方網址:http://storm.apache.org/
解壓storm檔案到local文價夾中使用tar -zxvf storm檔案名解壓。
三台虛拟機都要安裝storm。
2、配置storm目錄下conf檔案夾中的storm.yaml檔案
使用vi或者vim打開storm.yaml檔案,加以下配置
上面是三台虛拟機的storm的配置。
貼上配置,要使用的話粘貼後複制修改成自己的即可。
storm.zookeeper.servers:
- “192.168.253.137”
- “192.168.253.133”
- “192.168.253.132”
設定主節點的主機名
nimbus.seeds: [“192.168.253.137”]
設定Storm的資料存儲路徑
storm.local.dir: “/usr/local/storm/data”
設定Worker的端口号
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
supervisor.childopts: “-Xms512m”
worker.childopts: “-Xmx1024m -Xms512m -Xmn200m -XX:SurvivorRatio=5”
nimbus.childopts: “-Xms512m”
storm.local.hostname: “k1”
storm.zookeeper.session.timeout: 60000
storm.zookeeper.connection.timeout: 60000
topology.acker.executors: 0
supervisor.worker.timeout.secs: 600
3、配置 storm.local.dir: “/usr/local/storm/data”。在storm中建立data檔案即可。
建立data後配置storm.yaml檔案中的torm.local.dir: 。三台虛拟機的storm都要配置。
4、啟動storm叢集。
(1)背景啟動nimbus
分别進入三台虛拟機的storm檔案夾中使用指令:bin/storm nimbus &
(2)背景啟動supervisor
再分别進入三台虛拟機的storm檔案夾中使用指令:bin/storm supervisor &
(3)啟動Storm ui
最後進入主storm檔案中使用指令:bin/storm ui &
5、在浏覽器中檢視storm的啟動狀态
輸入以下網址:http://192.168.253.137:8080/(注:自己的就輸入自己的IP位址)
上圖為啟動成功。
注意:防火牆一定要關掉!!!!
後續~~~~~~~更新