实验四 综合数据流处理-Storm (单机和集群配置部分)

1.前期准备

(1)把docker和docker-compose给下载好

参考:基于docker-compose来搭建zookeeper集群-CSDN博客(注意对于这篇文章下面配置zookeeper的内容,可以直接跳过,因为我们只需要看最上面下载docker-compose的部分)

在linux虚拟机上面配置Docker时所踩过的坑_containerd1.6.33镜像源怎么配置-CSDN博客

(2)创建好相关目录,并且准备好zookeeper.yml文件,具体代码如下:

mkdir -p /export/server/allstorm/
mkdir -p /export/server/stormdocker/
cd /export/server/
vi zookeeper.yml 

配置storm单机使用的目录是stormdocker

配置storm集群使用的目录是allstorm

zookeeper.yml内容

version: '3.0'
services:zk_server1:image: zookeeper:3.7.1 # 镜像名称restart: always # 当发生错误时自动重启container_name: zk-node1ports: # 端口- 2181:2181volumes: # 挂载数据卷- ./node1/data:/data # 若./node1/data目录不存在,则自动生成- ./node1/datalog:/datalog # 若./node1/datalog目录不存在,则自动生成environment:TZ: Asia/ShanghaiZOO_MY_ID: 1 # 节点IDZOO_PORT: 2181 # zookeeper端口号ZOO_SERVERS: server.1=172.168.0.1:2888:3888;2181 server.2=172.168.0.2:2888:3888;2181 server.3=172.168.0.3:2888:3888;2181 # zookeeper节点列表networks:mynet: # 自定义网络名ipv4_address: 172.168.0.1zk_server2:image: zookeeper:3.7.1restart: alwayscontainer_name: zk-node2ports:- 2182:2181volumes:- ./node2/data:/data- ./node2/datalog:/datalogenvironment:TZ: Asia/ShanghaiZOO_MY_ID: 2ZOO_PORT: 2181ZOO_SERVERS: server.1=172.168.0.1:2888:3888;2181 server.2=172.168.0.2:2888:3888;2181 server.3=172.168.0.3:2888:3888;2181networks:mynet:ipv4_address: 172.168.0.2zk_server3:image: zookeeper:3.7.1restart: alwayscontainer_name: zk-node3ports:- 2183:2181volumes:- ./node3/data:/data- ./node3/datalog:/datalogenvironment:TZ: Asia/ShanghaiZOO_MY_ID: 3ZOO_PORT: 2181ZOO_SERVERS: server.1=172.168.0.1:2888:3888;2181 server.2=172.168.0.2:2888:3888;2181 server.3=172.168.0.3:2888:3888;2181networks:mynet:ipv4_address: 172.168.0.3networks:mynet: # 自定义网络名external: true

2.单机storm配置

准备好相关文件:one_storm.yml,storm.yaml

(1)首先创建文件one_storm.yml,代码如下

cd /export/server/
vi one_storm.yml

one_storm.yml的内容如下

version: '3'
services:nimbus:image: stormrestart: alwayscommand: storm nimbuscontainer_name: nimbusenvironment:STORM_ZOOKEEPER_SERVERS: "zk_server1:2181,zk_server2:2181,zk_server3:2181"ports:- "6627:6627"networks:- storm-network- mynetsupervisor:image: stormrestart: alwayscommand: storm supervisorcontainer_name: supervisordepends_on:- nimbusenvironment:STORM_ZOOKEEPER_SERVERS: "zk_server1:2181,zk_server2:2181,zk_server3:2181"STORM_NIMBUS_HOST: "nimbus"links:- nimbus:nimbusports:- "6700:6700"- "6701:6701"- "6702:6702"- "6703:6703"- "8000:8000"networks:- storm-network- mynetui:image: stormrestart: alwayscommand: storm uicontainer_name: uidepends_on:- nimbusenvironment:STORM_ZOOKEEPER_SERVERS: "zk_server1:2181,zk_server2:2181,zk_server3:2181"STORM_NIMBUS_HOST: "nimbus"links:- nimbus:nimbusports:- "8080:8080"networks:- storm-network- mynetnetworks:storm-network:mynet:external: true

(2)接着创建文件:storm.yaml,代码如下

cd /export/server/stormdocker/
vi storm.yaml 

storm.yaml内容如下:

storm.zookeeper.servers:- "zk_server1"- "zk_server2"- "zk_server3"# Nimbus 种子节点列表,用于集群中的其他守护进程发现 Nimbus
nimbus.seeds:- "nimbus"# Storm 日志目录
storm.log.dir: "/logs"# Storm 本地存储目录
storm.local.dir: "/data"# 消息总线服务的主机名
mbus.host: "nimbus"# Nimbus 服务的 Thrift 端口
nimbus.thrift.port: 6627

