大数据学习第17天

1. storm如何保障消息的完全处理?
每当spout生成一个tuple元组时,将一个字符串作为锚点传入ack方法并调用ack方法,将该tupleid与ack方法中的64位二进制码进行异或运算,ack方法会在每个bolt处理完tuple元组和生成新的tuple元组时调用ack方法,进行异或运算,当该tuple tree处理完毕时,ack方法中的二进制码一定为0,如果该二进制码不为0,则ack方法会通知spout,将传入的锚点发给spout,spout会将该锚点对应的tuple重新发送(对所有下游bolt),如果该二进制码为0,则通知spout该tuple元组完全处理完毕.(只有到最后再知道结果,所以只能全部重发,中途无状态记录)

2. storm中drpc做什么用的?架构是什么样的?
是用来实现对storm的实时访问功能的接口,客户端与drpc建立连接,由drpc接收客户端需求,drpc连接spout节点并将客户的需求转发至spout节点(附带request-id),spout连接数据源,拉取数据,创建tuple元组时,将收到的request-id一并封装入tuple元组,bolt节点接收tuple元组进行业务流程处理,处理结果发送至下游的resultbolt,resultbolt接收tuple元组进行汇总,并通过request-id将结果发送至drpc对应的result中,由drpc接收result,通过request-id将响应反馈给对应的客户端

client---->drpc---->spolt---->bolt
                  |                          |
                  <---------------resultbolt

3. 详述kafka的架构
client--->producer--->broker--->consumer--->storm
kafka通过producer消息生产者节点生成(获取)数据,向服务器端的broker节点发送数据,broker将收到的数据存入对应的topic主题(需提前创建)中,由consumer消息消费者连接broker节点获取数据,自己进行业务流程处理或发往其他集群进行处理.

4. 详述kafka消息队列的安装步骤
java环境部署
zookeeper环境部署
下载kafka压缩包
解压
修改server.properties文件
broker.id(消息中间件编号)
zookeeper.connect(zookeeper集群地址)
启动

5. 详述电信项目的整体架构
通过kafka的producer消息生产者获取通话质量数据,上传至kafka的broker消息中间件节点,由storm创建对应kafkaconsumer节点的spout节点,由该spout节点获取kafka集群中broker节点中的数据,并向下游bolt节点传输,由bolt节点进行具体的数据业务流程处理,结果传输至hbase集群进行保存,由web项目连接该hbase集群进行数据读取与数据结果展示.

猜你喜欢

转载自www.cnblogs.com/lkoooox/p/11086696.html