初识storm

一、strom原理

  • 架构分类
    ①主从架构:简单、高效,但存在单节点故障。(HDFS/yum/storm/Hbase/spack/flink)
    ②对称架构:复杂、效率低,但无单节点故障,更可靠。(zookeeper/kafka等集群都会选举主)
    在这里插入图片描述

2.storm 组件
①Nimbus

  • 接收客户端topo代码,拆分成多个task,将task信息存入zk;

  • 将task分配给Supervisor,将task与Supervisor之间的映射关系写入zk;

  • 故障监控(主要监控Supervisor执行任务的情况)。
    ②Supervisor

  • 从Nimbus目录上获取代码,从zk上读取Nimbus分配给它的task;

  • 启动工作进程work执行任务;

  • 监控运行的工作进程work。
    ③work

  • 从zk上读取分配的task,并计算出task结果后都需要向哪些work提供自己的计算结果;

  • 启动一个或者多个Excutor线程执行任务task。
    ④zk

  • Nimbus与Supervisor之间的通信(分配任务和心跳监控);

  • Supervisor与work之间的通信(分配任务和心跳监控);

  • 实现Nimbus的HA。

二、zk简介

zk是一个开源的分布式协调服务框架。实现各机器服务之间的通信中转。
zk核心功能:
1.文件系统
①/目录先下有许多子目录,每个目录都是一个znode节点。
②znode节点可以直接存储数据。
③每个znode节点都有类型(持久化、顺序持久化、临时、顺序临时)。
2.通知机制
①客户端监听关心的znode节点。
②znode节点有变化(数据改变/删除/子目录添加或删除)时,通知客户端。

三、zk安装配置

zk官网:http://zookeeper.apache.org/
1.从官网下载tar.gz包
2.使用命令 tar -zvxf zookeeper-3.4.5.tar.gz -C /指定安装目录
3.cd conf 目录下 执行 mv zoo_sample.cfg zoo.cfg
配置内容:
①tickTime=2000 是zk集群各节点之间健康检查的心跳时间(单位ms)后面的多数超时时间设置都以其作为基准。
②initLimit=10 是选举leader时最长能忍受多少个心跳时间间隔数,即初始化时可忍受10×2000 = 20000ms 内集群zk节点之间无通讯。
③syncLimit=5 是Leader 与 Follower之间数据同步时,所能忍受的心跳时间间隔数,即同步时间超过5×2000=10000ms 则数据同步失败。
④dataDir=/tmp/zk/data 用于指定存放zk数据的目录(如果目录不存在则需要创建)
⑤dataLogDir=/tmp/zk/log 用于指定存放zk日志的目录(如果目录不存在则需要创建)
⑥clientPort=2181 客户端访问zk的端口号(默认是2181)
4. vi zoo.cfg 增加配置项
server.1=101.181.97.1:2888:3888
server.2=101.181.97.2:2888:3888
server.3=101.181.97.3:2888:3888
其中server后的数字为机器编号(每个编号必须在集群内唯一)(与每台机器上的myid文件中的数字保持一致),等号后即可以是ip地址也可以是主机名称,2888端口用于数据同步,3888端口用于leader选举。
以上所增项需要将zk集群上的每台机器的信息记录到zoo.cfg文件中。
5.在 dataDir 所指定的目录下创建myid文件,vi myid 输入 1(与第4步中的ip地址对应的id号),保存即可。
6.将整个zk安装目录,通过scp命令拷贝到其他节点,如:
scp -r /本机zk安装目录 root@目标机器ip:/目标机器存放目录
7.注意:修改最后拷贝到其它机器上的myid文件中的数值。
8./bin sh zkServer.sh start 启动服务
sh zkServer.sh status 查看服务状态
sh zkCli.sh -server ip1:2181,ip2:2181,ip3:2181 连接查看zk集群信息

备注:如果是通过主机名称配置
①cat /etc/sysconfig/network 中查看
HOSTNAME=主机名称
②cat /etc/hosts 中查看 ip与主机名之间的映射关系
ip1 主机名称1
ip2 主机名称2
ip3 主机名称3
③有时还需要配置/etc/sysconfig/iptables文件
在/etc/sysconfig/iptables中加入:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2181 –j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2888 –j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3888 –j ACCEPT
执行命令:
service iptables stop service iptables start

四、storm安装配置

官网:http://storm.apache.org/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值