ubuntu storm安裝配置

一、安裝準備:

       JDK、ssh、python。安裝都比較簡單,我之前做別的時候已經安裝,此處不再詳述。

       ssh的安裝和服務啓動可以參見我的另一個講hadoop安裝的文章。而且我的storm集羣和hadoop相同,都是配置在三臺虛擬機上的,用戶組及用戶名和hadoop那個一樣,都要求用戶名是hadoop

二、安裝zookeeper集羣(三臺虛擬機)

      前:創建三個文件夾:

#zookeeper安放路徑
mkdir -p /opt/modules
#zookeeper日誌存放路徑
mkdir -p /var/log/zookeeper
#zookeeper數據存放路徑
mkdir -p /tmp/zookeeper

      1.下載zookeeper源碼

          官網下載zookeeper          

mv zookeeper-3.4.8.tar.gz /opt/modules
tar zxvf zookeeper-3.4.8.tar.gz
ln -s zookeeper-3.4.8 zookeeper
     

         2.配置zookeeper屬性文件

         進入zookeeper根目錄,之後

cd conf
cp zoo_sample.cfg zoo.cfg
之後vim打開zoo.cfg,把下面內容追加到裏面:

tickTime=2000
clientPort=2181
initLimit=5
syncLimit=2
server.1=ip1:2888:3888
server.2=ip2:2888:3888
server.3=ip3:2888:3888
!!!!!!ip1,ip2,ip3用你的ip地址替換。

server.A=B:C:D,A是一個數字。B是ip地址,C首選端口,D是防止對方掛掉的預防端口。

如果只是一臺是虛擬機,那就要分配不同的端口了。

      zoo.cfg裏datadir的默認值是/tmp/zookeeper,我們要在這個目錄下創建myid文件。三個虛擬機裏這個文件只有一行,分別是上面對應的A值

#創建myid文件
vim /tmp/zookeeper/myid
#添加對應數字
1

     3、配置日誌打印文件

        把輸出日誌放到指定文件夾下,便於日誌回收和查看。下面在zookeeper根目錄下進行:

       打開bin/zkEnv.sh ,把下面代碼添加到腳本主體(新手注意,不要放在有!/的第一行)的開頭部分:

ZOO_LOG_DIR=/var/log/zookeeper

   4.修改三個主要的文件夾的用戶:
sudo chown -R hadoop:hadoop /opt/modules/zookeeper*
sudo chown -R hadoop:hadoop /var/log/zookeeper
sudo chown -R hadoop:hadoop /tmp/zookeeper
 

    5.啓動zookeeper集羣

     三臺虛擬機進入zookeeper的根目錄,執行下面命令:    

bin/zkServer.sh start
    再執行:

bin/zkCli.sh -server 127.0.0.1:2181
如果安裝成功會有[zk:127.0.0.1:2181(CONNETED) 1]的字樣(忘記截圖),可以輸入help,ls /等命令。

!!!!!datadir下的日誌和快照不會自動清理,需要通過其他方式定期清理。


三、storm安裝:

       1.安裝storm依賴庫

          ZeroMQ

          JZMQ

         1.1安裝zeromq:

wget http://download.zeromq.org/zeromq-2.1.7.tar.gz
tar zxvf zeromq-2.1.7.tar.gz
cd zeromq-2.1.7
./configure
make
sudo make install

安裝出錯:

      (1).安裝過程中會出現cannot link with -luuid, install uuid-dev  c++錯誤,執行如下命令:

sudo apt-get install g++ build-essential gawk zlib1g-dev uuid-dev
    (2).configure: error: Unable to find a working C++ compiler
sudo apt-get install g++

       1.2安裝jzmq:

sudo apt-get install libtool autoconf
git clone https://github.com/nathanmarz/jzmq.git
cd jzmq
./autogen.sh
./configure
make
sudo make install
安裝出錯:

         (1)安裝 JZMQ出錯 (1).make[1]: *
                 沒有規則可以創建“org/zeromq/ZMQ.class”需要的目標“classdist_noinst.stamp”。 停止

#修正方法,創建classdist_noinst.stamp文件
touch src/classdist_noinst.stamp
         (2)make[1]: *** 沒有規則可以創建“all”需要的目標“org/zeromq/ZMQ$Context.class”。 停止。
                   make[1]:正在離開目錄 `/home/hadoop/Storm/jzmq/src'
                   make: *** [all-recursive] 錯誤 1
cd src/
javac -d . org/zeromq/*.java
#手動編譯

       2.安裝storm集羣:

        下載storm:點擊打開鏈接

        配置storm.yaml文件,以下都是在storm根目錄下。

       打開conf/storm.yaml文件

#1.去掉下面代碼的#並修改
storm.zookeeper.servers:
        - "ip1"
        - "ip2"
        - "ip3"
#如果zookeeper沒有用默認端口,還要改的storm.zookeeper.port
#2.storm.local.dir用於存少量nimbus,supervisor進程的少量狀態
storm.local.dir: "/var/storm"
#3.nimbus.host,storm集羣nimbus的機器地址,各個supervisor需要知道哪個是nimbus
nimbus.host: "ip1"
上面只是少量的屬性配置,其他的屬性都在defaults.yaml文件裏。

   

       3.啓動storm集羣

mkdir /var/storm
sudo chown -R hadoop:hadoop /var/storm
sudo chown -R hadoop:hadoop 你的storm地址
   nimbus:在主控節點上運行,即ip1。在ip1虛擬機上,啓動ip1並放在後臺執行:

bin/storm nimbus </dev/null 2<&1 &
    supervise:在Storm工作節點上運行,在ip2,ip3上啓動並放在後臺執行:

bin/storm supervisor </dev/null 2<&1 &
    UI:必須在ip1上,因爲它會去找nimbus連接

bin/storm ui </dev/null 2<&1 &
之後在瀏覽器打開http://ip1:8080,會出現下面界面:


     4.停止storm

        集羣storm停止需要一個一個的殺死進程。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章