Storm环境搭建

1. 集群环境-集群部署的流程:下载安装包、解压安装包、修改配置文件、分发安装包、启动集群

注意:所有的集群上都需要配置hosts   vim  /etc/hosts

IP地址1 storm01 zk01 hadoop01
IP地址2 storm02 zk02 hadoop02
IP地址3 storm03 zk03 hadoop03

集群准备

Master 172.16.11.97
Slave1 172.16.11.98
Slave2 172.16.11.99

安装前的准备工作(zk集群已经部署完毕)

l 关闭防火墙

chkconfig iptables off && setenforce 0

l 创建用户

groupadd realtime && useradd realtime &&usermod -a -G realtime realtime

l 创建工作目录并赋权

    mkdir /export/servers
    chmod 755 -R /export

l 切换到realtime用户下

 su realtime

2. 下载安装包

#Master
wget http://mirror.bit.edu.cn/apache/storm/apache-storm-0.9.7/apache-storm-0.9.7.tar.gz
tar zxvf apache-storm-0.9.7.tar.gz 或者tar zxvf apache-storm-0.9.7.tar.gz -C /export/servers/解压到指定目录,是一种企业目录规范
cd /export/servers/(如果没有创建用户就省略)
ln -sapache-storm-0.9.5 storm(如果没有创建用户就省略,创建软连接)

3. 修改Storm配置文件

#Master
cd apache-storm-0.9.7/conf
mv /export/servers/storm/conf/storm.yaml /export/servers/storm/conf/storm.yaml.bak(这个命令可以省略)
vim storm.yaml
storm.zookeeper.servers:
- "master"
- "slave1"
- "slave2"

nimbus.host: "master"
supervisor.slots.ports:(默认是4个,storm端口号是8080,这个是worker对应的端口号)
- 6700
- 6701
- 6702
- 6703
- 6704
- 6705

4. 配置环境变量

#Master、Slave1、Slave2
vim ~/.bashrc
STORM_HOME=/usr/local/src/apache-storm-0.9.7
export PATH=$PATH:$STORM_HOME/bin
#刷新环境变量
source ~/.bashrc

5. 拷贝安装包

# Master
scp -r /usr/local/src/apache-storm-0.9.7root@slave1:/usr/local/src/apache-storm-0.9.7
scp -r /usr/local/src/apache-storm-0.9.7 root@slave2:/usr/local/src/apache-storm-0.9.7

6. 启动集群

#master
vim /usr/local/src/apache-storm-0.9.7/bin/start-storm-master.sh
python /usr/local/src/apache-storm-0.9.7/bin/storm nimbus &(l 在nimbus.host所属的机器上启动 nimbus服务)
python /usr/local/src/apache-storm-0.9.7/bin/storm ui &(l 在nimbus.host所属的机器上启动ui服务)
python /usr/local/src/apache-storm-0.9.7/bin/storm logviewer &
chmod +x /usr/local/src/apache-storm-0.9.7/bin/start-storm-master.sh
start-storm-master.sh
#Slave1、Slave2
vim /usr/local/src/apache-storm-0.9.7/bin/start-storm-slave.sh
python /usr/local/src/apache-storm-0.9.7/bin/storm supervisor &(l 在其它节点上启动supervisor服务)
python /usr/local/src/apache-storm-0.9.7/bin/storm logviewer &
chmod +x /usr/local/src/apache-storm-0.9.7/bin/start-storm-slave.sh
start-storm-slave.sh

7. 集群状态

jps
#Master

#Slave1

#Slave2

9. 关闭集群

#master、Slave1、Slave2
vim /usr/local/src/apache-storm-0.9.7/bin/stop-storm.sh
kill `ps aux| grep storm | grep -v 'grep' | awk '{print $2}'`
chmod +x /usr/local/src/apache-storm-0.9.7/bin/stop-storm.sh
stop-storm.sh

9. Storm常用操作命令

有许多简单且有用的命令可以用来管理拓扑,它们可以提交、杀死、禁用、再平衡拓扑。

l 提交任务命令格式:storm jar 【jar路径】【拓扑包名.拓扑类名】【拓扑名称】,这里可以体现出离线计算与实时计算最大的区别,离线机选需要指定数据输入路径和数据输出路径,而实时计算不能提前知道数据在哪,只有数据输入的时候才知道,而输出数据在代码中进行设置比如写到Redis

bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.6.jarstorm.starter.WordCountTopology wordcount

l 杀死任务命令格式:storm kill 【拓扑名称】 -w 10(执行kill命令时可以通过-w [等待秒数]指定拓扑停用以后的等待时间)

storm kill topology-name -w 10

l 停用任务命令格式:storm deactivte  【拓扑名称】

storm deactivte topology-name

我们能够挂起或停用运行中的拓扑。当停用拓扑时,所有已分发的元组都会得到处理,但是spouts的nextTuple方法不会被调用。销毁一个拓扑,可以使用kill命令。它会以一种安全的方式销毁一个拓扑,首先停用拓扑,在等待拓扑消息的时间段内允许拓扑完成当前的数据流。

l 启用任务命令格式:storm activate【拓扑名称】

storm activate topology-name

l 重新部署任务命令格式:storm rebalance  【拓扑名称】

storm rebalance topology-name

再平衡使你重分配集群任务。这是个很强大的命令。比如,你向一个运行中的集群增加了节点。再平衡命令将会停用拓扑,然后在相应超时时间之后重分配工人,并重启拓扑。

10、Storm集群的进程及日志熟悉

10.1、部署成功之后,启动storm集群。

         依次启动集群的各种角色

10.2、查看nimbus的日志信息

在nimbus的服务器上

cd/export/servers/storm/logs
tail -100f/export/servers/storm/logs/nimbus.log

10.3、查看ui运行日志信息

在ui的服务器上,一般和nimbus一个服务器

cd/export/servers/storm/logs
tail -100f/export/servers/storm/logs/ui.log

10.4、查看supervisor运行日志信息

在supervisor服务上

cd/export/servers/storm/logs
tail -100f/export/servers/storm/logs/supervisor.log

10.5、查看supervisor上worker运行日志信息

在supervisor服务上

cd/export/servers/storm/logs
tail -100f/export/servers/storm/logs/worker-6702.log

(该worker正在运行wordcount程序)

11、Storm源码下载及目录熟悉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值