Storm个人总结,有兴趣的可以瞅瞅喔。。。。

本文介绍了Storm实时计算框架的基本概念,包括其核心组件如Topology、Spout和Bolt的功能及工作原理。同时,还详细讲解了Storm的可靠性保障措施、集群架构及安装部署流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学习Storm的时候我们先要自己搜点有关Storm的简介,要对它充满好奇感!好了废话不多说,言归正传。

一.Storm是什么?

storm是一个流式实时计算框架。能实现高频[指实时]数据和大规模数据的实时处理
二.Storm的组成有哪些?

Topology 用于封装一个实时计算应用程序的逻辑,类似于Hadoop的MapReduce Job
Stream 消息流,是一个没有边界的tuple序列,这些tuples会被以一种分布式的方式并行地创建和处理
Spouts 消息源,是消息生产者,他会从一个外部源读取数据并向topology里面面发出消息:tuple
Bolts 消息处理者,所有的消息处理逻辑被封装在bolts里面,处理输入的数据流并产生新的输出数据流,可执行过滤,聚合,查询数据库等操作
Task 每一个Spout和Bolt会被当作很多task在整个集群里面执行,每一个task对应到一个线程.
Stream groupings 消息分发策略,定义一个Topology的其中一步是定义每个tuple接受什么样的流作为输入,stream grouping就是用来定义一个stream应该如何分配给Bolts们.

三.storm的可靠性?

第一集群的可靠性:zk保存了Nimbus和多个Supervisor的状态信息,如果宕机可以重启进程或机器再次读取Zk中的状态信息让topology恢复到之前的状态。

第二acker机制:每一个tuple默认都会伴随一个acker线程来保证每一个tuple的发送成功这样可以保证数据的不丢失也可以手动关闭。

四.storm集群:一主多从
主节点:nimbus   
    负责分发代码,分配任务
从节点:supervisor
    生产worker(进程),执行任务

主从节点的状态都维护在zookeeper中

nimbus ---->zookeeper-->supervisor

五.storm的安装步骤
1:先安装zk集群
    192.168.8.115 192.168.8.116 192.168.8.117
2:strom集群
    主节点:192.168.8.117
    从节点:192.168.8.115、116



    修改storm的配置文件
    vi storm/conf/storm.yaml
storm.zookeeper.servers:
    - " 192.168.8.115"
    - "192.168.8.116"
    - "192.168.8.117"
nimbus.host: "192.168.8.117"
storm.local.dir: "/usr/local/storm/tmp"
supervisor.slots.ports:
    - 6700
    - 6701   
    - 6702
    - 6703

注意:storm.zookeeper.servers和nimbus.host是必须要修改的
    storm.local.dir建议修改
    supervisor.slots.ports可选

注意:storm集群中所有节点的基本配置一样

    把170上的storm拷贝到其他节点
    scp -rq storm/ 192.168.1.172:/usr/local/
    scp -rq storm/ 192.168.1.173:/usr/local/

3:启动不同节点的服务
    主节点:192.168.1.171(ui可以在任何节点启动,建议只在主节点启动即可)
        nimbus:nohup bin/storm nimbus >/dev/null 2>&1 &
        ui:nohup bin/storm ui >/dev/null 2>&1 &
            http://192.168.1.171:8080
    从节点:192.168.1.172、173
        supervisor:nohup bin/storm supervisor >/dev/null 2>&1 &
        logviewer:nohup bin/storm logviewer >/dev/null 2>&1 &
        相当于把storm的logs目录中的文件发布成web项目(可以在webui界面直接访问logs目录中的日志)

    注意:如果发现在ui界面无法查询日志,
        1:logviewer进程没启动
        2:从节点的主机名和ip的映射关系没有再本机配置

4:提交一个topology到集群
    提交
    bin/storm jar storm.jar cn.crxy.storm_4.RemoteStormTopology  aaa
    停止:
        1:ui页面做,点击进入topology的明细页面
        2:在命令行中
            bin/storm list :查看storm中的所有topology信息
            bin/storm kill RemoteStormTopology
    注意:提交和停止在所有节点都可以

Netty:是一个数据传输框架,storm中worker之间通信使用的是netty




storm rebalance mytopology -w 10 -n 5 -e blue-spout=3 -e yellow-bolt=10

-w  :waittime
-n :numworker
-e :调整组件使用的线程数量


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值