1. 程式人生 > >Storm 0.9安裝指南

Storm 0.9安裝指南

3.4 sample configure 那種 gravity avi 版本 裝包 mes

Storm 0.9.2安裝指南

0 Storm0.9的亮點

引用網上的描寫敘述:

Storm 0.9.0.1版本號的第一亮點是引入了netty transportStorm網絡傳輸機制實現可插拔形式,當前包括兩種方式:原來的0mq傳輸,以及新的netty實現。在早期版本號中(0.9.x之前的版本號),Storm僅僅支持0mq傳輸,因為0MQ是一個本地庫(native library),對平臺的依賴性較高,要全然正確安裝還是有一定挑戰性。而且版本號之間的差異也比較大。Netty Transport提供了純JAVA的替代方案。消除了Storm的本地庫依賴,且比0MQ的網絡傳輸性能快一倍以上。

Storm 0.9.0.1

版本號提供了有助於調試和檢測拓撲結構的新特性:logviewer(守護進程名)

你如今能夠在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安裝指南