当前位置: 首页 > news >正文

Centos7搭建Apache Storm 集群运行环境

文章目录

    • 1. 安装 Java
    • 2. 下载并解压 Storm
    • 3. 配置环境变量
    • 4. 配置 ZooKeeper
    • 5. 配置 Storm
      • storm.yaml
      • 自定义 `storm.yaml`
      • storm-env.sh
      • logback/cluster.xml
    • 6. 启动 Storm 集群
    • 7. 验证

在这里插入图片描述

1. 安装 Java

Storm 运行在 Java 平台上,因此需要先安装 Java。你可以使用以下命令安装 OpenJDK 8:

sudo yum install java-1.8.0-openjdk

2. 下载并解压 Storm

你可以从 Storm 的官方网站下载 Storm。在本教程中,我们将使用 Storm 2.2.0 版本。你可以使用以下命令下载 Storm:

wget https://archive.apache.org/dist/storm/apache-storm-2.2.0/apache-storm-2.2.0.tar.gz

下载完成后,你可以使用以下命令解压 Storm:

tar -xvf apache-storm-2.2.0.tar.gz

解压完成后,你可以将 Storm 移动到 /usr/local 目录下:

sudo mv apache-storm-2.2.0 /usr/local/

3. 配置环境变量

为了方便使用 Storm,你需要设置一些环境变量。首先,你需要打开 /etc/profile 文件:

sudo nano /etc/profile

在文件的末尾添加以下内容:

export STORM_HOME=/usr/local/apache-storm-2.2.0
export PATH=$PATH:$STORM_HOME/bin

保存后,使用以下命令使环境变量生效:

source /etc/profile

4. 配置 ZooKeeper

Storm 需要使用 ZooKeeper 来协调集群中的节点。你可以使用以下命令安装 ZooKeeper:

sudo yum install zookeeper

安装完成后,你需要启动 ZooKeeper 服务:

sudo systemctl start zookeeper

为了让 ZooKeeper 服务在系统启动时自动启动,你可以使用以下命令将其添加到系统服务中:

sudo systemctl enable zookeeper

5. 配置 Storm

Storm 的配置文件位于 $STORM_HOME/conf 目录下。你可以使用以下命令进入该目录:

cd $STORM_HOME/conf

在该目录下,有三个文件需要进行配置:

storm.yaml

该文件是 Storm 的主要配置文件,你可以使用以下命令创建该文件:

sudo cp storm.yaml.example storm.yaml

然后使用以下命令打开该文件:

sudo nano storm.yaml

在文件中添加以下内容:

storm.zookeeper.servers:- "localhost"nimbus.seeds: ["localhost"]storm.local.hostname: "localhost"

自定义 storm.yaml

一般我们只需要配置上面的就ok了,如果你想自定义一些参数可以参考下面的,我加了注释方便于你理解。

# 配置 ZooKeeper 服务器地址
storm.zookeeper.servers:- "localhost"# 指定 Storm 集群所使用的本地目录
storm.local.dir: "/mnt/storm"# 指定 Nimbus 的种子节点地址
nimbus.seeds: ["localhost"]# 指定 Storm 使用的 Thrift 传输插件
storm.thrift.transport: "org.apache.storm.security.auth.SimpleTransportPlugin"# 指定 Storm 使用的消息传输插件
storm.messaging.transport: "org.apache.storm.messaging.netty.Context"# 指定 Storm 消息服务器使用的工作线程数
storm.messaging.netty.server_worker_threads: 1# 指定 Storm 消息客户端使用的工作线程数
storm.messaging.netty.client_worker_threads: 1# 指定 Storm 消息缓冲区的大小
storm.messaging.netty.buffer_size: 1024# 指定 Storm 消息传输失败时的最大重试次数
storm.messaging.netty.max_retries: 10# 指定 Storm 消息传输重试时的最大等待时间
storm.messaging.netty.max_wait_ms: 1000# 指定 Storm 消息传输重试时的最小等待时间
storm.messaging.netty.min_wait_ms: 100

storm-env.sh

该文件是 Storm 的环境变量配置文件,你可以使用以下命令创建该文件:

sudo cp storm-env.sh.example storm-env.sh

然后使用以下命令打开该文件:

sudo nano storm-env.sh

在文件中添加以下内容:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

上述配置将 Java 的安装路径设置为 /usr/lib/jvm/java-1.8.0-openjdk

logback/cluster.xml

该文件是 Storm 的日志配置文件,你可以使用以下命令打开该文件:

sudo nano logback/cluster.xml

找到以下内容:

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${storm.log.dir}/nimbus.log</file><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${storm.log.dir}/nimbus.log.%d{yyyy-MM-dd-HH}</fileNamePattern><maxHistory>30</maxHistory></rollingPolicy><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger{36} - %msg%n</pattern></encoder>
</appender>

将其中的 ${storm.log.dir} 替换为 /var/log/storm,这样 Storm 的日志将会被记录在 /var/log/storm/nimbus.log 文件中。

6. 启动 Storm 集群

