Storm所学知识梳理

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/xie_rui/article/details/102723799

题外:算法中的一种排序方式 拓扑排序

一:Strom在虚拟机的安装

Strom配置

1:下载解压安装包  

2:修改配置文件

(Strom的配置文件在/root/apps/storm-1.2.2/conf/storm.yaml)

storm.zookeeper.servers:
     - "hdp-1"
     - "hdp-2"
     - "hdp-3"
storm.local.dir: "/root/stormdata"
nimbus.seeds: ["hdp-1"]
supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703 

    配置环境变量:cd /etc/profile 加入STROM_HOME 和strom的bin路径

export KAFKA_HOME=/root/apps/kafka_2.12-2.2.0
export PATH=$PATH:$STORM_HOME/bin

要注意配置完环境变量,需要更新文件 指令是:source /etc/profile

3把配置分发到其它机器(这里是以脚本方式,把环境变量发送到其他机器并且创建stromdata文件用来存放Strom产生的数据)

    脚本创建stromdata   

          创建脚本 test 加入以下代码  增加可执行权限  chmod 777 test或者是chmod +x test

#!/bin/bash
for host in hdp-2 hdp-3 hdp-4
do
ssh ${host} "mkdir /root/stormdata"
done

   脚本发送profile

#!/bin/bash
for host in hdp-2 hdp-3 hdp-4
do
scp /etc/profile ${host}:/etc
done

  把配置好的Strom拷贝到其他机器:例把strom 从hdp-1拷贝到hdp-4的apps下

scp -r strom hdp-4:apps

Storm在集群的运行(要注意的是Strom和kafka一样,都依赖于zookeeper,所以在启动Strom前,要先启动zookeeper)

##启动nimbus
storm nimbus >/dev/null 2>&1 &
##启动supervisor
storm supervisor >/dev/null 2>&1 &
##启动core
storm ui &

##成功标志 输入jps查询
[root@hdp-1 bin]# jps
1760 core
1462 QuorumPeerMain
1656 Supervisor
1867 Jps
1500 nimbus
##注意为什么是 core不显示启动语句中的ui 是因为版本太低

在网页上输入hdp-1:8080  出现以下页面

Strom中的一些组件概念

   Nimbus:Strom的Master,负责资源分配和任务调度。一个集群只有一个Nimbus

   Supervisor:Strom的Slave,负责接收Nimbus分配的任务,管理所有Workers(工作进程),一个Supervisor节点中可以包含多个worker进程

   Worker:工作进程,每个工作进程中都有多个Task(任务)

   Task:任务,在Strom集群中每个Spout和Bolt都有若干个任务(Tasks)来执行。每个任务都与一个执行线程相对应。

   parallelism:拓扑的并行度

   Topology:计算拓扑(可提前理解一下拓扑算法)

                   Storm的拓扑是对实时计算计算应用逻辑的封装,作用与MapReduce的任务(job)相似,区别在于MapReduce的一个job在得到结果之后总会结束,而拓扑会一直在集群中运行,直到手动去终止它。另外一种理解是由一系列通过数据流(Stream Grouping)相互关联的Spout和Bolt组成的拓扑结构

未完

    

猜你喜欢

转载自blog.csdn.net/xie_rui/article/details/102723799
今日推荐