storm1.2.2集群搭建

storm是一个流式并行计算框架,该框架的特点流式处理,尽可能快地处理数据,所以一般被应用在需要实时得出结果的场景。对于一个jar包提交上去的任务对应其内部一整个流程,称为topology,而一个topology里的编程模型有两种组件:

  • spout 负责接收外部数据,下发到blot组件
  • blot 一种是ack的blot,负责处理错误数据,执行重发机制;另一种就是需要我们实现的业务blot,用于接收spout下发的数据,并进行业务处理,处理完毕可以接下一个blot继续处理业务,也可以将数据存储到持久层。

storm框架也有主从节点,主节点成为nimbus,负责唤醒supervisor节点,而从节点称为supervisor,负责提交jar包,并启动设定好的work数量,而一个work就是一个执行任务,负责执行jar包上的程序。

搭建流程

  1. 首先需要有zookeeper集群,并启动集群才能将supervisor节点联系在一起
  2. 配置storm文件,启动storm集群
  3. 编写storm代码,提交jar包到集群上执行

搭建步骤

  1. 下载storm安装包住,这里我使用的是storm-1.2.2版本:
    storm1.2.2

  2. 解压storm安装包

    tail -zxvf apache-storm-1.2.2.tar.gz -C /usr/local
    
  3. 修改storm安装路径

    mv /usr/local/apache-storm-1.2.2  /usr/local/storm
    
  4. 修改storm文件配置

    vi storm.yaml
    
    • storm.yaml配置文件信息如下:
    #指定storm使用的zk集群
    storm.zookeeper.servers:
         - "hadoop1"
         - "hadoop2"
         - "hadoop3"
         - "hadoop4"
    #指定storm本地状态保存地址
    storm.local.dir: "/usr/local/storm/workdir"
    #指定storm集群中的nimbus节点所在的服务器
    nimbus.host: "hadoop1"
    #指定nimbus启动JVM最大可用内存大小
    nimbus.childopts: "-Xmx1024m"
    #指定supervisor启动JVM最大可用内存大小
    supervisor.childopts: "-Xmx1024m"
    #指定supervisor节点上,每个worker启动JVM最大可用内存大小
    worker.childopts: "-Xmx768m"
    #指定ui启动JVM最大可用内存大小,ui服务一般与nimbus同在一个节点上。
    ui.childopts: "-Xmx768m"
    #指定supervisor节点上,启动worker时对应的端口号,每个端口对应槽,每个槽位对应一个worker
    supervisor.slots.ports:
        - 6700
        - 6701
        - 6702
        - 6703
    
    
    配置文件注意要点:
    1. storm.zookeeper.servers 配置需要集群的storm机器主机名或ip
    2. storm.local.dir 尽量配置在storm安装目录中,以便分发都其他机器上
    3. nimbus.host 根据自己需要配置一台机器作为storm的nimbus节点
    4. supervisor.slots.ports 配置多个supervisor启动worker的端口,用来建立supervisor与worker的通讯
  5. 创建一个保存storm的主从节点以及blot组件状态信息的工作目录

    mkdir -p /usr/local/storm/workdir
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值