1.Storm叢集安裝準備:
- LInux系統:CentOS 7(3台)
- JDK:jdk-8u162-linux-x64.tar.gz
- Zookeeper:zookeeper-3.4.11.tar.gz
- Storm:apache-storm-1.2.1
2.安裝 2.1 JDK安裝 CentOS7自帶了openjdk,你可以使用這個也可以自己安裝,我是安裝自己的jdk。
- 打開終端,輸入下列指令,查找openjdk,并删除
rpm -qa | grep java
rpm -e --nodeps XXXX_openjdk_XXX
- 官網下載下傳jdk-8u162-linux-x64.tar.gz
- 解壓jdk-8u162-linux-x64.tar.gz
tar -xvf jdk-8u162-linux-x64.tar.gz
- 修改檔案夾名為jdk1.8
- 配置jdk的環境變量
sudo vim /etc/bashrc 在bashrc檔案最後加入 export JAVA_HOME=jdk路徑 export PATH=$PATH:$JAVA_HOME/bin
-
儲存退出重新開機系統
-
檢視環境變量和Java版本
echo $PATH
3.zookeeper安裝java -version
- 從官網下載下傳zookeeper-3.4.11.tar.gz
- 解壓zookeeper-3.4.11.tar.gz
- 在zookeeper安裝包目錄下建立一個data檔案夾
- 重命名zookeeper安裝包的conf目錄下的zoo_sample.cfg為zoo.cfg
- 打開zoo.cfg檔案,在檔案末尾添加如下配置
dataDir=zookeeper data目錄路徑
server.1=ip:2888:3888
server.2=ip:2888:3888
server.3=ip:2888:3888
server.A=B:C:D:其中 A 是一個數字,表示這個是第幾号伺服器;B 是這個伺服器的 ip 位址或主機名;C 表示的是這個伺服器與叢集中的 Leader 伺服器交換資訊
的端口;D 表示的是萬一叢集中的 Leader 伺服器挂了,需要一個端口來重新進行選舉,選出一個新的 Leader,而這個端口就是用來執行選舉時伺服器互相通信的端口.
- 在data檔案下建立一個myid檔案内容為1
- 配置環境變量,儲存退出重新開機
sudo vim /etc/bashrc
在bashrc檔案最後加入
export ZOOKEEPER=zookeeper路徑
export PATH=$PATH:$ZOOKEEPER/bin
- 将以上配置copy到其他機器上,注意myid檔案的内容必須要與ip/主機名對應,即!A和B要對應。
- 轉到zookeeper 的bin目錄下,測試是否配置成功。
./zkServer.sh start (啟動)
./zkServer.sh status (檢視狀态)
4.storm安裝![]()
Storm學習一叢集安裝
- 從官網下載下傳apache-storm-1.2.1.tar.gz
- 解壓apache-storm-1.2.1.tar.gz
- 在apache-storm-1.2.1安裝包目錄下建立一個data檔案夾
- 配置apache-storm-1.2.1安裝包的conf目錄下的storm.yaml,在檔案末尾添加如下配置:
storm.zookeeper.servers: - "master" - "slaver1" - "slaver2" nimbus.seeds: ["master"] supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703
- 配置環境變量,儲存退出重新開機
sudo vim /etc/bashrc 在bashrc檔案最後加入 export STORM=storm路徑 export PATH=$PATH:$STORM/bin
将以上配置copy到其他機器上
在主節點(master)的機器的storm的bin目錄下運作
./storm nimbus &
./storm ui &
- 在從節點(slaver1,slaver2)的機器上的storm bin目錄下運作
./storm supervisor &
- 在浏覽器裡輸入 master:8080/index.html,即可看到storm的運作狀态
至此,storm的叢集部署完成。
注:master,slaver1,slaver2是主機名,可以換成ip
![]()
Storm學習一叢集安裝