1.storm shell端經常使用指令:java
提交Topologies
命令格式:storm jar 【jar路徑】 【拓撲包名.拓撲類名】 【拓撲名稱】
樣例:storm jar /storm-starter.jar storm.starter.WordCountTopology wordcountTopshell
#提交storm-starter.jar到遠程集羣,並啓動wordcountTop拓撲。
中止Topologies
命令格式:storm kill 【拓撲名稱】
樣例:storm kill wordcountTop
#殺掉wordcountTop拓撲。
啓動nimbus後臺程序
命令格式:storm nimbus
啓動supervisor後臺程序
命令格式:storm supervisor
啓動drpc服務
命令格式:storm drpc
啓動ui服務
命令格式:storm ui
啓動REPL
REPL — read-evaluate-print-loop。
雖然clojure能夠做爲一種腳本語言內嵌在java裏面,可是它的首選編程方式是使用REPL,這是一個簡單的命令行接口,使用它你能夠輸入你的命令,執行,而後查看結果, 你能夠如下面這個命令來啓動REPL:
命令格式:storm repl
打印本地配置
命令格式:storm localconfvalue 【配置參數關鍵字】
舉例:storm localconfvalue storm.zookeeper.servers
#根據指定參數打印本地配置的值。
打印遠程配置
命令格式:storm remoteconfvalue 【配置參數關鍵字】
舉例:storm remoteconfvalue storm.zookeeper.servers
#根據指定參數打印遠程配置的值。
執行Shell腳本
命令格式:storm shell resourcesdir command argsapache
打印CLASSPATH
命令格式:storm classpath
編程
2.storm 啓動日誌查看,即在storm ui中直接查看日誌併發
nohub storm logview &maven
.查看storm的日誌,找到各個節點,的storm的根目錄,在根目錄下的logs文件夾下會生成一個xxxx-端口號.log的日誌文件ide
3.storm 中 開啓drpc功能 oop
在集羣中每臺機器的storm conf配置文件 storm.yaml中修改ui
而後 控制檯 bin/storm drpclua
4.storm rebalance 拓撲名稱 -n 12 這個指令是從新設置worker的數量 ,這是在不重啓拓撲的前提下,動態的調整worker的數量,一樣,每一個spout blot的併發數均可以動態的調整
5.如何經過storm ui 來查看,本身topologic中設置的併發度是否能夠,是否出現數據在內存中的擁堵?
上圖中若是emitted數量和acked的數量差很少,那就是合理,若是 emitted的數量,遠遠大於acked的數量,那就須要把併發度設置大一些
關於storm吞吐量的問題,能夠參考這篇文章:https://blog.csdn.net/WeiJonathan/article/details/38536671?tdsourcetag=s_pcqq_aiomsg
5. storm maven項目的pom.xml 文件,重點看如何打包
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.zhangshitong</groupId> <artifactId>trident</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- https://mvnrepository.com/artifact/org.apache.storm/storm-kafka --> <dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-kafka</artifactId> <version>1.2.1</version> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.storm/storm-core --> <dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-core</artifactId> <version>1.2.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.11</artifactId> <version>0.10.0.1</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> <exclusion> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.10.0.1</version> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
cd 到 項目pom.xml 文件所在位置 執行命令 mvn clean package
6.storm版本的問題,在storm1以前的版本,是沒有被apache基金收購,而在1版本以後storm被Apache基金收購了,因此出現了包名、類名的變動
類包已經從「backtype.storm」更改成「org.apache.storm」