Storm之集群安装

Storm用来实时处理数据,特点:低延迟、高可用、分布式、可扩展、数据不丢失。提供简单容易理解的接口,便于开发。本文讲述在三台主机上安装Storm集群的主要步骤

主要内容:

  • 1.Storm架构图
  • 2.Storm编程模型
  • 3.安装部署
  • 4.测试
  • 5.一键脚本

1.Storm架构图

  • Nimbus:负责资源分配和任务调度。
  • Supervisor:负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程。
  • Worker:运行具体处理组件逻辑的进程。
  • Task:worker中每一个spout/bolt的线程称为一个task. 在storm0.8之后,task不再与物理线程对应,同一个spout/bolt的task可能会共享一个物理线程,该线程称为executor。

2.Storm编程模型

  • Topology:Storm中运行的一个实时应用程序,因为各个组件间的消息流动形成逻辑上的一个拓扑结构。
  • Spout:在一个topology中产生源数据流的组件。通常情况下spout会从外部数据源中读取数据,然后转换为topology内部的源数据。Spout是一个主动的角色,其接口中有个nextTuple()函数,storm框架会不停地调用此函数,用户只要在其中生成源数据即可。
  • Bolt:在一个topology中接受数据然后执行处理的组件。Bolt可以执行过滤、函数操作、合并、写数据库等任何操作。Bolt是一个被动的角色,其接口中有个execute(Tuple input)函数,在接受到消息后会调用此函数,用户可以在其中执行自己想要的操作。

3.安装部署

3.1.集群规划

用户 主机名 ip 进程
hadoop hadoop1 192.168.2.111 Zookeeper、nimbus、core
hadoop hadoop2 192.168.2.112 Zookeeper、Supervisor
hadoop hadoop3 192.168.2.113 Zookeeper、Supervisor

3.2.下载

官网

3.3.解压

tar -zxvf apache-storm-1.2.1.tar.gz -C /opt/soft

3.4.修改配置文件

#指定storm使用的zk集群
storm.zookeeper.servers:
 - "hadoop1"
 - "hadoop2"
 - "hadoop3"

#指定storm集群中的nimbus节点所在的服务器
nimbus.seeds: ["hadoop1"]

#指定supervisor节点上,启动worker时对应的端口号,每个端口对应槽,每个槽位对应一个worker
supervisor.slots.ports:
 - 6700
 - 6701
 - 6702
 - 6703

分发到其它主机

scp -r /opt/soft/apache-storm-1.2.1 hadoop@hadoop2:/opt/soft
scp -r /opt/soft/apache-storm-1.2.1 hadoop@hadoop3:/opt/soft

设置环境变量

export STORM_HOME=/opt/soft/apache-storm-1.2.1/
export PATH=$PATH:$STORM_HOME/bin

3.5.启动

hadoop1 启动nimbus

nohup ./bin/storm nimbus &

hadoop1 启动ui

nohup ./bin/storm ui &

hadoop2、hadoop3 启动 Supervisor

nohup ./bin/storm supervisor &

4.测试

4.1.查看启动状态

通过运行jps命令查看各主机的Strom进程


各主机进程

4.2.通过UI查看

前面我们启动了UI进程,直接访问hadoop1:8080即可查看


Storm的UI界面

4.3.运行WordCount示例

Strom之WordCount

你可能感兴趣的:(Storm之集群安装)