在完成以上配置后,你可以使用以下命令启动 Storm 集群:
启动了 Nimbus、Supervisor 和 UI 三个进程。& 符号表示将进程放到后台运行。

storm nimbus &
storm supervisor &
storm ui &

7. 验证

已经成功地在 CentOS 7 上安装和配置了 Storm 环境,并启动了 Storm 集群。可以访问 http://localhost:8080/ 来查看 Storm UI
在这里插入图片描述

相关文章:

Centos7搭建Apache Storm 集群运行环境

文章目录 1. 安装 Java2. 下载并解压 Storm3. 配置环境变量4. 配置 ZooKeeper5. 配置 Stormstorm.yaml自定义 storm.yamlstorm-env.shlogback/cluster.xml 6. 启动 Storm 集群7. 验证 1. 安装 Java Storm 运行在 Java 平台上&#xff0c;因此需要先安装 Java。你可以使用以下命…...

C语言假期作业 DAY 12

一、选择题 1、请阅读以下程序&#xff0c;其运行结果是&#xff08; &#xff09; int main() { char cA; if(0<c<9) printf("YES"); else printf("NO"); return 0; } A: YES B: NO C: YESNO D: 语句错误 答案解析 正确答案&#xff1a; A 0<c&l…...

2.4在运行时选择线程数量

在运行时选择线程数量 C标准库中对此有所帮助的特性是std::thread::hardware_currency()。这个函数返回一个对于给定程序执行时能够真正并发运行的线程数量的指示。例如&#xff0c;在多核系统上它可能是CPU 核心的数量。它仅仅是一个提示&#xff0c;如果该信息不可用则函数可…...

element-ui中Notification 通知自定义样式、按钮及点击事件

Notification 通知用于悬浮出现在页面角落&#xff0c;显示全局的通知提醒消息。 一、自定义html页面 element-ui官方文档中说明Notification 通知组件的message 属性支持传入 HTML 片段&#xff0c;但是示例只展示了简单的html片段&#xff0c;通常不能满足开发中的更深入需要…...

无头单向非循环单链表、带头双向循环链表

文章内容 1. 链表的概念及结构 2. 链表的分类 3.链表实现 4.代码 文章目录 1. 链表的概念及结构 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表 中的指针链接次序实现的 。 现实中 数据结构中 链表和顺序表…...

UE4/5C++多线程插件制作(二十、源码)

目录 头文件 MultiThreadPlugins.uplugin MultiThreadPlugins.Build.cs MultiThreadPlugins.h MTPPlatform.h MTPManage.h RTPAgendy.h MTPThreadTaskManage.h...

构建稳健的PostgreSQL数据库:备份、恢复与灾难恢复策略

在当今数字化时代&#xff0c;数据成为企业最宝贵的资产之一。而数据库是存储、管理和保护这些数据的核心。PostgreSQL&#xff0c;作为一个强大的开源关系型数据库管理系统&#xff0c;被广泛用于各种企业和应用场景。然而&#xff0c;即使使用了最强大的数据库系统&#xff0…...

查看本地mysql账号密码

使用Navicat工具打开本地mysql&#xff0c;新建查询输入下面查询语句 SELECT user, authentication_string FROM mysql.user WHERE userroot将authentication_string 中的加密密码复制出来打开链接&#xff1a; Magic Data 5输入加密的密码&#xff0c;和验证码&#xff0c;点…...

数据结构:顺序表详解

数据结构&#xff1a;顺序表详解 一、 线性表二、 顺序表概念及结构1. 静态顺序表&#xff1a;使用定长数组存储元素。2. 动态顺序表&#xff1a;使用动态开辟的数组存储。三、接口实现1. 创建2. 初始化3. 扩容4. 打印5. 销毁6. 尾插7. 尾删8. 头插9. 头删10. 插入任意位置数据…...

采集数据筛选-过滤不要数据或只保留指定数据

采集文章数据&#xff0c;有时候会遇到一些不需要采集的数据&#xff0c;或者只想采集一些特定的数据&#xff0c;可以使用简数采集器的内容过滤功能&#xff0c;对采集的数据进行筛选&#xff0c;只有符合的数据才采集保留。 可以用于过滤掉一些广告、专题、网站首页等无效数…...

RISC-V基础指令之shift移动指令slli、srli、srai、sll、srl、sra

RISC-V的shift指令是用于对一个寄存器或一个立即数进行位移运算&#xff0c;并将结果存放在另一个寄存器中的指令。位移运算就是把一个操作数的每一位向左或向右移动一定的位数&#xff0c;得到一个新的位。RISC-V的shift指令有以下几种&#xff1a; slli&#xff1a;左逻辑位…...

【沁恒蓝牙mesh】CH58x flash分区与数据存储管理

本文主要介绍了 沁恒蓝牙芯片 CH58x 的flash 分区与数据存储管理 &#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是喜欢记录零碎知识点的小菜鸟。&#x1f60e;&#x1f4dd; 个人主页&#xff1a;欢迎访问我的 Ethernet_Comm 博客主页&…...

