storm安装并且提交拓扑任务

Storm最基本的依赖组件是zookpeeper 3.4.9, Java 1.8.112,同时需要安装python或者其他脚本以支持mutillanguage,但是并不是必须的.

1.安装zookeeper

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
tar xvf zookeeper-3.4.9.tar.gz
cd zookeeper-3.4.9
cp conf/zoo_sample.cfg conf/zoo.cfg

设置下环境变量

export ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.9
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH

然后就可以启动zookeeper了

zkServer.sh start

可以运行下zkCli.sh,测试下zookeeper是否可用

2.安装storm

wget http://mirrors.cnnic.cn/apache/storm/apache-storm-1.0.2/apache-storm-1.0.2.zip
unzip apache-storm-1.0.2.zip
cd apache-storm-1.0.2

修改conf/storm.yaml如下

 storm.zookeeper.servers:
     - "127.0.0.1"
 nimbus.host: "192.168.24.57"
 storm.local.dir: "/root/storm/workdir"
 java.library.path: "/usr/local/lib:/opt/local/lib:/usr/lib"
 topology.debug: "true"

然后将storm/bin加入环境变量

export STORM_HOME=/opt/apache-storm-1.0.2
export PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$STORM_HOME/bin:$PATH

启动storm

storm nimbus &
storm supervisor &
storm ui &

jps可以看到如下进程,而且日志也没有报错。基本上就ok了,可以提交任务在storm环境中跑了

14157 core
14106 QuorumPeerMain
30978 Jps
14144 supervisor
13995 nimbus

3.提交拓扑的代码

storm jar suggestion-1.0.2.jar org.magicwall.topoplogy.SuggestionTopology 1

杀死拓扑

storm kill suggestion

默认8080端口提供了一个ui dashboard

4.FAQ
出现“org.apache.storm.utils.NimbusLeaderNotFoundException: Could not find leader nimbus from seed hosts [localhost]. Did you specify a valid list of nimbus”
检查你的首选DNS的反解是否正常,特别在本地,需要将127.0.0.1 localhost放在hosts的首位

还有就是到zoopeeper上把storm节点删掉,重启zookeeper

zkCli.cmd

使用rmr命令删除/storm节点
rmr /storm

关于Zeno Chen

本人涉及的领域较多,杂而不精 程序设计语言: Perl, Java, PHP, Python; 数据库系统: MySQL,Oracle; 偶尔做做电路板的开发,主攻STM32单片机
此条目发表在Linux分类目录。将固定链接加入收藏夹。