1. 程式人生 > >CentOS7.0安裝配置Storm叢集

CentOS7.0安裝配置Storm叢集

1.環境準備

  • 作業系統: CentOS7.0
  • Zookeeper版本:zookeeper-3.4.10
  • Storm版本:apache-storm-1.1.0
  • JDK版本:jdk1.8.0_77
  • Python版本:
  • 叢集配置如下:
# os hostname ip software notes
1 CentOS7 apollo.dt.com 192.168.56.181 1.zookeeper
2.storm
master
2 CentOS7 artemis.dt.com 192.168.56.182 1.zookeeper
2.storm
worker
3 CentOS7 uranus.dt.com 192.168.56.183 1.zookeeper
2.storm
worker

2.前提條件

2.1.安裝配置JDK1.8

2.2.安裝配置Zookeeper叢集

3.下載Apache Storm

[root@dtadmin ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/storm/apache-storm-1.1.0/apache-storm-1.1.0.tar.gz

4. 安裝Storm

4.1.安裝依賴庫

[root@apollo ~]# yum install libtool -y
[root@apollo ~]# yum -y install gcc
[root@apollo ~]# yum -y install gcc-c++
[root@apollo ~]# yum -y install make
[root@apollo ~]# yum -y install uuid-devel
[root@apollo ~]# yum -y install libuuid-devel
[root@apollo ~]# yum -y install e2fsprogs-devel

4.2.下載libsodium

[root@apollo dtadmin]# wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.10.tar.gz
#解壓
[root@apollo dtadmin]# tar -zxvf libsodium-1.0.10.tar.gz
#移到目錄/opt/下
[root@apollo dtadmin]# mv libsodium-1.0.10 /opt/libsodium-1.0.10
#進入到目錄
[root@apollo dtadmin]# cd /opt/libsodium-1.0.10
#編譯
[root@apollo libsodium-1.0.10]# ./autogen.sh 
[root@apollo libsodium-1.0.10]# ./configure 
[root@apollo libsodium-1.0.10]# make
[root@apollo libsodium-1.0.10]# make install

4.3.ZeroMQ

#解壓
[root@apollo dtadmin]# tar -xvf zeromq-4.2.1.tar 
#移到目錄/opt/zeromq下
[root@apollo dtadmin]# mv zeromq-4.2.1 /opt/zeromq
#進入目錄/opt/zeromq
[root@apollo dtadmin]# cd /opt/zeromq/
#編譯安裝
[root@apollo zeromq]# ./autogen.sh 
[root@apollo zeromq]# ./configure PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
[root@apollo zeromq]# make
[root@apollo zeromq]# make install

4.4 jzmq

#如果沒有安裝git
[root@apollo zeromq]# yum -y install git
#git clone jzmq
[root@apollo zeromq]# git clone git://github.com/zeromq/jzmq.git
#移動jzmq到/opt/jzmq下
[root@apollo zeromq]# mv jzmq /opt/jzmq
#進入目錄jzmq/jzmq-jni
[root@apollo zeromq]# cd /opt/jzmq/jzmq-jni
#編譯
[root@apollo jzmq-jni]# ./autogen.sh 
[root@apollo jzmq-jni]# ./configure 

4.4.解壓storm到/opt/storm/下

#解壓
[root@apollo dtadmin]# tar -zxvf apache-storm-1.1.0.tar.gz 
#移到/opt/storm下
[root@apollo dtadmin]# mv apache-storm-1.1.0 /opt/storm

5.配置環境變數

[root@apollo dtadmin]# vim /etc/profile
#新增以下配置
# storm-1.1.0
export STORM_HOME=/opt/storm
export PATH=$PATH:$STORM_HOME/bin

#使修改生效
[root@apollo dtadmin]# source /etc/profile
#驗證
[root@apollo dtadmin]# echo $STORM_HOME
/opt/storm

6.修改配置檔案

6.1.配置storm.yaml

#進入$STORM_HOME目錄
[root@apollo storm]# cd $STORM_HOME
#建立目錄
[root@apollo storm]# mkdir -p data
#進入配置檔案目錄
[root@apollo storm]# cd $STORM_HOME/conf
#修改配置檔案storm.yaml
[root@apollo conf]# vim storm.yaml
#修改的配置項如下
 storm.zookeeper.servers:
     - "192.168.56.181"
     - "192.168.56.182"
     - "192.168.56.183"

 nimbus.seeds: ["192.168.56.181"]

 storm.local.dir: "/opt/storm/data"

6.2 配置檔案驗證可以通過YAML Lint

把storm.yaml配置檔案中的內容拷貝到YAML Lint框中驗證,如下圖所示:

yamllint.png

6.3.配置項說明

  • storm.zookeeper.servers:表示zookeeper的叢集地址,如果Zookeeper叢集使用的不是預設埠,那麼還需要配置storm.zookeeper.port
  • storm.zookeeper.port: Zookeeper叢集的埠號
  • storm.local.dir: 用於配置Storm儲存少量檔案的路徑
  • nimbus.seeds: 用於配置主控節點的地址,可以配置多個

7.拷貝檔案到其餘工作節點

* 注:在拷貝檔案前,2~5的所有步驟都要在從機上完成。*

#拷貝到伺服器artemis.dt.com上
[root@apollo opt]# scp -r storm/ artemis.dt.com:/opt/
#拷貝到伺服器uranus.dt.com上
[root@apollo opt]# scp -r storm/ uranus.dt.com:/opt/

8.啟動Storm

8.1. 啟動主控節點

[root@apollo opt]# nohup $STORM_HOME/bin/storm nimbus &

8.2.啟動工作節點

[root@artemis dtadmin]# nohup $STORM_HOME/bin/storm supervisor &
[root@uranus dtadmin]# nohup $STORM_HOME/bin/storm supervisor &

8.3.啟動管理頁面

#主控節點上執行
[root@apollo ~]# nohup $STORM_HOME/bin/storm ui &

8.4.在管理頁面上檢視storm叢集情況

storm-cluster.jpeg