当前位置:   article > 正文

【Storm】【案例】【三】远程模式_supervisor.slots.port.mem.weight: 0.8

supervisor.slots.port.mem.weight: 0.8

远程模式

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

环境

准备三台CentOS机器,如下:

nimbus主节点

192.168.217.201 
  • 1

supervisor工作节点

192.168.217.202

192.168.217.203
  • 1
  • 2
  • 3

安装软件和文件配置

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

安装工具软件

三台机器都要

yum -y install vim lrzsz bash-completion

  • 1
  • 2

安装时钟同步

三台机器都要

yum -y install chrony

systemctl start chronyd
systemctl enable chronyd
systemctl status chronyd

chronyc sources

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

关闭防火墙和安全认证

三台机器都要

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

  • 1
  • 2
  • 3
  • 4
  • 5

配置HOSTS

三台机器都要

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

安装JDK

三台机器都要下载JDK

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

上传到/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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

安装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]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

添加节点表示

分别在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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

安装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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
配置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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
配置Storm环境变量
#先暴露环境变量
export PATH=$PATH:/usr/local/storm/bin/

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

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

启动Storm集群

在nimbus主节点启动

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

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

  • 1
  • 2
  • 3
  • 4

在supervisor工作节点启动

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

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

  • 1
  • 2
  • 3
  • 4

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

在这里插入图片描述

发布项目到Storm集群

过程:

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

打包项目

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

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

在这里插入图片描述

Maven打包

运行package打包命令

在这里插入图片描述

生成打包文件

在这里插入图片描述

上传文件

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

在这里插入图片描述

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

只在nimbus主节点执行

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

说明:

  • storm jar: 固定写法

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

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

  • stormcalllog:Topology名称

启动效果

后台

在这里插入图片描述

登录UI查看

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/236701
推荐阅读
相关标签
  

闽ICP备14008679号