Storm伪分布式搭建
配置zookeeper
下载zookeeper tar包
解压:tar -zxvf zookeeper-3.4.10.tar.gz -C /root/training/
配置
cd /root/training/zookeeper-3.4.10/conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg
# 指定zookeeper数据路径,需要mkdir tmp
dataDir=/root/training/zookeeper-3.4.6/tmp
# 配置server host port
server.1=hdp01:2888:3888
# 如果是集群的话,添加多个server
# server.2=hdp02:2888:3888
# 在/root/training/zookeeper-3.4.6/tmp目录下创建一个myid的空文件
vim myid # 写入1(与server.1对应)
启动ZooKeeper和查看ZooKeeper的状态
zkServer.sh start
zkServer.sh status
# 可借助于ZooInspector工具查看zookeeper数据
jar -jar zookeeper-dev-ZooInspector.jar
如果部署集群的话,直接把zookeeper-3.4.6安装包scp到其它节点即可。
配置storm
下载storm tar包
解压:tar -zxvf apache-storm-1.0.3.tar.gz -C /root/training/
设置环境变量 vim ~/.bash_profile(针对当前登录用户),vim /etc/profile(针对所有用户)
STORM_HOME=/root/training/apache-storm-1.0.3
export STORM_HOME
PATH=$STORM_HOME/bin:$PATH
export PATH
编辑配置文件:$STORM_HOME/conf/storm.yaml
# 指定zookeeper地址,集群的话配置多个server
storm.zookeeper.servers:
- "hdp00"
# - "server2"
# storm主节点,多个主节点的话配置多个host
nimbus.seeds: ["hdp00"]
# 提交的topology都会上传到该目录,需要手动创建tmp目录
storm.local.dir: "/root/training/apache-storm-1.0.3/tmp"
# 开启的槽数量,supervisor上能够运行workers的端口列表.每个worker占用一个端口,且每个端口只运行一个worker.通过这项配置可以调整每台机器上运行的worker数.(调整slot数/每机)
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
# 如上注意,-和:之后都有空格;如果要搭建Storm的HA,只需要在nimbus.seeds中设置多个nimbus即可。
#Storm的event logger的功能默认是禁用的,需要在配置文件中设置:topology.eventlogger.executors: 1
启动storm
storm nimbus &
storm supervisor &
# 在nimbus.host所属的机器上启动ui服务;查看storm集群:访问nimbus.host:/8080,即可看到storm的ui界面
storm ui &
# 启动日志查询 :host:8000
storm logviewer &
提交任务
提交任务命令格式:storm jar 【jar路径】 【拓扑包名.拓扑类名】 【拓扑名称】