目录
- 电脑系统:macOS 11.0.1
- 虚拟机软件:Parallels Desktop16
- Zookeeper版本:zookeeper-3.4.5-cdh5.9.3
- JDK版本:jdk1.8.0_162
- Storm版本:apache-storm-1.2.3
Storm的下载源地址:
在安装storm之前必须保证zookeeper是安装成功的,详细安装zookeeper见:
https://blog.csdn.net/weixin_45366499/article/details/106782337
第一步:安装软件
(1)上传文件
将本机的安装包上传到虚拟机node1,上传方式:
scp 本机的文件绝对路径 [email protected]:/opt/softwares
(2)解压文件
上传成功之后需要对文件赋予权限
chmod u+x apache-storm-1.2.3.tar.gz
解压文件:
tar -zxvf apache-storm-1.2.3.tar.gz -C /opt/modules/
创建软链接:
ln -s apache-storm-1.2.3 storm
第二步:配置环境变量
vim ~/.bashrc
然后添加以下内容,注意三台虚拟机都需要配置环境变量
export STORM_HOME=/opt/modules/storm
export PATH=$STORM_HOME/bin:$PATH
最后使之生效
source ~/.bashrc
第三步:修改配置文件
修改conf目录下storm.yaml文件
vim storm.yaml
添加如下内容:
storm.zookeeper.servers:
- "bigdata-pro-m01"
- "bigdata-pro-m02"
- "bigdata-pro-m03"
nimbus.seeds: ["bigdata-pro-m01", "bigdata-pro-m02"]
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
ui.port: 8888
注意前面要留一个空格,这里主要配置四个部分
zookeeper nimbus supervisor ui
- nimbus配置了两个,这里搭建的是HA架构
- supervisor的ports配置了四个,这里每个supervisor设置了四个worker
- ui的端口号为8888
第四步:Storm集群启动与关闭脚本编写
启动nimbus
bin/storm nimbus
启动ui
bin/storm ui
启动supervisor
bin/storm supervisor
storm中没有像Hadoop中一样集群式的启动命令,需要每一台机器启动,这样就是比较浪费时间,我们可以通过编写集群启动与关闭脚本,执行脚本就可以把storm集群都启动。
先看一下集群服务规划:
1 2 3
nimbus nimbus
ui
supervisor supervisor supervisor
logviewer logviewer logviewer
(1)编写start-all.sh启动脚本
目的是:一条命启动所有storm服务
在bin目录下创建storm-shell目录,并且编写以下四个文件
start-nimbus.sh:启动nimbus
# !/bin/bash
nohup storm nimbus &
start-supervisor.sh:启动supervisor和logviewer
# !/bin/bash
nohup storm supervisor &
nohup storm logviewer &
storm-hosts-ha:nimbus节点名称
bigdata-pro-m01
bigdata-pro-m02
storm-hosts-ha:nimbus节点名称
bigdata-pro-m01
bigdata-pro-m02
bigdata-pro-m03
在bin目录下新建start-all.sh脚本
内容如下:
# !/bin/bash
bin=/opt/modules/storm/bin/storm-shell
nimbus=/opt/modules/storm/bin/storm-shell/storm-hosts-ha
supervisor=/opt/modules/storm/bin/storm-shell/storm-hosts
nohup storm ui &
# start nimbus
cat $nimbus | while read hostname
do
echo $hostname
ssh $hostname $bin/start-nimbus.sh &
done
# start supervisor & logviewr
cat $supervisor | while read hostname
do
echo $hostname
ssh $hostname $bin/start-supervisor.sh &
done
(2)编写stop-all.sh启动脚本
目的是:一条命停掉所有storm服务,停掉storm服务使用kill命令
在storm-shell目录,并且编写以下两个文件
stop-nimbus.sh:关闭nimbus
# !/bin/bash
kill -9 `ps -ef|grep storm.daemon.nimbus |awk '{print $2}'`
stop-supervisor.sh:关闭supervisor
# !/bin/bash
kill -9 `ps -ef|grep storm.daemon.supervisor.Supervisor |awk '{print $2}'`
kill -9 `ps -ef|grep storm.daemon.logviewer |awk '{print $2}'`
在bin目录下新建stop-all.sh脚本
在bin目录下新建stop-all.sh脚本
内容如下:
# !/bin/bash
bin=/opt/modules/storm/bin/storm-shell
nimbus=/opt/modules/storm/bin/storm-shell/storm-hosts-ha
supervisor=/opt/modules/storm/bin/storm-shell/storm-hosts
kill -9 `ps -ef|grep storm.ui.core |awk '{print $2}'`
# stop nimbus
cat $nimbus | while read hostname
do
echo $hostname
ssh $hostname $bin/stop-nimbus.sh &
done
# stop supervisor & logviewr
cat $supervisor | while read hostname
do
echo $hostname
ssh $hostname $bin/stop-supervisor.sh &
done
最后注意所有的shell文件全部要赋予权限
chmod 777 start-nimbus.sh start-supervisor.sh stop-nimbus.sh stop-supervisor.sh
chmod 777 start-all.sh stop-all.sh
将storm-shell目录分发到2,3节点上
scp -r storm-shell/ bigdata-pro-m02:/opt/modules/storm/bin/
scp -r storm-shell/ bigdata-pro-m03:/opt/modules/storm/bin/
第五步:测试
启动命令之后,通过访问ui界面查看是否安装成功:
以上内容仅供参考学习,如有侵权请联系我删除!
如果这篇文章对您有帮助,左下角的大拇指就是对博主最大的鼓励。
您的鼓励就是博主最大的动力!