大数据技术框架
大数据技术框架:
1.存储引擎
1>分布式文件系统HDFS:block,replication
2>NoSQL数据库:Hbase:Table,region 实时存储引擎
3>分布式消息队列Kafka:Topic,Partition 实时存储引擎
4>分布式搜索引擎:Elasticserarch:index,shard 实时存储引擎
5>KeyValue内存数据库:Redis 实时存储引擎
2.分析引擎
1.并行计算引擎:MapReduce:分而治之的思想
2.数据仓库工具:hive提供sql分析数据,转换为MR,读取HDFS上的数据,运行在yarn砂锅
3.内存分析引擎:impala
4.分布式oalp分析框架:kylin,Druid等等
5.spark同意分析引擎:批处理,离线分析
6.Flink实时流式分析引擎:流式处理,实时分析
3.辅助框架
1.分布式集群资源管理:YARM:
1.MapReduce
2.spark
3.Flink
2.数据转换:SQOOP: DataX,Kettle
3.日志采集:Flum,LogStash,FileBeats
4.调度框架:Azkaban,Oozie(Hue)
Kafka应用场景:
1.异步处理
a>可以将一些比较耗时的操作放在其他系统重,通过消息队列需要进行处理的消息进行存储,其它系统可以消费消息队列中的数据
b>比较常见短信验证码,发送邮件
2.系统解耦
a>原先一个微服务是通过接口(HTTP)调用另一个微服务,这个时候耦合很严重,只要接口发生变化就会导致系统不可用
b>使用消息队列可以将系统进行耦合,现在第一个微服务器可以将消息放入到消息队列中,另一个微服务可以从消息对了中把消息取出来进行 处理,进行系统解耦.
3.流量消峰
因为消息队列是低延迟,高可靠,高吞吐的,可以应对大量开发
4.日志处理
可以使用消息队列作为临时,或者通信管道
Kafka是分布式的流平台
1.发布和订阅流流数据流,类似于消息队列活着是企业消息传递系统
2.以容错的持久化方式存储数据流
3.处理数据流
关键词:
1.Publish and subscribe 发布和订阅
2.Store存储
3.Process:处理
jps:
QuorumPeerMain是zookeeper的进程