storm概述、集群安装和简单的命令行操作

http://storm.apache.org

Apache Storm是一个免费的开源分布式实时计算系统。Storm可以轻松可靠地处理无限数据流,实现Hadoop对批处理所做的实时处理。Storm非常简单,可以与任何编程语言一起使用,并且使用起 来很有趣!

Storm有许多用例:实时分析,在线机器学习,连续计算,分布式RPC,ETL等。风暴很快:一个基准测试表示每个节点每秒处理超过一百万个元组。它具有可扩展性,容错性,可确保您的数据得到处 理,并且易于设置和操作。

Storm集成了您已经使用的排队和数据库技术。
Storm拓扑消耗数据流并以任意复杂的方式处理这些流,然后在计算的每个阶段之间重新划分流。阅读教程中的更多内容。

离线计算是什么?
    批量获取数据、批量的传输数据、批量的存储数据、周期性计算数据、数据可视化
    flume批量获取数据、sqoop批量传输、hdfs/hive/hbase批量存储、mr/hive计算数据、BI
    
实时计算是什么?
    数据实时产生、数据实时传输、数据实时计算、实时展示 flume实时获取数据、kafka实时数据存储、Storm/JStorm实时计算、实时展示(dataV/quickBI)


        hadoop             storm
角色:    JobTracker        Nimbus
        TaskTracker        Supervisor
        Child             Worker
应用名称: Job             Topology 
编程接口:    Mapper/Reducer     Spout/Bolt

storm编程模型
    tuple:元祖
        是消息传输的基本单位
    Spout:水龙头
        storm的核心抽象,拓扑的流的来源。Spout通常从外部数据源读取数据。转换为拓扑内部的源数据。

        主要方法:nextTuple() 发出一个新的元祖到拓扑
                ack()    
                fail()    

    Bolt:转接头
        Bolt是对流的处理节点。Bolt作用:过滤、业务、连接运算。

    Topology:拓扑
        是一个实时的应用程序
        永远运行,除非被杀死。
        Spout到Bolt是一个连接流。。。

安装集群

    1、准备工作
    2、下载安装包
    3、上传
    4、解压
    5、配置
        vi storm.yaml

        storm.zookeeper.servers:
             - "bigdata"
        #     - "server2"
        # 设置主节点的主机名称
        nimbus.seeds: ["bigdata"]

        storm.local.dir: "/Library/bigdata/apache-storm-1.0.3/tmp"

        supervisor.slots.ports:
            - 6700
            - 6701
            - 6702
            - 6703
    6、启动
        zkServer.sh start
        storm nimbus &
        storm supervisor &
        storm ui

storm命令行操作
    1、查看命令帮助
        storm help
    2、查看版本
        storm version
    3、运行storm程序
        storm jar [路径/.jar][全类名][拓扑名称]
    4、产看当前正在运行拓扑及其状态
        storm list
    5、终止拓扑程序
        storm kill [拓扑名称]
    6、激活指定的拓扑程序
        storm activate [拓扑名称]
    7、禁止拓扑程序
        storm deactivate [拓扑名称]

猜你喜欢

转载自blog.csdn.net/weixin_42898914/article/details/85221764