Storm 0.9安裝指南
Storm 0.9.2安裝指南
0 Storm0.9的亮點
引用網上的描寫敘述:
“Storm 0.9.0.1版本號的第一亮點是引入了netty transport。Storm網絡傳輸機制實現可插拔形式,當前包括兩種方式:原來的0mq傳輸,以及新的netty實現。在早期版本號中(0.9.x之前的版本號),Storm僅僅支持0mq傳輸,因為0MQ是一個本地庫(native library),對平臺的依賴性較高,要全然正確安裝還是有一定挑戰性。而且版本號之間的差異也比較大。Netty Transport提供了純JAVA的替代方案。消除了Storm的本地庫依賴,且比0MQ的網絡傳輸性能快一倍以上。
“Storm 0.9.0.1
你如今能夠在Storm UI通過點擊相應的Woker來查看相應的工作日誌。
有點相似於hadoop的那種日誌查看機制。
“安全性、認證以及授權已經並將繼續成為將來的重要特點重點領域。
Storm 0.9.0.1版本號引入了一個可插拔的序列化元組API以及實現一個基於blowfish加密方法對敏感數據進行加密的用例。
1 依賴包安裝
Storm依賴包有JDK, Python和Zookeeper。
1.1 JDK和Python
JDK和Python很easy,在Yum庫中就有安裝包。
> yum install java-1.7.0-openjdk.i386
> yum install python.i386
1.2 ZooKeeper
Zookeeper須要手動下載安裝。首先下載解壓:
> wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
> tar -xzvf zookeeper-3.4.6.tar.gz
> chown -R root:root zookeeper-3.4.6
然後配置:
> cd zookeeper-3.4.6
> cp conf/zoo_sample.cfg conf/zoo.cfg
> export ZOOKEEPER_HOME=/usr/local/src/zookeeper-3.4.5
> export PATH=$ZOOKEEPER_HOME/bin:$PATH
最後啟動服務器。並用客戶端連上去測試:
> bin/zkServer.sh start
> bin/zkCli.sh -server 127.0.0.1:2181
2 Storm安裝
> wget
http://mirrors.hust.edu.cn/apache/incubator/storm/apache-storm-0.9.2-incubating/apache-storm-0.9.2-incubating.tar.gz
> tar -xzvf apache-storm-0.9.2-incubating.tar.gz
在/conf/storm.yaml中配置Storm為單機模式。而且通過Netty通信(Storm 0.9新功能。否則還要依照ZeroMQ):
storm.zookeeper.servers:
- "localhost"
nimbus.host : "localhost"
storm.local.dir : "/var/storm"
ui.port : 8088
storm.messaging.transport :"backtype.storm.messaging.netty.Context"
storm.messaging.netty.server_worker_threads : 1
storm.messaging.netty.client_worker_threads : 1
storm.messaging.netty.buffer_size : 5242880
storm.messaging.netty.max_retries : 100
storm.messaging.netty.max_wait_ms : 1000
storm.messaging.netty.min_wait_ms : 100
啟動Storm全部後臺服務:
> bin/storm nimbus >/dev/null 2>&1 &
> bin/storm supervisor>/dev/null 2>&1 &
> bin/storm ui >/dev/null 2>&1 &
> bin/storm logviewer > /dev/null 2>&1 &
正常的訪問日誌應該是這種:
訪問UI http://localhost:8080 就能看到監控頁面了。
3 常見問題
3.1 Python版本號問題
註意:yum install的可能是低版本號的Python。像我的CentOS 5.5給我裝的就是2.3。
後面啟動storm時直接就報錯了。
能夠使用這個方案安全地升級Python到2.7:
> wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
> cd Python-2.7.8
> ./configure –prefix=/usr/local/python
> make
> make install
覆蓋老版本號文件(老文件要保留,否則Yum就沒法用了!)
> mv /usr/bin/python /usr/bin/python_old
> ln -s /usr/local/python/bin/python /usr/bin
將/usr/bin/yum腳本中的第一行改為:#!/usr/bin/python_old
大功告成!
如今敲Python命令進入的就是2.7版本號了,而且Yum命令也好使。
3.2 ZooKeeper連接問題
當storm.yaml中nimbus和zookeeper的IP地址配置成虛擬機實際IP時。啟動nimbus就會報錯:KeeperErrorCode = ConnectionLoss for /storm … 都改為localhost就能夠了。
其它問題還有:忘記啟動ZooKeeper服務,沒有關防火墻(service iptables stop)等。
Storm 0.9安裝指南