Ctfshow web入门 JWT篇 web345-web350 详细题解 全

CTFshow JWT web345 先看题目&#xff0c;提示admin。 抓个包看看看。 好吧我不装了&#xff0c;其实我知道是JWT。直接开做。 在jwt.io转换后&#xff0c;发现不存在第三部分的签证&#xff0c;也就不需要知道密钥。 全称是JSON Web Token。 通俗地说&#xff0c;JWT的本质…...

2023年国家留学基金委(CSC)青年骨干教师项目即将开始申报

国家留学基金委&#xff08;以下简称CSC&#xff09;的青年骨干教师出国研修项目&#xff08;即高校合作项目&#xff09;&#xff0c;将于2023年9月10-25日进行网上报名及申请受理。知识人网小编特提醒申请者注意流程及政策&#xff0c;以防错过申报时间。 青年骨干教师项目&a…...

GC垃圾回收器【入门笔记】

GC&#xff1a;Garbage Collectors 垃圾回收器 C/C&#xff0c;手动回收内存&#xff1b;难调试、门槛高。忘记回收、多次回收等问题 Java、Golang等&#xff0c;有垃圾回收器&#xff1a;自动回收&#xff0c;技术门槛降低 一、如何定位垃圾&#xff1f; https://www.infoq.c…...

在 React 中渲染大型数据集的 3 种方法

随着 Web 应用程序变得越来越复杂&#xff0c;我们需要找到有效的方法来优化性能和渲染大型数据集。在 React 应用程序中处理大型数据集时&#xff0c;一次呈现所有数据可能会导致性能不佳和加载时间变慢。 虚拟化是一种通过一次仅呈现数据集的一部分来解决此问题的技术&#…...

uniapp iOS 消息推送扩展:后台/杀死app进程状态能语音播报

文章目录 引言I 前期准备1.1 配置扩展1.2 测试报文II iOS Extension(扩展)2.1 插件作者配置2.2 插件使用者配置see also引言 HBuilderX3.1.5+版本uni原生插件支持iOS Extension(扩展)。 消息推送离线语音播报插件获取方式: 公z号:iOS逆向: 离线包x10, 源码是x15。 实…...

批量创建可配置物料参数文件

启用可配置物料之后&#xff0c;每次创建新的物料需要通过CU41创建可配置物料&#xff0c;没找大批量创建的程序&#xff0c;所以SHDB录屏搞了一个代码。 前提&#xff1a;物料主数据初始化通过程序导入时&#xff0c;可配置物料参数文件已按照物料代码赋值。 ​效果&#xf…...

性能压力测试的重要性与实施方法

性能压力测试是在软件开发过程中评估系统在不同负载条件下的表现和稳定性的关键步骤。这种测试是为了确定系统在正常和峰值负载下的性能表现&#xff0c;以验证系统是否能够满足用户需求&#xff0c;同时发现潜在的性能问题并加以解决。 首先&#xff0c;性能压力测试对于确保系…...

HCIP入门静态实验

题目及要求 第一步&#xff1a;拓扑的搭建 第二步&#xff1a;路由、IP的配置 r1: <Huawei>sys Enter system view, return user view with CtrlZ. [Huawei]sys r1 [r1]int loop [r1]int LoopBack 0 [r1-LoopBack0]ip add 192.168.1.65 27 [r1-LoopBack0]int loop 1 […...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

二维FDTD算法仿真

二维FDTD算法仿真&#xff0c;并带完全匹配层&#xff0c;输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...

《Offer来了:Java面试核心知识点精讲》大纲

文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...

渗透实战PortSwigger Labs指南:自定义标签XSS和SVG XSS利用

阻止除自定义标签之外的所有标签 先输入一些标签测试&#xff0c;说是全部标签都被禁了 除了自定义的 自定义<my-tag onmouseoveralert(xss)> <my-tag idx onfocusalert(document.cookie) tabindex1> onfocus 当元素获得焦点时&#xff08;如通过点击或键盘导航&…...

比较数据迁移后MySQL数据库和ClickHouse数据仓库中的表

设计一个MySQL数据库和Clickhouse数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

Yolo11改进策略:Block改进|FCM,特征互补映射模块|AAAI 2025|即插即用

1 论文信息 FBRT-YOLO&#xff08;Faster and Better for Real-Time Aerial Image Detection&#xff09;是由北京理工大学团队提出的专用于航拍图像实时目标检测的创新框架&#xff0c;发表于AAAI 2025。论文针对航拍场景中小目标检测的核心难题展开研究&#xff0c;重点解决…...

2025年上海市“星光计划”第十一届职业院校技能大赛 网络安全赛项技能操作模块样题

2025年上海市“星光计划”第十一届职业院校技能大赛 网络安全赛项技能操作模块样题 &#xff08;二&#xff09;模块 A&#xff1a;安全事件响应、网络安全数据取证、应用安全、系统安全任务一&#xff1a;漏洞扫描与利用:任务二&#xff1a;Windows 操作系统渗透测试 :任务三&…...