storm安裝、執行
環境:centos6.4
軟體:
jzmq-master-----java與c++通訊的橋樑,有了它,就可以使用zeromp了(提供了介面,把資料放入到zeromq中)
storm-0.8.2
zeromq-2.1.7-----號稱史上最牛逼的訊息佇列(用c++寫的)
zookeeper-3.4.5
1.編譯安裝ZMQ:
tar -xzf zeromq-2.1.7.tar.gz
cd zeromq-2.1.7
./configure(這是zeromq原始碼,需要編譯安裝)
#編譯可能會出錯:configure: error: Unable to find a working C++ compiler
#安裝一下依賴的rpm包:libstdc++-devel gcc-c++
可以上網的情況下:
yum install gcc-c++
虛擬機器不能上網情況:首先到http://mirrors.163.com/centos/6.4/os/x86_64/Packages/ 下載rpm
rpm -ivh libstdc++-devel-4.4.7-3.el6.x86_64.rpm
rpm -ivh gcc-c++-4.4.7-3.el6.x86_64.rpm
rpm -ivh libuuid-devel-2.17.2-12.9.el6.x86_64.rpm
./configure
make 編譯
make install 安裝
2.編譯安裝JZMQ:
unzip jzmq-master.zip -d /itcast
cd /itcast/jzmq-master
./autogen.sh
#報錯:autogen.sh: error: could not find libtool. libtool is required to run autogen.sh. 缺少libtool
yum install libtool
或者手動安裝
rpm -ivh autoconf-2.63-5.1.el6.noarch.rpm
rpm -ivh automake-1.11.1-4.el6.noarch.rpm
rpm -ivh libtool-2.2.6-15.5.el6.x86_64.rpm
./autogen.sh 產生configure檔案
./configure
make
make install
3.編譯安裝Python(storm的啟動配置檔案是用python寫的,centos預設裝了python,可以which python看一下)
tar –zxvf Python-2.6.6.tgz
cd Python-2.6.6
./configure
make
make install
下載並解壓Storm釋出版本
下一步,需要在Nimbus和Supervisor機器上安裝Storm發行版本。
1. 下載Storm發行版本
wget https://dl.dropbox.com/u/133901206/storm-0.8.2.zip
2. 解壓到安裝目錄下:
unzip storm-0.8.1.zip -d /itcast
修改storm.yaml配置檔案
Storm發行版本解壓目錄下有一個conf/storm.yaml檔案,用於配置Storm。
預設配置在這裡可以檢視。conf/storm.yaml中的配置選項將覆蓋defaults.yaml中的預設配置。
以下配置選項是必須在conf/storm.yaml中進行配置的:
1) storm.zookeeper.servers: Storm叢集使用的Zookeeper叢集地址,其格式如下:
storm.zookeeper.servers:
- "111.222.333.444"
- "555.666.777.888"
如果Zookeeper叢集使用的不是預設埠,那麼還需要storm.zookeeper.port選項。
2) storm.local.dir: Nimbus和Supervisor程式用於儲存少量狀態,
如jars、confs等的本地磁碟目錄,需要提前建立該目錄並給以足夠的訪問許可權。
然後在storm.yaml中配置該目錄,如:
storm.local.dir: "/usr/storm/workdir"
3) java.library.path: Storm使用的本地庫(ZMQ和JZMQ)載入路徑,
預設為"/usr/local/lib:/opt/local/lib:/usr/lib",
一般來說ZMQ和JZMQ預設安裝在/usr/local/lib 下,因此不需要配置即可。
4) nimbus.host: Storm叢集Nimbus機器地址,各個Supervisor工作節點需要知道哪
個機器是Nimbus,以便下載Topologies的jars、confs等檔案,如:
nimbus.host: "111.222.333.444"
5) supervisor.slots.ports: 對於每個Supervisor工作節點,需要配置該工作節
點可以執行的worker數量。每個worker佔用一個單獨的埠用於接收訊息,
該配置選項即用於定義哪些埠是可被worker使用的。預設情況下,每個節點
上可執行4個workers,分別在6700、6701、6702和6703埠,如:
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
2.5 啟動Storm各個後臺程式
最後一步,啟動Storm的所有後臺程式。和Zookeeper一樣,Storm也是快速失敗(fail-fast)的系統,
這樣Storm才能在任意時刻被停止,並且當程式重啟後被正確地恢復執行。
這也是為什麼Storm不在程式內儲存狀態的原因,即使Nimbus或Supervisors被重啟,執行中的Topologies不會受到影響。
以下是啟動Storm各個後臺程式的方式:
Nimbus: 在Storm主控節點上執行"bin/storm nimbus >/dev/null 2>&1 &"啟動Nimbus後臺程式,並放到後臺執行;
Supervisor: 在Storm各個工作節點上執行"bin/storm supervisor >/dev/null 2>&1 &"啟動Supervisor後臺程式,
並放到後臺執行;
UI: 在Storm主控節點上執行"bin/storm ui >/dev/null 2>&1 &"啟動UI後
臺程式(core程式,2>&1表示把標準錯誤輸出重定向到標準輸出,&表示在後臺執行)
,並放到後臺執行,啟動後可以通過http://{nimbus host}:8080觀察叢集的worker資源使用情況、
Topologies的執行狀態等資訊。
注意事項:
Storm後臺程式被啟動後,將在Storm安裝部署目錄下的logs/子目錄下生成各個程式的日誌檔案。
經測試,Storm UI必須和Storm Nimbus部署在同一臺機器上,否則UI無法正常工作,因為UI進
程會檢查本機是否存在Nimbus連結。
為了方便使用,可以將bin/storm加入到系統環境變數中。
至此,Storm叢集已經部署、配置完畢,可以向叢集提交拓撲執行了。
3. 向叢集提交任務
1)啟動Storm Topology:
./storm jar allmycode.jar org.me.MyTopology arg1 arg2 arg3
其中,allmycode.jar是包含Topology實現程式碼的jar包,org.me.MyTopology的main方法是
Topology的入口,arg1、arg2和arg3為org.me.MyTopology執行時需要傳入的引數。
./storm list:把任務列出來
2)停止Storm Topology:
storm kill {toponame}
其中,{toponame}為Topology提交到Storm叢集時指定的Topology任務名稱。
軟體:
jzmq-master-----java與c++通訊的橋樑,有了它,就可以使用zeromp了(提供了介面,把資料放入到zeromq中)
storm-0.8.2
zeromq-2.1.7-----號稱史上最牛逼的訊息佇列(用c++寫的)
zookeeper-3.4.5
1.編譯安裝ZMQ:
tar -xzf zeromq-2.1.7.tar.gz
cd zeromq-2.1.7
./configure(這是zeromq原始碼,需要編譯安裝)
#編譯可能會出錯:configure: error: Unable to find a working C++ compiler
#安裝一下依賴的rpm包:libstdc++-devel gcc-c++
可以上網的情況下:
yum install gcc-c++
虛擬機器不能上網情況:首先到http://mirrors.163.com/centos/6.4/os/x86_64/Packages/ 下載rpm
rpm -ivh libstdc++-devel-4.4.7-3.el6.x86_64.rpm
rpm -ivh gcc-c++-4.4.7-3.el6.x86_64.rpm
rpm -ivh libuuid-devel-2.17.2-12.9.el6.x86_64.rpm
./configure
make 編譯
make install 安裝
2.編譯安裝JZMQ:
unzip jzmq-master.zip -d /itcast
cd /itcast/jzmq-master
./autogen.sh
#報錯:autogen.sh: error: could not find libtool. libtool is required to run autogen.sh. 缺少libtool
yum install libtool
或者手動安裝
rpm -ivh autoconf-2.63-5.1.el6.noarch.rpm
rpm -ivh automake-1.11.1-4.el6.noarch.rpm
rpm -ivh libtool-2.2.6-15.5.el6.x86_64.rpm
./autogen.sh 產生configure檔案
./configure
make
make install
3.編譯安裝Python(storm的啟動配置檔案是用python寫的,centos預設裝了python,可以which python看一下)
tar –zxvf Python-2.6.6.tgz
cd Python-2.6.6
./configure
make
make install
下載並解壓Storm釋出版本
下一步,需要在Nimbus和Supervisor機器上安裝Storm發行版本。
1. 下載Storm發行版本
wget https://dl.dropbox.com/u/133901206/storm-0.8.2.zip
2. 解壓到安裝目錄下:
unzip storm-0.8.1.zip -d /itcast
修改storm.yaml配置檔案
Storm發行版本解壓目錄下有一個conf/storm.yaml檔案,用於配置Storm。
預設配置在這裡可以檢視。conf/storm.yaml中的配置選項將覆蓋defaults.yaml中的預設配置。
以下配置選項是必須在conf/storm.yaml中進行配置的:
1) storm.zookeeper.servers: Storm叢集使用的Zookeeper叢集地址,其格式如下:
storm.zookeeper.servers:
- "111.222.333.444"
- "555.666.777.888"
如果Zookeeper叢集使用的不是預設埠,那麼還需要storm.zookeeper.port選項。
2) storm.local.dir: Nimbus和Supervisor程式用於儲存少量狀態,
如jars、confs等的本地磁碟目錄,需要提前建立該目錄並給以足夠的訪問許可權。
然後在storm.yaml中配置該目錄,如:
storm.local.dir: "/usr/storm/workdir"
3) java.library.path: Storm使用的本地庫(ZMQ和JZMQ)載入路徑,
預設為"/usr/local/lib:/opt/local/lib:/usr/lib",
一般來說ZMQ和JZMQ預設安裝在/usr/local/lib 下,因此不需要配置即可。
4) nimbus.host: Storm叢集Nimbus機器地址,各個Supervisor工作節點需要知道哪
個機器是Nimbus,以便下載Topologies的jars、confs等檔案,如:
nimbus.host: "111.222.333.444"
5) supervisor.slots.ports: 對於每個Supervisor工作節點,需要配置該工作節
點可以執行的worker數量。每個worker佔用一個單獨的埠用於接收訊息,
該配置選項即用於定義哪些埠是可被worker使用的。預設情況下,每個節點
上可執行4個workers,分別在6700、6701、6702和6703埠,如:
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
2.5 啟動Storm各個後臺程式
最後一步,啟動Storm的所有後臺程式。和Zookeeper一樣,Storm也是快速失敗(fail-fast)的系統,
這樣Storm才能在任意時刻被停止,並且當程式重啟後被正確地恢復執行。
這也是為什麼Storm不在程式內儲存狀態的原因,即使Nimbus或Supervisors被重啟,執行中的Topologies不會受到影響。
以下是啟動Storm各個後臺程式的方式:
Nimbus: 在Storm主控節點上執行"bin/storm nimbus >/dev/null 2>&1 &"啟動Nimbus後臺程式,並放到後臺執行;
Supervisor: 在Storm各個工作節點上執行"bin/storm supervisor >/dev/null 2>&1 &"啟動Supervisor後臺程式,
並放到後臺執行;
UI: 在Storm主控節點上執行"bin/storm ui >/dev/null 2>&1 &"啟動UI後
臺程式(core程式,2>&1表示把標準錯誤輸出重定向到標準輸出,&表示在後臺執行)
,並放到後臺執行,啟動後可以通過http://{nimbus host}:8080觀察叢集的worker資源使用情況、
Topologies的執行狀態等資訊。
注意事項:
Storm後臺程式被啟動後,將在Storm安裝部署目錄下的logs/子目錄下生成各個程式的日誌檔案。
經測試,Storm UI必須和Storm Nimbus部署在同一臺機器上,否則UI無法正常工作,因為UI進
程會檢查本機是否存在Nimbus連結。
為了方便使用,可以將bin/storm加入到系統環境變數中。
至此,Storm叢集已經部署、配置完畢,可以向叢集提交拓撲執行了。
3. 向叢集提交任務
1)啟動Storm Topology:
./storm jar allmycode.jar org.me.MyTopology arg1 arg2 arg3
其中,allmycode.jar是包含Topology實現程式碼的jar包,org.me.MyTopology的main方法是
Topology的入口,arg1、arg2和arg3為org.me.MyTopology執行時需要傳入的引數。
./storm list:把任務列出來
2)停止Storm Topology:
storm kill {toponame}
其中,{toponame}為Topology提交到Storm叢集時指定的Topology任務名稱。
相關文章
- storm安裝配置ORM
- Linux storm 安裝LinuxORM
- 【預研】Storm Ubuntu 12.04 64 bit 的單機版本的安裝和執行ORMUbuntu
- Storm架構與執行原理ORM架構
- Storm-1.2.2完全分散式安裝ORM分散式
- 新版flume+kafka+storm安裝部署KafkaORM
- CentOS6.5 安裝Storm叢集CentOSORM
- Apache Storm系列 之二( 輕鬆搞定 Storm 安裝與啟動)ApacheORM
- storm0.9.0.1分散式安裝ORM分散式
- Kibana安裝與執行
- Alpine容器安裝執行ssh
- Mac 安裝執行 Docker for MacMacDocker
- jboss安裝執行問題。
- 安裝ffmpeg和crontab執行ffmpeg
- Twitter Storm安裝配置(Ubuntu系統)單機版ORMUbuntu
- JMeter:Linux上安裝&執行JMeterJMeterLinux
- Consul初探-從安裝到執行
- Docker安裝+HelloWorld+執行TomcatDockerTomcat
- VC++執行庫安裝難題C++
- ActiveMQ第一彈:安裝與執行MQ
- CentOS安裝執行NodeJS框架ExpressCentOSNodeJS框架Express
- linuxubuntu安裝php執行環境LinuxUbuntuPHP
- python juypter 安裝及執行.ipynbPython
- 【Flask】第一個Flask程式(安裝、執行引數、執行方式)Flask
- webpack全域性和區域性安裝、解除安裝和執行Web
- SpringBoot Cli 安裝執行測試Spring Boot
- AWS Cloud9 下安裝執行 LaravelCloudLaravel
- Windows環境安裝執行:Angular.jsWindowsAngularJS
- 如何在程式碼中執行apk安裝APK
- Clojure執行環境在windows上安裝Windows
- centos7安裝Hyperf執行環境CentOS
- linux 安裝dotnet 8.0執行時Linux
- 安裝python pip,再安裝request模組,執行python程式碼Python
- 【大資料】Summingbird(Storm + Hadoop)的demo執行大資料ORMHadoop
- CentOS 7 下安裝 nginx + PHP 執行環境CentOSNginxPHP
- CentOS 安裝 laradock 以及執行 Laravel 專案CentOSLaravel
- centos7 下安裝laravel 執行環境CentOSLaravel
- Kibana,Logstash 和 Cerebro 的安裝執行