StormApplied读书笔记(四) - 18965050/storm-applied GitHub Wiki

Storm Cluster

Storm Cluster由两部分节点组成:

  • Master Node(Nimbus): 只有一个
  • Worker Node(Supervisor): 一个或多个
  • ZooKeeper: 协调Nimbus和Supervisor之间的交互

storm-cluster

storm-zk-cluster

Worker Node内部结构: storm-worker-node

运行Cluster

  • storm脚本使用python编写的, 确保安装python2.7+版本
  • 启动ZooKeeper
  • 修改storm配置文件: $STORM_HOME/conf/storm.yaml:
storm.zookeeper.servers:
     - "localhost"

storm.zookeeper.port: 2181

nimbus.host: "localhost"

storm.local.dir: "/var/lib/storm/workerdir"

upervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703

  • 启动nimbus
bin/storm nimbus
  • 启动supervisor
bin/storm supervisor
  • 打包Topology, 注意采用assembly方式(依赖包也打进来), 运行
bin/storm jar <path-to-topology-jar> <topology-main-class>

在cluster中部署Topology

Storm 配置文件

storm配置文件storm.yaml说明如下: storm配置文件说明