(3)启动docker,然后启动zookeeper.yml,然后启动one_storm.yml,再利用docker cp 代码进行相关操作

cd /export/server/
systemctl start docker
docker network create --driver bridge --subnet=172.168.0.0/16 --gateway=172.168.1.1 mynet
docker-compose -f zookeeper.yml up -d
docker-compose -f one_storm.yml up -d
docker cp /export/server/stormdocker/storm.yaml nimbus:/conf/storm.yaml
docker cp /export/server/stormdocker/storm.yaml supervisor:/conf/storm.yaml
docker cp /export/server/stormdocker/storm.yaml ui:/conf/storm.yaml
docker restart nimbus
docker restart ui
docker restart supervisor

 

(4)最后进入网页 主机号:8080查看

我的主机号是192.168.88.101

192.168.88.101:8080

效果如下(网页要一直点刷新按钮,等一会儿才能够进去)

 (5)退出代码

cd /export/server/
docker-compose -f one_storm.yml down
docker-compose -f zookeeper.yml down

 

3.storm集群配置

准备好相关文件:many_storm.yml,storm.yaml

(1)首先创建文件many_storm.yml,代码如下

cd /export/server/
vi many_storm.yml

many_storm.yml的内容如下

version: '3'
services:nimbus1:image: stormrestart: alwayscommand: storm nimbuscontainer_name: nimbus1environment:STORM_ZOOKEEPER_SERVERS: "zk_server1:2181,zk_server2:2181,zk_server3:2181"ports:- "6627:6627"networks:- storm-network- mynetvolumes:- /export/server/allstorm/storm.yaml:/conf/storm.yamlsupervisor1:image: stormrestart: alwayscommand: storm supervisorcontainer_name: supervisor1depends_on:- nimbus1environment:STORM_ZOOKEEPER_SERVERS: "zk_server1:2181,zk_server2:2181,zk_server3:2181"STORM_NIMBUS_HOST: "nimbus1"links:- nimbus1:nimbus1ports:- "6700:6700"- "6701:6701"- "6702:6702"- "6703:6703"networks:- storm-network- mynetvolumes:- /export/server/allstorm/storm.yaml:/conf/storm.yamlui1:image: stormrestart: alwayscommand: storm uicontainer_name: ui1depends_on:- nimbus1environment:STORM_ZOOKEEPER_SERVERS: "zk_server1:2181,zk_server2:2181,zk_server3:2181"STORM_NIMBUS_HOST: "nimbus1"links:- nimbus1:nimbus1ports:- "8080:8080"networks:- storm-network- mynetvolumes:- /export/server/allstorm/storm.yaml:/conf/storm.yamlnimbus2:image: stormrestart: alwayscommand: storm nimbuscontainer_name: nimbus2environment:STORM_ZOOKEEPER_SERVERS: "zk_server1:2181,zk_server2:2181,zk_server3:2181"STORM_NIMBUS_HOST: "nimbus1"networks:- storm-network- mynetvolumes:- /export/server/allstorm/storm.yaml:/conf/storm.yamlsupervisor2:image: stormrestart: alwayscommand: storm supervisorcontainer_name: supervisor2depends_on:- nimbus2environment:STORM_ZOOKEEPER_SERVERS: "zk_server1:2181,zk_server2:2181,zk_server3:2181"STORM_NIMBUS_HOST: "nimbus1"links:- nimbus2:nimbus2ports:- "6704:6700"- "6705:6701"- "6706:6702"- "6707:6703"networks:- storm-network- mynetvolumes:- /export/server/allstorm/storm.yaml:/conf/storm.yamlnimbus3:image: stormrestart: alwayscommand: storm nimbuscontainer_name: nimbus3environment:STORM_ZOOKEEPER_SERVERS: "zk_server1:2181,zk_server2:2181,zk_server3:2181"STORM_NIMBUS_HOST: "nimbus1"networks:- storm-network- mynetvolumes:- /export/server/allstorm/storm.yaml:/apache-2.7.1/conf/storm.yamlsupervisor3:image: stormrestart: alwayscommand: storm supervisorcontainer_name: supervisor3depends_on:- nimbus3environment:STORM_ZOOKEEPER_SERVERS: "zk_server1:2181,zk_server2:2181,zk_server3:2181"STORM_NIMBUS_HOST: "nimbus1"links:- nimbus3:nimbus3ports:- "6708:6700"- "6709:6701"- "6710:6702"- "6711:6703"networks:- storm-network- mynetvolumes:- /export/server/allstorm/storm.yaml:/conf/storm.yamlnetworks:storm-network:mynet:external: true

(2)接着创建文件:storm.yaml,代码如下

cd /export/server/allstorm/
vi storm.yaml 

storm.yaml内容如下:

storm.zookeeper.port: 2181# Zookeeper 服务器列表
storm.zookeeper.servers:- "zk_server1"- "zk_server2"- "zk_server3"# Nimbus 种子节点列表,用于集群中的其他守护进程发现 Nimbus
nimbus.seeds:- "nimbus1"- "nimbus2"- "nimbus3"# Storm 日志目录
storm.log.dir: "/logs"# Storm 本地存储目录
storm.local.dir: "/data"# 消息总线服务的主机名
mbus.host: "nimbus1"# Nimbus 服务的 Thrift 端口
nimbus.thrift.port: 6627ui:host: 0.0.0.0port: 8080supervisor.slots.ports:- 6700- 6701- 6702- 6703

(3)启动docker,然后启动zookeeper.yml,然后启动many_storm.yml,

确保网络mynet已经存在

可以通过命令查看

docker network ls

546540d18c2d   mynet                  bridge    local

如果没有就要输入以下代码创建网络mynet

docker network create --driver bridge --subnet=172.168.0.0/16 --gateway=172.168.1.1 mynet

创建好了网络mynet后 

如果docker没有启动的话

systemctl start docker

 启动集群

cd /export/server/
docker-compose -f zookeeper.yml up -d
docker-compose -f many_storm.yml up -d

 

(4)最后进入网页 主机号:8080查看

我的主机号是192.168.88.101

192.168.88.101:8080

 (5)退出代码

cd /export/server/
docker-compose -f many_storm.yml down
docker-compose -f zookeeper.yml down

 

4.案例实现(敬请期待......)

好了,到了这里配置基本上就OK了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/64875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端开发 之 12个鼠标交互特效下【附完整源码】

前端开发 之 12个鼠标交互特效下【附完整源码】 文章目录 前端开发 之 12个鼠标交互特效下【附完整源码】七:粒子烟花绽放特效1.效果展示2.HTML完整代码 八:彩球释放特效1.效果展示2.HTML完整代码 九:雨滴掉落特效1.效果展示2.HTML完整代码 十…

Java设计模式 —— 【结构型模式】外观模式详解

文章目录 概述结构案例实现优缺点 概述 外观模式又名门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体的细节,这…

基于Springboot + vue实现的汽车资讯网站

🥂(❁◡❁)您的点赞👍➕评论📝➕收藏⭐是作者创作的最大动力🤞 💖📕🎉🔥 支持我:点赞👍收藏⭐️留言📝欢迎留言讨论 🔥🔥&…

Html:点击图标链接发起QQ临时会话

我们在做前端开发的时候&#xff0c;会遇到用户需要点击一个图标可以发起QQ临时会话&#xff0c;这样不用添加好友也能沟通的&#xff0c;那我们就来看看如何实现这个功能&#xff1a; <a href"http://wpa.qq.com/msgrd?v3&uin你的QQ号码&siteqq&menuyes…

echarts画风向杆

1.安装echarts 2.引入echarts 4.获取数据&#xff0c;转换数据格式 windProfile.title.text ${moment(time.searchTime[0], ‘YYYY-MM-DD HH:mm:ss’).format( ‘YYYY-MM-DD HH:mm’ )}-${moment(time.searchTime[1], ‘YYYY-MM-DD HH:mm:ss’).format(‘YYYY-MM-DD HH:mm’)…

Linux系统编程——理解系统内核中的信号捕获

目录 一、sigaction() 使用 信号捕捉技巧 二、可重入函数 三、volatile关键字 四、SIGCHLD信号 在信号这一篇中我们已经学习到了一种信号捕捉的调用接口&#xff1a;signal(),为了深入理解操作系统内核中的信号捕获机制&#xff0c;我们今天再来看一个接口&#xff1a;si…

IEC104 协议 | 规约帧格式 / 规约调试

注&#xff1a;本文为 “ IEC104 协议” 相关文章合辑。 未整理去重&#xff0c;如有内容异常请看原文。 图片清晰度限于引文原状。 从零开始理解 IEC104 协议之一 ——104 规约帧格式 洪城小电工 IP 属地&#xff1a;江西 2020.06.10 00:30:54 前言 本文根据相关标准、本…

WPS如何快速将数字金额批量转换成中文大写金额,其实非常简单

大家好&#xff0c;我是小鱼。 在日常的工作中经常会遇到需要使用金额大写的情况&#xff0c;比如说签订业务合同时一般都会标注大写金额&#xff0c;这样是为了安全和防止串改。但是很多人也许不太熟悉金额大写的方法和习惯&#xff0c;其它没有关系&#xff0c;我们在用WPS制…

