21Storm的主要术语包括Streams,Spouts、Bolts、Topology和Stream Groupings,请分别简要描述这几个术语
1. Streams:Storm将流数据Stream描述成一个无限的Tuple序列,这些Tuple序列会
以分布式的方式并行地创建和处理
2. Storm框架可以方便地与数据库系统进行整合,从而开发出强大的实时计算系统 3. Bolt:Storm将Streams的状态转换过程抽象为Bolt。Bolt即可以处理Tuple,也可以
将处理后的Tuple作为新的Streams发送给其他Bolt
4. Topology:Storm将Spouts和Bolts组成的网络抽象成Topology,它可以被提交到Storm
集群执行。Topology可视为流转换图,图中节点是一个Spout或Bolt,边则表示Bolt订阅了哪个Stream。当Spout或者Bolt发送元组时,它会把元组发送到每个订阅了该Stream的Bolt上进行处理
5. Topology:Storm将Spouts和Bolts组成的网络抽象成Topology,它可以被提交到Storm
集群执行。Topology可视为流转换图,图中节点是一个Spout或Bolt,边则表示Bolt订阅了哪个Stream。当Spout或者Bolt发送元组时,它会把元组发送到每个订阅了该Stream的Bolt上进行处理
22一个Topolog由哪些组件组成?
? Topology里面的每个处理组件(Spout或Bolt)都包含处理逻辑, 而组件之间的连接则表示数据流动的方向
27Storm集群中的Master节点和Work节点各自运行什么后台进程?这些进程又分别负责什么工作?
Storm集群采用“Master—Worker”的节点方式:
Master节点运行名为“Nimbus”的后台程序(类似Hadoop中的“JobTracker”),负责在集群范围内分发代码、为Worker分配任务和监测故障
精选
Worker节点运行名为“Supervisor”的后台程序,负责监听分配给它所在机器的工作,即根据Nimbus分配的任务来决定启动或停止Worker进程,一个Worker节点上同时运行若干个Worker进程
28 试述Zookeeper在Storm框架中的作用
Storm使用Zookeeper来作为分布式协调组件,负责Nimbus和多个Supervisor之间的所有协调工作。借助于Zookeeper,若Nimbus进程或Supervisor进程意外终止,重启时也能读取、恢复之前的状态并继续工作,使得Storm极其稳定
31试述Storm框架的工作流程 Storm的工作流程如下图所示:
1. 提交TopologyNimbus2. 将任务存储在Zookeeper中ClientZookeeperSupervisor3. 获取分配的任务,并启动WorkerWorkerTask4. Worker进程执行具体的任务Task
? 所有Topology任务的提交必须在Storm客户端节点上进行,提交后,由Nimbus节点分配给其他Supervisor节点进行处理
? Nimbus节点首先将提交的Topology进行分片,分成一个个Task,分配给相应的Supervisor,并将Task和Supervisor相关的信息提交到Zookeeper集群上
精选
? Supervisor会去Zookeeper集群上认领自己的Task,通知自己的Worker进程进行Task的处理
? 说明:在提交了一个Topology之后,Storm就会创建Spout/Bolt实例并进行序列化。之后,将序列化的组件发送给所有的任务所在的机器(即Supervisor节点),在每一个任务上反序列化组件
第11章
1、试述BSP模型中的超步的3个组件及具体含义。
答:①局部通信。每个参与的处理器都有自身的计算任务,它们只读取存储在本地内存中的值,不同处理器的计算任务都是异步并且独立的。
②通信。处理器群相互交换数据,交换的形式是,由一方发起推送(Put)和获取(Get)操作
③栅栏同步。当一个处理器遇到“路障”(或栅栏),会等其他所有的处理器完成它们的计算步骤;每一次同步也是一个超步的完成和下一个超步的开始。 2、Pregel为什么选择一种纯消息传递模型? 答:采用这种做法主要基于以下两个原因。
①消息传递具有足够的表达能力,没有必要使用远程读取或共享内存的方式。
②有助于提升系统整体性能。大型图计算通常是由一个集群完成的,集群环境中执行远程数据读取会有较高的时间延迟;Pregel的消息模式采用异步和批量的方式传递消息,因此可以缓解远程 读取的延迟。
4、请简述Aggregator的作用,并以具体Aggregator的作用,并以具体Aggregator的例子做说明。
答:Aggregator提供了一种全局通信、监控和数据查看的机制。Aggregator的聚合功能,允许在整型和字符串类型上执行最大值、最小值、求和操作,比如可以定义一个“Sum”Aggregator来统计每个顶点的出射边数量,最后相加可以得到整个图的边的数量。Aggregator还可以实现全局协同的功能,比如当可以设计“and”Aggregator来决定在某个超步中Compute()函数是否执行某些逻辑分
精选
支,只有当“and”Aggregator显示所有顶点都满足了某条件时,才去执行这些逻辑分支。
6、简述Pregel的执行过程。
答:(1)选择集群中的多台机器执行图计算任务,每台机器上运行用户程序的一个副本,其中,有一台机器会被选为Master,其他机器作为Worker。 (2)Master把一个图分成多个分区,并把分区分配到多个Worker。 (3)Master会把用户输入划分成多个部分,通常是基于文件边界进行划分。 (4)Master向每个Worker发送指令,Worker收到指令后,开始运行一个超步。当完成以后,Worker会通知Master,并把自己在下一个超步还处于“活跃”状态的顶点的数量报告给Master。上述步骤会被不断重复,直到所有顶点都不再活跃并且系统中不会有任何消息在传输,这时,执行过程才会结束。
(5)计算过程结束后,Master会给所有的Worker发送指令,通知每个Worker对自己的计算结果进行持久化存储。 8、试述Worker和Master的作用。
答:Worker的作用:借助于名称服务系统定位到Master的位置,并向Master发送自己的注册信息,Master会为每个Worker分配一个唯一的ID。在一个Worker中,它所管辖的分区状态信息被保存在内存。在每个超步中,Worker会对自己所管辖分区中的每个顶点进行遍历,并调用顶点上的Compute()函数。 Master的作用:Pregel采用检查点(CheckPoint)机制来实现容错。在每个超步的开始,Master会通知所有的Worker把自己管辖的分区的状态写入持久化存储设备。Master周期地ping每个Worker,Worker收到ping消息后向Master反馈消息。如果在指定的时间间隔内没有收到某个Worker的反馈,Master就会将它标为“失效”,并启动恢复模式。
第12章
1、试述数据可视化的概念。
答:数据可视化是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。数据可视化技术的基本思想是将数据库中每一个数据项作
精选
相关推荐: