【Storm】【案例】【三】远程模式

远程模式

将本地测试好的Topology发布到远程Storm集群里,并启动

环境

准备三台CentOS机器,如下:

nimbus主节点

192.168.217.201 

supervisor工作节点

192.168.217.202

192.168.217.203

安装软件和文件配置

对服务器和组件进行安装或配置

安装工具软件

三台机器都要

yum -y install vim lrzsz bash-completion

安装时钟同步

三台机器都要

yum -y install chrony

systemctl start chronyd
systemctl enable chronyd
systemctl status chronyd

chronyc sources

关闭防火墙和安全认证

三台机器都要

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

配置HOSTS

三台机器都要

cat >> /etc/hosts << EOF
192.168.217.201 storm1 # nimbus主节点
192.168.217.202 storm2 # supervisor工作节点
192.168.217.203 storm3 # supervisor工作节点
EOF

安装JDK

三台机器都要下载JDK

链接:https://pan.baidu.com/s/1lZpObdGpscpjQrfTdVu8TQ 
提取码:izk1 
--来自百度网盘超级会员V4的分享

上传到/usr/local/src目录下

cd /usr/local/src

#解压文件,并将文件移动到/usr/local目录下
tar -xvf jdk-8u341-linux-x64.tar.gz && mv jdk1.8.0_341 ../jdk

#先导出jdk环境
export PATH=$PATH:/usr/local/jdk/bin/

#在/etc/profile里配置环境变量
PATH=$PATH:/usr/local/jdk/bin/

#激活环境变量
source /etc/profile

安装Zookeeper

在两台supervisor工作节点安装Zookeeper,并将Zookeeper下载到/usr/local/src目录下

cd /usr/local/src

wget https://dlcdn.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz \
--no-check-certificate

#将zookeeper解压文件移动到/usr/local目录下
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz && mv apache-zookeeper-3.7.1-bin ../zookeeper

#进入zookeeper目录下创建data和logs目录用于存放后期文件
cd /usr/local/zookeeper && mkdir data logs

#修改zookeeper配置文件
cd /usr/local/zookeeper/conf && cp zoo_sample.cfg zoo.cfg

#将修改后的zookeeper配置文件zoo.cfg挂载到zookeeper中
sed -i 's/dataDir=.*/dataDir=\/usr\/local\/zookeeper\/data/g' /usr/local/zookeeper/conf/zoo.cfg

#配置挂载Storm节点到Zookeeper上
cat >> /usr/local/zookeeper/conf/zoo.cfg << EOF
dataLogDir=/usr/local/zookeeper/logs
server.1=storm1:2881:3881
server.2=storm2:2881:3881
server.3=storm3:2881:3881
EOF

#修改zookeeper端口
echo "admin.serverPort=8800" >> /usr/local/zookeeper/conf/zoo.cfg

#先暴露环境变量
export PATH=$PATH:/usr/local/zookeeper/bin/

#将环境变量添加到/etc/profile里
PATH=$PATH:/usr/local/zookeeper/bin/

#启动Zookeeper
zkServer.sh start [status restart stop]

添加节点表示

分别在storm1,storm2,storm3上配置

storm1
echo 1 >/usr/local/zookeeper/data/myid

storm2
echo 2 >/usr/local/zookeeper/data/myid

storm3
echo 3 >/usr/local/zookeeper/data/myid

安装Storm

三台机器都要

#如果没有Python,需要安装
apt install  python-is-python3

#将Storm下载到/usr/local/src目录下
cd /usr/local/src

wget https://dlcdn.apache.org/storm/apache-storm-2.4.0/apache-storm-2.4.0.tar.gz \
--no-check-certificate

#将解压缩的storm移动到/usr/local目录下
tar -zxvf apache-storm-2.4.0.tar.gz && mv apache-storm-2.4.0 ../storm

配置Storm

进入解压缩的Storm的conf目录下修改storm.yaml配置文件

cd /usr/local/storm/conf

cat >> storm.yaml << EOF

storm.zookeeper.servers:
    - "storm1"
    - "storm2"
    - "storm3"

storm.local.dir: "/usr/local/storm/data"

nimbus.seeds: ["storm1", "storm2"]

supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703
EOF

配置Storm环境变量
#先暴露环境变量
export PATH=$PATH:/usr/local/storm/bin/

#将环境变量配置到/etc/profile里
PATH=$PATH:/usr/local/storm/bin/

#激活环境变量
source /etc/profile

启动Storm集群

在nimbus主节点启动

nohup storm nimbus > nohup.out 2>&1 &

nohup storm ui > nohup.out 2>&1 &

在supervisor工作节点启动

nohup storm supervisor > nohup.out 2>&1 &

nohup storm logviewer > nohup.out 2>&1 &

如果nimbus或supervisor启动后自动退出,重启zookeeper,确保zookeeper已经起来了

在这里插入图片描述

发布项目到Storm集群

过程:

  • 修改项目配置
  • 打包项目
  • 上传项目jar包到nimbus服务器/usr/local/storm2.4目录下
  • 执行启动项目命令

打包项目

项目启动入口中,将本地模式改成远程模式

//线上集群-生产
StormSubmitter.submitTopology("topo", config, topologyBuilder.createTopology());

在这里插入图片描述

Maven打包

运行package打包命令

在这里插入图片描述

生成打包文件

在这里插入图片描述

上传文件

这里上传到/usr/local/storm目录下,注意:上传目录没有要求,因为配置了Storm的环境变量,在哪里都可以运行storm启动项目命令

在这里插入图片描述

在Storm集群里启动项目,实现远程部署

只在nimbus主节点执行

storm jar stormcalllog-1.0-SNAPSHOT.jar com.zj.storm.App stormcalllog

说明:

  • storm jar: 固定写法

  • stormcalllog-1.0-SNAPSHOT.jar:上传的项目jar包

  • com.zj.storm.App:项目主类路径

  • stormcalllog:Topology名称

启动效果

后台

在这里插入图片描述

登录UI查看

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BirdMan98

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值