针对超大规模病理图像分析!华中科技大学提出医学图像分割模型,提高干燥综合征诊断准确性

口干、眼干、皮肤干&#xff0c;每天伴有不明原因的肌肉酸痛和全身乏力&#xff0c;如果以上症状你「中招」了&#xff0c;除了考虑冬季天气干燥外&#xff0c;还应该警惕一种常见却总是被我们忽视的疾病——干燥综合征 (Sjgren’s Syndrome, SS)。 干燥综合征是以外分泌腺高度…

本地部署 LLaMA-Factory

本地部署 LLaMA-Factory 1. 本地部署 LLaMA-Factory2. 下载模型3. 微调模型3-1. 下载数据集3-2. 配置参数3-3. 启动微调3-4. 模型评估3-5. 模型对话 1. 本地部署 LLaMA-Factory 下载代码&#xff0c; git clone https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Facto…

[创业之路-199]:《华为战略管理法-DSTE实战体系》- 3 - 价值转移理论与利润区理论

目录 一、价值转移理论 1.1. 什么是价值&#xff1f; 1.2. 什么价值创造 &#xff08;1&#xff09;、定义 &#xff08;2&#xff09;、影响价值创造的因素 &#xff08;3&#xff09;、价值创造的三个过程 &#xff08;4&#xff09;、价值创造的实践 &#xff08;5&…

ASP.NET |日常开发中定时任务详解

ASP.NET &#xff5c;日常开发中定时任务详解 前言一、定时任务的概念与用途1.1 定义1.2 应用场景 二、在ASP.NET中实现定时任务的方式2.1 使用System.Timers.Timer2.2 使用Quartz.NET 三、定时任务的部署与管理3.1 部署考虑因素3.2 管理与监控 结束语优质源码分享 ASP.NET &am…

【unity】【游戏开发】Unity项目一运行就蓝屏报Watch Dog Timeout

【背景】 由于是蓝屏所以没法截屏&#xff0c;总之今天遇到了一开Unity&#xff0c;过一阵就蓝屏的情况&#xff0c;报Watch Dog Timeout。 【分析】 通过任务管理器查看&#xff0c;发现Unity占用率100%&#xff0c;再观察Unity内部&#xff0c;每次右下角出现一个Global I…

如何从 0 到 1 ,打造全新一代分布式数据架构

导读&#xff1a;本文从 DIKW&#xff08;数据、信息、知识、智慧&#xff09; 模型视角出发&#xff0c;探讨数字世界中数据的重要性问题。接着站在业务视角&#xff0c;讨论了在不断满足业务诉求&#xff08;特别是 AI 需求&#xff09;的过程中&#xff0c;数据系统是如何一…

java全栈day20--Web后端实战(Mybatis基础2)

一、Mybatis基础 1.1辅助配置 配置 SQL 提示。 默认在 mybatis 中编写 SQL 语句是不识别的。可以做如下配置&#xff1a; 现在就有sql提示了 新的问题 产生原因&#xff1a; Idea 和数据库没有建立连接&#xff0c;不识别表信息 解决方式&#xff1a;在 Idea 中配置 MySQL 数…

深度学习每周学习总结J9(Inception V3 算法实战与解析 - 天气识别)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 目录 0. 总结Inception V1 简介Inception V3 简介1. 设置GPU2. 导入数据及处理部分3. 划分数据集4. 模型构建部分5. 设置超参数&#xff1…

重温设计模式--中介者模式

中介者模式介绍 定义&#xff1a;中介者模式是一种行为设计模式&#xff0c;它通过引入一个中介者对象来封装一系列对象之间的交互。中介者使得各个对象之间不需要显式地相互引用&#xff0c;从而降低了它们之间的耦合度&#xff0c;并且可以更方便地对它们的交互进行管理和协调…

【开源库 | xlsxio】C/C++读写.xlsx文件,xlsxio 在 Linux(Ubuntu18.04)的编译、交叉编译

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a; 2024-12-20 …

NACA四位数字翼型

NACA四位数字翼型&#xff0c;以NACA 2412为例 第一位数字2 —相对弯度 第二位数字4 —相对弯度所有位置&#xff08;单位化后的&#xff09; 最末两位数字12 —相对厚度 所有NACA四位数字翼型的&#xff08;相对厚度所在的位置&#xff09;

DataX与DataX-Web安装与使用

DataX github地址&#xff1a;DataX/introduction.md at master alibaba/DataX GitHub 环境准备 Linux环境系统 JDK&#xff08;1.8及其以上版本&#xff0c;推荐1.8&#xff09; Python&#xff08;2或者3都可以&#xff09; Apache Maven 3.x&#xff08;源码编译安装…