[TOC]
# 下載安裝包
~~~
wget ? ?http://124.202.164.6/files/1139000006794ECA/apache.fayea.com/storm/apache-storm-0.9.5/apache-storm-0.9.5.tar.gz
~~~
解壓
~~~
tar -zxvf apache-storm-0.9.5.tar.gz
~~~
# 修改配置文件
~~~
#指定storm使用的zk集群
storm.zookeeper.servers:
- "master"
- "slave"
#指定storm集群中的nimbus節點所在的服務器
nimbus.host: "master"
#指定nimbus啟動JVM最大可用內存大小
nimbus.childopts: "-Xmx1024m"
#指定supervisor啟動JVM最大可用內存大小
supervisor.childopts: "-Xmx1024m"
#指定supervisor節點上,每個worker啟動JVM最大可用內存大小
worker.childopts: "-Xmx768m"
#指定ui啟動JVM最大可用內存大小,ui服務一般與nimbus同在一個節點上。
ui.childopts: "-Xmx768m"
#指定supervisor節點上,啟動worker時對應的端口號,每個端口對應槽,每個槽位對應一個worker
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
~~~
# 分發安裝包
~~~
scp -r /export/servers/apache-storm-0.9.5 master:/root/
~~~
# 啟動集群
在nimbus.host所屬的機器上啟動 nimbus服務
~~~
cd /root/storm/bin/
nohup ./storm nimbus &
~~~
在nimbus.host所屬的機器上啟動ui服務
~~~
cd /root/storm/bin/
nohup ./storm ui &
~~~
在其它個點擊上啟動supervisor服務
~~~
cd /root/storm/bin/
nohup ./storm supervisor &
~~~
查看集群
訪問`master:8080`,即可看到storm的ui界面

# 常用操作命令
有許多簡單且有用的命令可以用來管理拓撲,它們可以提交、殺死、禁用、再平衡拓撲。
* 提交任務命令格式:`storm jar 【jar路徑】 【拓撲包名.拓撲類名】 【拓撲名稱】`
~~~
bin/storm jar examples/storm-starter/storm-starter-topologies-0.10.0.jar storm.starter.WordCountTopology wordcount
~~~
* 殺死任務命令格式:`storm kill 【拓撲名稱】 -w 10(執行kill命令時可以通過-w [等待秒數]指定拓撲停用以后的等待時間)`
~~~
storm kill topology-name -w 10
~~~
* 停用任務命令格式:`storm deactivte 【拓撲名稱】`
~~~
storm deactivte topology-name
~~~
我們能夠掛起或停用運行中的拓撲。當停用拓撲時,所有已分發的元組都會得到處理,但是spouts的nextTuple方法不會被調用。銷毀一個拓撲,可以使用kill命令。它會以一種安全的方式銷毀一個拓撲,首先停用拓撲,在等待拓撲消息的時間段內允許拓撲完成當前的數據流。
* 啟用任務命令格式:storm activate【拓撲名稱】
~~~
storm activate topology-name
~~~
* 重新部署任務命令格式:storm rebalance 【拓撲名稱】
~~~
storm rebalance topology-name
~~~
再平衡使你重分配集群任務。這是個很強大的命令。比如,你向一個運行中的集群增加了節點。再平衡命令將會停用拓撲,然后在相應超時時間之后重分配worker,并重啟拓撲。
# 分析

- linux
- 常用命令
- 高級文本命令
- 面試題
- redis
- String
- list
- hash
- set
- sortedSet
- 案例-推薦
- java高級特性
- 多線程
- 實現線程的三種方式
- 同步關鍵詞
- 讀寫鎖
- 鎖的相關概念
- 多線程的join
- 有三個線程T1 T2 T3,保證順序執行
- java五種線程池
- 守護線程與普通線程
- ThreadLocal
- BlockingQueue消息隊列
- JMS
- 反射
- volatile
- jvm
- IO
- nio
- netty
- netty簡介
- 案例一發送字符串
- 案例二發送對象
- 輕量級RPC開發
- 簡介
- spring(IOC/AOP)
- spring初始化順序
- 通過ApplicationContextAware加載Spring上下文
- InitializingBean的作用
- 結論
- 自定義注解
- zk在框架中的應用
- hadoop
- 簡介
- hadoop集群搭建
- hadoop單機安裝
- HDFS簡介
- hdfs基本操作
- hdfs環境搭建
- 常見問題匯總
- hdfs客戶端操作
- mapreduce工作機制
- 案列-單詞統計
- 局部聚合Combiner
- 案列-流量統計(分區,排序,比較)
- 案列-倒排索引
- 案例-共同好友
- 案列-join算法實現
- 案例-求topN(分組)
- 自定義inputFormat
- 自定義outputFormat
- 框架運算全流程
- mapreduce的優化方案
- HA機制
- Hive
- 安裝
- DDL操作
- 創建表
- 修改表
- DML操作
- Load
- insert
- select
- join操作
- 嚴格模式
- 數據類型
- shell參數
- 函數
- 內置運算符
- 內置函數
- 自定義函數
- Transform實現
- 特殊分割符處理
- 案例
- 級聯求和accumulate
- flume
- 簡介
- 安裝
- 常用的組件
- 攔截器
- 案例
- 采集目錄到HDFS
- 采集文件到HDFS
- 多個agent串聯
- 日志采集和匯總
- 自定義攔截器
- 高可用配置
- 使用注意
- sqoop
- 安裝
- 數據導入
- 導入數據到HDFS
- 導入關系表到HIVE
- 導入表數據子集
- 增量導入
- 數據導出
- 作業
- 原理
- azkaban
- 簡介
- 安裝
- 案例
- 簡介
- command類型單一job
- command類型多job工作流flow
- HDFS操作任務
- mapreduce任務
- hive腳本任務
- hbase
- 簡介
- 安裝
- 命令行
- 基本CURD
- 過濾器查詢
- 系統架構
- 物理存儲
- 尋址機制
- 讀寫過程
- Region管理
- master工作機制
- 建表高級屬性
- 與mapreduce結合
- 協處理器
- 點擊流平臺開發
- 簡介
- storm
- 簡介
- 安裝
- 集群啟動及任務過程分析
- 單詞統計
- 并行度
- ACK容錯機制
- ACK簡介