storm ui 查看日志启动报错了,怎么解决

Storm命令行客户端
本文所属图书&>&
本书由基础知识、安装与部署、研发与维护、进阶知识、企业应用5个模块构成,并细分为20个章节,其中基础知识6章、安装与部署4章、研发与维护4章、进阶知识5章、企业应用1章,分别介绍了Storm的安装与配置、Storm&&
在Linux终端直接输入storm,不带任何参数信息,或者输入storm help,可以查看Storm命令行客户端(Command line client)提供的帮助信息。
Storm 0.9.0.1版本在Linux终端直接输入storm后的输出内容如下:
deactivate
dev-zookeeper
localconfvalue
remoteconfvalue
supervisor
help &command&
Documentation for the storm client can be found at /nathanmarz/storm/wiki/Command-line-client
Configs can be overridden using one or more -c flags, e.g. &storm list -c nimbus.host=&
由此可知,新版Storm的命令行客户端提供了19个命令。
1. activate
激活指定的拓扑Spout。语法如下:
storm activate topology-name
2. classpath
打印出Storm客户端运行命令时使用的类路径(classpath)。语法如下:
storm classpath
3. deactivate
禁用指定的拓扑Spout。语法如下:
storm deactivate topology-name
4. dev-zookeeper
以dev.zookeeper.path配置的值作为本地目录,以storm.zookeeper.port配置的值作为端口,启动一个新的ZooKeeper服务,仅用来开发/测试。语法如下:
storm dev-zookeeper
启动一个DRPC守护进程。语法如下:
storm drpc
该命令应该使用daemontools或者monit工具监控运行。
打印一条帮助消息或者可用命令的列表。语法如下:
storm help
storm help &command&
直接输入不带参数的storm,也可以启动storm help命令。
运行类的指定参数的main方法。语法如下:
storm jar topology-jar-path class ...
把Storm的jar文件和&~/.storm&的配置放到类路径(classpath)中,以便当拓扑提交时,StormSubmitter会上传topology-jar-path的jar文件。
杀死名为topology-name的拓扑。语法如下:
storm kill topology-name [-w wait-time-secs]
Storm首先会在拓扑的消息超时时间期间禁用Spout,以允许所有正在处理的消息完成处理。然后,Storm将会关闭Worker并清理它们的状态。可以使用-w标记覆盖Storm在禁用与关闭期间等待的时间长度。
列出正在运行的拓扑及其状态。语法如下:
storm list
10. localconfvalue
打印出本地Storm配置的conf-name的值。语法如下:
storm localconfvalue conf-name
本地Storm配置是~/.storm/storm.yaml与defaults.yaml合并的结果。
11. logviewer
启动Logviewer守护进程。语法如下:
storm logviewer
Logviewer提供一个Web接口查看Storm日志文件。该命令应该使用daemontools或者monit工具监控运行。
12. nimbus
启动Nimbus守护进程。语法如下:
storm nimbus
该命令应该使用daemontools或者monit工具监控运行。
13. rebalance
语法如下:
storm rebalance topology-name [-w wait-time-secs]
有时你可能希望扩散一些正在运行的拓扑的Worker。例如,假设你有一个10个节点的集群,每个节点运行4个Worker,然后假设需要添加另外10个节点到集群中。你可能希望有Spout扩散正在运行中的拓扑的Worker,这样每个节点运行两个Worker。解决的一种方法是杀死拓扑并重新提交拓扑,但Storm提供了一个rebalance的命令,我们可以用一种更简单的方法来做到这一点。
rebalance首先会在消息超时时间内禁用拓扑,使用-w可以覆盖超时时间,然后重新均衡分配集群的Worker,拓扑会返回到它原来的状态,即禁用的拓扑仍将禁用,激活的拓扑继续激活。
14. remoteconfvalue
打印出远程集群Storm配置的conf-name的值。语法如下:
storm remoteconfvalue conf-name
集群Storm配置是$STORM-PATH/conf/storm.yaml与defaults.yaml合并的结果。该命令必须在集群节点上运行。
打开一个包含类路径(classpath)中的jar文件和配置的Clojure REPL,以便调试时使用。语法如下:
storm repl
Clojure可以作为一种脚本语言内嵌到Java中,但是Clojure的首选方式是使用REPL,REPL是一个简单的命令行接口。使用REPL,可以输入命令并执行,然后查看结果。
执行Shell脚本。语法如下:
storm shell resourcesdir command args
17. supervisor
启动Supervisor守护进程。语法如下:
storm supervisor
该命令应该使用daemontools或者monit工具监控运行。
启动UI守护进程。语法如下:
UI为Storm集群提供了一个Web界面并显示运行拓扑的详细统计信息。该命令应该使用daemontools或者monit工具监控运行。
19. version
打印Storm发布的版本号。语法如下:
storm version
2.10 & &doc文档
对于最新的Storm提供的在线doc文档信息,可以参考如下网址:
http://nathanmarz.github.io/storm/
目前,Storm提供的在线Javadoc文档如表2.4所示。
表2.4 &Storm提供的在线Javadoc文档
Storm版本 Javadoc文档的链接地址
Storm 0.8.1 http://nathanmarz.github.io/storm/doc-0.8.1/index.
Storm 0.8.0 http://nathanmarz.github.io/storm/doc-0.8.0/index.
Storm 0.7.1 http://nathanmarz.github.io/storm/doc-0.7.1/index.html
Storm 0.7.0 http://nathanmarz.github.io/storm/doc-0.7.0/index.html
Storm 0.6.2 http://nathanmarz.github.io/storm/doc-0.6.2/index.html
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。当前访客身份:游客 [
学习累出病
:引用来自“cd静水流深”的评论 你好,请问如何安...
:你好,请问如何安装mysql?我按官方文档,没有安...
:引用来自“想左向右_走”的评论能贴出来相关的脚...
:能贴出来相关的脚本么??具体的部署步骤有吗
:引用来自“ked”的评论纳尼,太监了? 明天再写
:纳尼,太监了?
:引用来自“exuux”的评论 我了解到的是因为sendm...
:我了解到的是因为sendmail需要fqdn,才能发送出去...
:引用来自“exuux”的评论 博主的博文真是简单明了...
今日访问:0
昨日访问:70
本周访问:70
本月访问:843
所有访问:27520
storm 基本安装
发表于2年前( 18:41)&&
阅读(292)&|&评论()
0人收藏此文章,
storm安装步骤:
一、安装zookeeper 1.全部选用CDH的产品,不用担心版本问题,省心。 包都在这里:/cdh4/cdh/4/
2.配置zookeeper 解压稍微修改配置就可以使用,只需要定义dataDir和server.1/2/3
dataDir=/data/zookeeper/tmp hostname1: hostname2: hostname3:
3.启动 ./zkServer.sh start
二、安装消息队列ZeroMQ
1.直接上最新版本zeromq-4.0.3
http://download.zeromq.org/zeromq-4.0.3.tar.gz 编译安装:./configure && make && make install && ldconfig 不要忘记ldconfig
2.安装zemq
/zeromq/jzmq 编译安装:./configure && make && make install && ldconfig
两个模块都默认安装/usr/local/了,这样storm就不用单独配置java.library.path了
三、安装storm
1.storm需要python2.6以上版本。安装略
2.storm配置
storm.zookeeper.servers: 需要指定zookeeper集群ip storm.local.dir:本地目录位置 storm.zookeeper.root:zookeeper根目录 nimbus.host: “IP” worker.childopts:“-Xmx m” ui.port: 8080
3.启动storm
ui的机器 ./storm nimbus &/dev/null 2&&1 & work ./storm supervisor &/dev/null 2&&1 & ui ./storm ui &/dev/null 2&&1 &
要注意的是,RELEASE文件时必须的,否则启动会报错
only be run from with in a release
更多开发者职位上
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读I have seen this error too but it happens when we kill a topology and tryto refresh the page. Are you seeing it even on a running topology ?On Wed, Feb 27, 2013 at 10:53 PM, Arun Soman wrote:Internal Server Errororg.apache.thrift7.transport.TTransportExceptionat org.apache.thrift7.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)at org.apache.thrift7.transport.TTransport.readAll(TTransport.java:84)at org.apache.thrift7.transport.TFramedTransport.readFrame(TFramedTransport.java:129)at org.apache.thrift7.transport.TFramedTransport.read(TFramedTransport.java:101)at org.apache.thrift7.transport.TTransport.readAll(TTransport.java:84)at org.apache.thrift7.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:378)at org.apache.thrift7.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:297)at org.apache.thrift7.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:204)at org.apache.thrift7.TServiceClient.receiveBase(TServiceClient.java:69)at backtype.storm.generated.Nimbus&#36;Client.recv_getTopologyInfo(Nimbus.java:474)at backtype.storm.generated.Nimbus&#36;Client.getTopologyInfo(Nimbus.java:461)at backtype.storm.ui.core&#36;topology_page.invoke(core.clj:472)at backtype.storm.ui.core&#36;fn__7633.invoke(core.clj:736)at compojure.core&#36;make_route&#36;fn__6050.invoke(core.clj:93)at compojure.core&#36;if_route&#36;fn__6038.invoke(core.clj:39)at compojure.core&#36;if_method&#36;fn__6031.invoke(core.clj:24)at compojure.core&#36;routing&#36;fn__6056.invoke(core.clj:106)at clojure.core&#36;some.invoke(core.clj:2390)at compojure.core&#36;routing.doInvoke(core.clj:106)at clojure.lang.RestFn.applyTo(RestFn.java:139)at clojure.core&#36;apply.invoke(core.clj:603)at compojure.core&#36;routes&#36;fn__6060.invoke(core.clj:111)at backtype.storm.ui.core&#36;catch_errors&#36;fn__7668.invoke(core.clj:789)at ring.middleware.keyword_params&#36;wrap_keyword_params&#36;fn__6685.invoke(keyword_params.clj:27)at ring.middleware.nested_params&#36;wrap_nested_params&#36;fn__6722.invoke(nested_params.clj:65)at ring.middleware.params&#36;wrap_params&#36;fn__6659.invoke(params.clj:55)at ring.middleware.multipart_params&#36;wrap_multipart_params&#36;fn__6748.invoke(multipart_params.clj:103)at ring.middleware.flash&#36;wrap_flash&#36;fn__6919.invoke(flash.clj:14)at ring.middleware.session&#36;wrap_session&#36;fn__6910.invoke(session.clj:43)at ring.middleware.cookies&#36;wrap_cookies&#36;fn__6847.invoke(cookies.clj:160)at ring.adapter.jetty&#36;proxy_handler&#36;fn__7111.invoke(jetty.clj:16)at ring.adapter.jetty.proxy&#36;org.mortbay.jetty.handler.AbstractHandler&#36;0.handle(Unknown Source)at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)at org.mortbay.jetty.Server.handle(Server.java:326)at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)at org.mortbay.jetty.HttpConnection&#36;RequestHandler.headerComplete(HttpConnection.java:928)at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)at org.mortbay.jetty.bio.SocketConnector&#36;Connection.run(SocketConnector.java:228)--You received this message because you are subscribed to the Google Groups&storm-user& group.To unsubscribe from this group and stop receiving emails from it, send anemail to storm-user+.For more options, visit --You received this message because you are subscribed to the Google Groups &storm-user& group.To unsubscribe from this group and stop receiving emails from it, send an email to storm-user+.For more options, visit
Search Discussions
Discussion Posts
Related Discussions
view | post
| 2 of 2 |
user style
2 users in discussion
site design / logo & 2016 Grokbasestorm ui中topology的界面只有topology stats没有spout与bolt的stats?如题 谢谢了_百度知道
storm ui中topology的界面只有topology stats没有spout与bolt的stats?如题 谢谢了
在storm ui上 具体topology的界面中只有topology stats没有spout与bolt的stats是怎么回事呢.jpg 请教一下.92,我安装的storm 01,是需要什么配置吗
提问者采纳
jpg 这是一个bug.yaml nimbus目录配置好 我自己的开发机器上是0.9.9,ui这块用0.9;bin&#47,没发现问题
查看原帖&config&#47.1的测试环境昨天升级到0.91版本在 storm 0;storm ui替换,这个风险太大了 你的 &#47.91的做ui监控.1的 版本目录下&#47.2 也发现了这个问题所以我开发机器上用0;storm1;&gt
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁目录(一)搭建单机storm集群一、下载所需要的资源二、资源解压三、安装JDK四、安装依赖的库文件五、安装ZMQ六、安装jzmq七、启动zookeeper八、启动storm九、在UI端访问十、编译storm-start jar包十一、storm-starter源码导出十二、提交Topology(二)搭建多机storm集群一、基本设置二、修改配置文件三、启动集群四、在UI端口访问五、提交Topology附一&Storm 安装手册(一)搭建单机storm集群一、下载所需要的资源Storm:http://storm-project.net/downloads.html(0.9.3)apache-storm-0.9.3.tar.gzZookeeper:http://www.apache.org/dyn/closer.cgi/zookeeper/(3.4.6)zookeeper-3.4.6.tar.gzZMQ:http://download.zeromq.org/(2.1.7)zeromq-2.1.7.tar.gzjzmq:/nathanmarz/jzmq/archive/master.zipjzmq-master.zip二、资源解压下载完成后将资源放在自己指定的目录下解压tar -xvf zookeeper-3.4.6.tar.gztar -xvf apache-storm-0.9.3.tar.gztar -xvf zeromq-2.1.7.tar.gzunzip jzmq-master.zip&三、安装JDK安装openjdk安装命令:sudo apt-get install openjdk-7-jdk安装完成后修改环境变量,修改文件etc/profilevim /etc/profile修改以下内容:export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386export CLASSPATH=$JAVA_HOME/libexport PATH=$JAVA_HOME/bin:$PATH修改完成后,使配置文件生效source /etc/profile四、安装依赖的库文件运行以下命令对所需要的库文件进行安装,也可使用yum进行安装sudo apt-get install libtoolsudo apt-get install autoconfsudo apt-get install automakesudo apt-get install g++sudo apt-get install uuid-devsudo apt-get install uuidsudo apt-get install e2fsprogssudo apt-get install python五、安装ZMQ进入zero相应目录下,运行以下命令进行安装cd zeromq-2.1.7./configure若出现如下错误configure: error: cannot link with -luuid, install uuid-dev.解决方案如下:yum install uuid-dev 提示找不到该依赖包& (需从网上下载安装yum)yum install uuid*&&&& 直接用* ok./configure& 再次运行configure还是报错configure: error: cannot link with -luuid, install uuid-dev.上网搜索可能是还缺另外一个包yum install e2fsprogs* okmakesudo make installsudo ldconfig六、安装jzmq进入jzmq相应目录下,运行以下命令进行安装cd jzmq-master./autogen.sh./configuremakesudo make install若make过程出现如下错误***No rule to make target &classdist_noinst.stamp&,needed by &org、zeromq/ZMQ.class&. Stop解决方法,运行如下命令解决touch src/classdist_noinst.stampcd src/org/zeromqjavac *.javacd &makesudo make install七、启动zookeeper进入zookeeper相应目录cd zookeeper-3.4.6/重命名./conf/zoo_sample.cfg为./conf/zoo.cfgmv ./conf/zoo_sample.cfg ./conf/zoo.cfg运行命令启动zookeeperbin/zkServer.sh start检查zookeeper是否启动成功zkServer.sh statusbin/zkCli.sh &server 127.0.0.1:2181在出现的交互式窗口中运行ls /八、启动storm进入storm相应目录,启动storm相应服务cd apache-storm-0.9.3/bin./storm nimbus&./storm supervisor&./storm ui&九、在UI端访问在桌面打开连接http://localhost:8080,此时能够看见Storm UI界面十、编译storm-start jar包在运行起来的集群上提交一个Topology,使用storm-starter做示范安装git工具sudo apt-get install git安装leiningen工具(2.0.0以上版本),按照/technomancy/leiningen的步骤安装确保java版本在6以上下载lein脚本(我下载的lein脚本附在最后,附一),命名为lein:cd ~/wfm-storm/apache-storm-0.9.3/binvim lein将附一的脚本粘贴到lein文件中并保存chmod 755 ~/bin/lein运行lein./lein运行lein报如下错误&Failed to download/technomancy/leiningen/releases/download/2.5.0/leiningen-2.5.0-standalone.jar& (exit code 7) It's possible your HTTP client's certificate store does not have the correct certificate authority needed. This is often caused by an out-of-date version of libssl. It's also possible that you're behind a firewall and haven't set HTTP_PROXY and HTTPS_PROXY.&解决方法:export HTTP_CLIENT="wget --no-check-certificate -O"./leinexport PATH=" ~/wfm-storm/apache-storm-0.9.3/bin/:$PATH"(在配置文件中加入这句)下载storm-start源码保存在~/wfm-storm/storm-starter中cd ~/wfm-storm/git clone git:///nathanmarz/storm-starter.git依次执行以下命令创建项目jar包cd storm-starter/lein deps //下载相应的依赖包lein compile //编译lein install //安装打包报backtype.storm.LocalCluster和backtype.storm.LocalDRPC类找不到:Compiling backtype.storm.testing4jException in thread "main" java.lang.ClassNotFoundException: backtype.storm.LocalCluster, compiling:(testing4j.clj:1)&&&&&&& at piler$InvokeExpr.eval(Compiler.java:3387)&&&&&&& at pile1(Compiler.java:7035)&&&&&&& at pile1(Compiler.java:7025)&&&&&&& at pile(Compiler.java:7097)&&&&&&& at clojure.pile(RT.java:387)&&&&&&& at clojure.lang.RT.load(RT.java:427)&&&&&&& at clojure.lang.RT.load(RT.java:400)&&&&&&& at clojure.core$load$fn__4890.invoke(core.clj:5415)&&&&&&& at clojure.core$load.doInvoke(core.clj:5414)解决方法:修改storm-core/src/clj/backtype/storm/testing4j.clj和storm-core/src/clj/storm/trident/testing.clj,分别引用这两个类:testing4j.clj:& 1 (ns backtype.storm.testing4j& 2&& (:import [java.util Map List Collection ArrayList])& 3&& (:require [backtype.storm.LocalCluster :as LocalCluster])testing.clj:& 1& (ns storm.trident.testing)& 2&& (:require [backtype.storm.LocalDRPC :as LocalDRPC])安装时出现jdk版本问题sudo apt-get install openjdk-7-jdk执行之后会将JDK安装到/usr/lib/jvm/java-7-openjdk-i386/通过update-alternatives选择系统中使用的javasudo update-alternatives --config java有 3 个候选项可用于替换 java (提供 /usr/bin/java)。选择& 路径&&&&&&&&&&&&&&&&&&&&&&&& 优先级& 状态------------------------------------------------------------* 0&& /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java&& 1061&&&&& 自动模式1&&& /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java&& 1061&&&&& 手动模式2&&& /usr/lib/jvm/java-6-sun/jre/bin/java&&&&&&&&&&& 63&&&&&&& 手动模式3&&& /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java&& 1051&&&&& 手动模式要维持当前值[*]请按回车键,或者键入选择的编号:3&&&&&&update-alternatives: 使用 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 来提供 /usr/bin/java (java),于 手动模式 中。实际是将/usr/bin/java链接到JDK7上,保证执行java命令后,实际运行的是我们的目标版本java -version除了java外,还有javac、jar、javah、javap、jps、jconsole等sudo update-alternatives --config javacsudo update-alternatives --config jarsudo update-alternatives --config javahsudo update-alternatives --config javapsudo update-alternatives --config jpssudo update-alternatives --config jconsole补充:jps -lv& 用于查看java程序的启动参数,如java版本修改各个环境变量sudo vim /etc/profileexport JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/export CLASSPATH=$JAVA_HOME/libexport PATH=$JAVA_HOME/bin:$PATHsource& /etc/profilesudo vim /etc/environmentCLASSPATH=.:/usr/lib/jvm/java-7-openjdk-amd64/lib#JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/source /etc/environmentsudo vim ~/.bashrcexport JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/export CLASSPATH=$JAVA_HOME/libexport PATH=$JAVA_HOME/bin:$PATHsource ~/.bashrc创建好的jar包storm-starter-0.0.1-SNAPSHOT.jar位于target目录下十一、storm-starter源码导出获取storm-starter源码cd ~/wfm-stormgit clone git:///apache/storm.gitcd storm/examples/storm-starterstorm-starter简介storm-starter包含很多使用storm的例子。如果是第一次使用storm,建议从以下三个例子(topologies)入手:- ExclamationTopology: 基础的topology,全部都是使用java写的- WordCountTopology: 基础的topology ,利用multilang使用Python实现的- ReachTopology: storm之上的复杂的DRPC例子熟悉这几个例子之后,可看看其他的一些topologies(src/jvm/storm/starter/),其中有更多advanced的实现例子在maven上使用storm-starter,安装maven(3.x)下载相应maven版本(http://maven.apache.org/download.cgi),例如apache-maven-3.2.5-bin.tar.gz解压下载的包tar -zxf apache-maven-3.2.5-bin.tar.gz修改环境变量M2_HOMEsudo vim /etc/profile添加如下代码:export M2_HOME=/home/wamdm/wfm-storm/apache-maven-3.2.5export M2=$M2_HOME/binexport MAVEN_OPTS="-Xms256m -Xmx512m"export PATH=$M2:$PATHsource /etc/profile运行mvn &version查看安装是否成功.在maven上运行topologiesstorm-starter topologies可以使用maven-exec-plugin执行例如:在本地模式下编译并且运行 WordCountTopology$ mvn compile exec:java -Dstorm.topology=storm.starter.WordCountTopology也可以使用Maven运行clojure topologies$ mvn compile exec:java -Dstorm.topology=storm.starter.clj.word_count打包strom-starter用于storm集群mvn package运行例子:# Example 1: Run the RollingTopWords in local mode (LocalCluster)$ storm jar storm-starter-*-jar-with-dependencies.jar storm.starter.RollingTopWords# Example 2: Run the RollingTopWords in remote/cluster mode,# under the name "production-topology"$ storm jar storm-starter-*-jar-with-dependencies.jar storm.starter.RollingTopWords production-topology remote十二、提交Topology进入storm文件夹的bin目录中,运行以下命令提交Topology./storm jar ~/project/storm-starter/target/storm-starter-0.0.1-SNAPSHOT.jar storm.starter.WordCount Topology wordcount等待提交结束,刷新ui页面,可以看到提交的&Wordcount&Topology,点击Wordcount可以看到其详细的运行情况停止storm Topologystorm kill :{toponame}(二)搭建多机storm集群一、基本设置首先在每台机器上都搭建单机集群wamdm1作为Nimbus(192.168.0.11)wamdm2作为Zookeeper(192.168.0.12)wamdm3作为Supervisor(192.168.0.13)wamdm4作为Supervisor(192.168.0.14)二、修改配置文件修改wamdm1、wamdm3、wamdm4上的storm.yaml(~/wfm-storm/apache-storm-0.9.3/conf)进入conf目录cd ~/wfm-storm/apache-storm-0.9.3/conf修改配置文件vim storm.yaml将文件中添加如下代码storm.zookeeper.servers:- "192.168.0.12"# - "192.168.0.13"nimbus.host: "192.168.0.11"#ui.port: 83supervisor.slots.ports:- 6700- 6701- 6702- 6703可用参数解释:java.library.path:该配置项配置启动storm所需lib包的路径(默认可不用配置)storm.zookeeper.servers:该配置项配置了当前集群中所有ZooKeeper机器的IP地址(这里我们只使用wamdm1作为Zookeeper服务器)nimbus.host:该配置项指明了Nimbus机器的IP地址ui.port:该配置项配置了Storm UI使用的端口。(默认使用8080端口)supervisor.slots.ports:该配置项指明了一台Supervisor机器上所有可以使用的slot信息,也就是端口号。表明该机器上最多可以启动4个workerStorm还提供了很多其他的配置项,需要时可查相应的document三、启动集群在wamdm2上启动zookeeperbin/zkServer.sh start检查zookeeper是否启动成功zkServer.sh statusbin/zkCli.sh &server 127.0.0.1:2181在出现的交互式窗口中运行ls /在wamdm1上启动nimbus和uicd apache-storm-0.9.3/bin./storm nimbus./storm ui在wamdm3上启动supervisorcd apache-storm-0.9.3/bin./storm supervisor在wamdm4上启动supervisorcd apache-storm-0.9.3/bin./storm supervisor四、在UI端口访问在桌面打开连接http://192.168.0.11:8080,此时能够看见Storm集群五、提交Topology在wamdm1(Nimbus所在机器)上提交WordCountTopology到集群中,刷新ui页面,就能够看到提交的Topology了。附一lein 1 #!/usr/bin/env bash 2
3 # Ensure this file is executable via `chmod a+x lein`, then place it 4
5 # somewhere on your $PATH, like ~/bin. The rest of Leiningen will be 6
7 # installed upon first run into the ~/.lein/self-installs directory. 8
9 export LEIN_VERSION="2.5.0" 10
11 case $LEIN_VERSION in 12
*SNAPSHOT) SNAPSHOT="YES" ;; 14
*) SNAPSHOT="NO" ;; 16
17 esac 18
19 if [[ "$OSTYPE" == "cygwin" ]] || [[ "$OSTYPE" == "msys" ]]; then 20
delimiter=";" 22
23 else 24
delimiter=":" 26
29 if [[ "$OSTYPE" == "cygwin" ]]; then 30
cygwin=true 32
33 else 34
cygwin=false 36
39 function make_native_path { 40
# ensure we have native paths 42
if $cygwin && [[ "$1" == /* ]]; then 44
echo -n "$(cygpath -wp "$1")" 46
elif [[ "$OSTYPE" == "msys" && "$1" == /?/* ]]; then 48
echo -n "$(sh -c "(cd $1 2&/dev/null && pwd -W) || echo $1 | sed 's/^\\/\([a-z]\)/\\1:/g'")" 50
echo -n "$1" 54
59 # usage : add_path PATH_VAR [PATH]... 60
61 function add_path { 62
local path_var="$1" 64
while [ -n "$1" ];do 68
# /?Useful_Techniques:Indirect_Variables:Indirect_Assignment 70
if [[ -z ${!path_var} ]]; then 72
export ${path_var}="$(make_native_path "$1")" 74
export ${path_var}="${!path_var}${delimiter}$(make_native_path "$1")" 78
87 function download_failed_message { 88
echo "Failed to download $1 (exit code $2)" 90
echo "It's possible your HTTP client's certificate store does not have the" 92
echo "correct certificate authority needed. This is often caused by an" 94
echo "out-of-date version of libssl. It's also possible that you're behind a" 96
echo "firewall and haven't set HTTP_PROXY and HTTPS_PROXY." 98
99 }100 101 function self_install {102 103
if [ -r "$LEIN_JAR" ]; then104 105
echo "The self-install jar already exists at $LEIN_JAR."106 107
echo "If you wish to re-download, delete it and rerun \"$0 self-install\"."108 109
echo "Downloading Leiningen to $LEIN_JAR now..."114 115
mkdir -p "$(dirname "$LEIN_JAR")"116 117
LEIN_URL="/technomancy/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.jar"118 119
$HTTP_CLIENT "$LEIN_JAR.pending" "$LEIN_URL"120 121
local exit_code=$?122 123
if [ $exit_code == 0 ]; then124 125
# TODO: checksum126 127
mv -f "$LEIN_JAR.pending" "$LEIN_JAR"128 129
else130 131
rm "$LEIN_JAR.pending" 2& /dev/null132 133
download_failed_message "$LEIN_URL" "$exit_code"134 135
fi138 139 }140 141 if [ `id -u` -eq 0 ] && [ "$LEIN_ROOT" = "" ]; then142 143
echo "WARNING: You're curre probably by accident."144 145
echo "Press control-C to abort or Enter to continue as root."146 147
echo "Set LEIN_ROOT to disable this warning."148 149
read _150 151 fi152 153 NOT_FOUND= ORIGINAL_PWD="$PWD"156 157 while [ ! -r "$PWD/project.clj" ] && [ "$PWD" != "/" ] && [ $NOT_FOUND -ne 0 ]158 159 do160 161
cd ..162 163
if [ "$(dirname "$PWD")" = "/" ]; then164 165
NOT_FOUND=
cd "$ORIGINAL_PWD"168 169
fi170 171 done172 173 export LEIN_HOME="${LEIN_HOME:-"$HOME/.lein"}"174 175 for f in "$LEIN_HOME/leinrc" ".leinrc"; do176 177
if [ -e "$f" ]; then178 179
source "$f"180 181
fi182 183 done184 185 if $ then186 187
export LEIN_HOME=`cygpath -w "$LEIN_HOME"`188 189 fi190 191 LEIN_JAR="$LEIN_HOME/self-installs/leiningen-$LEIN_VERSION-standalone.jar"192 193 # normalize $0 on certain BSDs194 195 if [ "$(dirname "$0")" = "." ]; then196 197
SCRIPT="$(which $(basename "$0"))"198 199 else200 201
SCRIPT="$0"202 203 fi204 205 # resolve symlinks to the script itself portably206 207 while [ -h "$SCRIPT" ] ; do208 209
ls=`ls -ld "$SCRIPT"`210 211
link=`expr "$ls" : '.*-& \(.*\)$'`212 213
if expr "$link" : '/.*' & /dev/ then214 215
SCRIPT="$link"216 217
else218 219
SCRIPT="$(dirname "$SCRIPT"$)/$link"220 221
fi222 223 done224 225 BIN_DIR="$(dirname "$SCRIPT")"226 227 export LEIN_JVM_OPTS="${LEIN_JVM_OPTS-"-XX:+TieredCompilation -XX:TieredStopAtLevel=1"}"228 229 # This needs to be defined before we call HTTP_CLIENT below230 231 if [ "$HTTP_CLIENT" = "" ]; then232 233
if type -p curl &/dev/null 2&&1; then234 235
if [ "$https_proxy" != "" ]; then236 237
CURL_PROXY="-x $https_proxy"238 239
HTTP_CLIENT="curl $CURL_PROXY -f -L -o"242 243
else244 245
HTTP_CLIENT="wget -O"246 247
fi248 249 fi250 251 # When :eval-in :classloader we need more memory252 253 grep -E -q '^\s*:eval-in\s+:classloader\s*$' project.clj 2& /dev/null && \254 255
export LEIN_JVM_OPTS="$LEIN_JVM_OPTS -Xms64m -Xmx512m"256 257 if [ -r "$BIN_DIR/../src/leiningen/version.clj" ]; then258 259
# Running from source checkout260 261
LEIN_DIR="$(dirname "$BIN_DIR")"262 263
# Need to use lein release to bootstrap the leiningen-core library (for aether)264 265
if [ ! -r "$LEIN_DIR/leiningen-core/.lein-bootstrap" ]; then266 267
echo "Leiningen is missing its dependencies."268 269
echo "Please run \"lein bootstrap\" in the leiningen-core/ directory"270 271
echo "with a stable release of Leiningen. See CONTRIBUTING.md for details."272 273
# If project.clj for lein or leiningen-core changes, we must recalculate278 279
LAST_PROJECT_CHECKSUM=$(cat "$LEIN_DIR/.lein-project-checksum" 2& /dev/null)280 281
PROJECT_CHECKSUM=$(sum "$LEIN_DIR/project.clj" "$LEIN_DIR/leiningen-core/project.clj")282 283
if [ "$PROJECT_CHECKSUM" != "$LAST_PROJECT_CHECKSUM" ]; then284 285
if [ -r "$LEIN_DIR/.lein-classpath" ]; then286 287
rm "$LEIN_DIR/.lein-classpath"288 289
# Use bin/lein to calculate its own classpath.294 295
if [ ! -r "$LEIN_DIR/.lein-classpath" ] && [ "$1" != "classpath" ]; then296 297
echo "Recalculating Leiningen's classpath."298 299
ORIG_PWD="$PWD"300 301
cd "$LEIN_DIR"302 303
LEIN_NO_USER_PROFILES=1 $0 classpath .lein-classpath304 305
sum "$LEIN_DIR/project.clj" "$LEIN_DIR/leiningen-core/project.clj" & \306 307
.lein-project-checksum308 309
cd "$ORIG_PWD"310 311
mkdir -p "$LEIN_DIR/target/classes"314 315
export LEIN_JVM_OPTS="$LEIN_JVM_OPTS -pile.path=$LEIN_DIR/target/classes"316 317
add_path CLASSPATH "$LEIN_DIR/leiningen-core/src/" "$LEIN_DIR/leiningen-core/resources/" \318 319
"$LEIN_DIR/test:$LEIN_DIR/target/classes" "$LEIN_DIR/src" ":$LEIN_DIR/resources"320 321
if [ -r "$LEIN_DIR/.lein-classpath" ]; then322 323
add_path CLASSPATH "$(cat "$LEIN_DIR/.lein-classpath" 2& /dev/null)"324 325
else326 327
add_path CLASSPATH "$(cat "$LEIN_DIR/leiningen-core/.lein-bootstrap" 2& /dev/null)"328 329
fi330 331 else # Not running from a checkout332 333
add_path CLASSPATH "$LEIN_JAR"334 335
BOOTCLASSPATH="-Xbootclasspath/a:$LEIN_JAR"336 337
if [ ! -r "$LEIN_JAR" -a "$1" != "self-install" ]; then338 339
self_install340 341
fi342 343 fi344 345 # TODO: explain what to do when Java is missing346 347 export JAVA_CMD="${JAVA_CMD:-"java"}"348 349 export LEIN_JAVA_CMD="${LEIN_JAVA_CMD:-$JAVA_CMD}"350 351 if [[ -z "${DRIP_INIT+x}" && "$(basename "$LEIN_JAVA_CMD")" == *drip* ]]; then352 353
export DRIP_INIT="$(printf -- '-e\n(require (quote leiningen.repl))')"354 355
export DRIP_INIT_356 357 fi358 359 # Support $JAVA_OPTS for backwards-compatibility.360 361 export JVM_OPTS="${JVM_OPTS:-"$JAVA_OPTS"}"362 363 # Handle jline issue with cygwin not propagating OSTYPE through java subprocesses: /jline/jline2/issues/ cygterm=false366 367 if $ then368 369
case "$TERM" in370 371
rxvt* | xterm* | vt*) cygterm=;372 373
esac374 375 fi376 377 if $ then378 379
LEIN_JVM_OPTS="$LEIN_JVM_OPTS -Djline.terminal=jline.UnixTerminal"380 381
stty -icanon min 1 -echo & /dev/null 2&& fi384 385 # TODO: investigate http://skife.org/java/unix//really_executable_jars.html386 387 # If you're packaging this for a package manager (.deb, homebrew, etc)388 389 # you need to remove the self-install and upgrade functionality or see lein-pkg.390 391 if [ "$1" = "self-install" ]; then392 393
if [ -r "$BIN_DIR/../src/leiningen/version.clj" ]; then394 395
echo "Running self-install from a checkout is not supported."396 397
echo "See CONTRIBUTING.md for SNAPSHOT-specific build instructions."398 399
echo "Manual self-i it will run automatically when necessary."404 405
self_install406 407 elif [ "$1" = "upgrade" ] || [ "$1" = "downgrade" ]; then408 409
if [ "$LEIN_DIR" != "" ]; then410 411
echo "The upgrade task is not meant to be run from a checkout."412 413
if [ $SNAPSHOT = "YES" ]; then418 419
echo "The upgrade task is only meant for stable releases."420 421
echo "See the \"Hacking\" section of the README."422 423
if [ ! -w "$SCRIPT" ]; then428 429
echo "You do not have permission to upgrade the installation in $SCRIPT"430 431
else434 435
TARGET_VERSION="${2:-stable}"436 437
echo "The script at $SCRIPT will be upgraded to the latest $TARGET_VERSION version."438 439
echo -n "Do you want to continue [Y/n]? "440 441
read RESP442 443
case "$RESP" in444 445
y|Y|"")446 447
echo448 449
echo "Upgrading..."450 451
TARGET="/tmp/lein-$$-upgrade"452 453
if $ then454 455
TARGET=`cygpath -w $TARGET`456 457
LEIN_SCRIPT_URL="/technomancy/leiningen/raw/$TARGET_VERSION/bin/lein"460 461
$HTTP_CLIENT "$TARGET" "$LEIN_SCRIPT_URL"462 463
if [ $? == 0 ]; then464 465
cmp -s "$TARGET" "$SCRIPT"466 467
if [ $? == 0 ]; then468 469
echo "Leiningen is already up-to-date."470 471
mv "$TARGET" "$SCRIPT" && chmod +x "$SCRIPT"474 475
exec "$SCRIPT" version476 477
else478 479
download_failed_message "$LEIN_SCRIPT_URL"480 481;482 483
echo "Aborted."486 487
exit 1;;488 489
esac490 491
fi492 493 else494 495
if $ then496 497
# When running on Cygwin, use Windows-style paths for java498 499
ORIGINAL_PWD=`cygpath -w "$ORIGINAL_PWD"`500 501
# apply context specific CLASSPATH entries504 505
if [ -f .lein-classpath ]; then506 507
add_path CLASSPATH "$(cat .lein-classpath)"508 509
if [ $DEBUG ]; then512 513
echo "Leiningen's classpath: $CLASSPATH"514 515
if [ -r .lein-fast-trampoline ]; then518 519
export LEIN_FAST_TRAMPOLINE='y'520 521
if [ "$LEIN_FAST_TRAMPOLINE" != "" ] && [ -r project.clj ]; then524 525
INPUTS="$@ $(cat project.clj) $LEIN_VERSION $(test -f "$LEIN_HOME/profiles.clj" && cat "$LEIN_HOME/profiles.clj")"526 527
export INPUT_CHECKSUM=$(echo $INPUTS | shasum - | cut -f 1 -d " ")528 529
# Just don't change :target-path in project.clj, mkay?530 531
TRAMPOLINE_FILE="target/trampolines/$INPUT_CHECKSUM"532 533
else534 535
if hash mktemp 2&/dev/ then536 537
# Check if mktemp is available before using it538 539
TRAMPOLINE_FILE="$(mktemp /tmp/lein-trampoline-XXXXXXXXXXXXX)"540 541
else542 543
TRAMPOLINE_FILE="/tmp/lein-trampoline-$$"544 545
trap "rm -f $TRAMPOLINE_FILE" EXIT548 549
if $ then552 553
TRAMPOLINE_FILE=`cygpath -w $TRAMPOLINE_FILE`554 555
if [ "$INPUT_CHECKSUM" != "" ] && [ -r "$TRAMPOLINE_FILE" ]; then558 559
if [ $DEBUG ]; then560 561
echo "Fast trampoline with $TRAMPOLINE_FILE."562 563
exec sh -c "exec $(cat $TRAMPOLINE_FILE)"566 567
else568 569
export TRAMPOLINE_FILE570 571
"$LEIN_JAVA_CMD" \572 573
"${BOOTCLASSPATH[@]}" \574 575
-Dfile.encoding=UTF-8 \576 577
-Dmaven.wagon.http.ssl.easy=false \578 579
-Dmaven.wagon.rto=11
$LEIN_JVM_OPTS \582 583
-Dleiningen.original.pwd="$ORIGINAL_PWD" \584 585
-Dleiningen.script="$SCRIPT" \586 587
-classpath "$CLASSPATH" \588 589
clojure.main -m leiningen.core.main "$@"590 591
EXIT_CODE=$?592 593
if $ then594 595
stty icanon echo & /dev/null 2&&
## TODO: [ -r "$TRAMPOLINE_FILE" ] may be redundant? A trampoline file600 601
## is always generated these days.602 603
if [ -r "$TRAMPOLINE_FILE" ] && [ "$LEIN_TRAMPOLINE_WARMUP" = "" ]; then604 605
TRAMPOLINE="$(cat $TRAMPOLINE_FILE)"606 607
if [ "$INPUT_CHECKSUM" = "" ]; then608 609
rm $TRAMPOLINE_FILE610 611
if [ "$TRAMPOLINE" = "" ]; then614 615
exit $EXIT_CODE616 617
else618 619
exec sh -c "exec $TRAMPOLINE"620 621
else624 625
exit $EXIT_CODE626 627
fi630 631 fi&
、 、 、 、 、}

我要回帖

更多关于 storm ui capacity 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信