赞
踩
为什么这里面需要kafka?
1. 我们的业务有实时的业务,Spark可以和Flume做整合的
2. 削峰平谷,处理一些高并发的场景
3. 解耦,适合这种多场景对数据的多次使用
埋点的数据是如何被采集的?
采集的都是用户的行为,写一些代码(js,sdk),往后台发送,实时发送,每隔一段时间发送一个数据包(加密、压缩、转码,一次性发送多条)
项目技术如何选型?
技术选型主要考虑因素:数据量大小、业务需求、行业内经验、技术成熟度、开发维护成本、总成本预算
框架版本如何选型?
Apache:运维麻烦,组件间兼容性需要自己调研(一般大厂使用,技术实力雄厚,有专业的运维人员)(建议使用)
CDH6.3.2:国内使用最多的版本,但CM不开源,但其实对中、小公司使用来说没有影响(建议使用)1万美金一个节点
HDP:开源,可以进行二次开发,但是没有CDH稳定,国内使用较少
产品 | 版本 |
---|---|
Hadoop | 2.7.2 |
Flume | 1.7.0 |
Kafka | 0.11.0.2 |
Hive | 2.3 |
Sqoop | 1.4.6 |
MySQL | 5.6.24 |
Azkaban | 2.5.0 |
Java | 1.8 |
Zookeeper | 3.4.10 |
Presto | 0.189 |
产品 | 版本 |
---|---|
Hadoop | 2.6.0 |
Spark | 1.6.0 |
Flume | 1.6.0 |
Hive | 1.1.0 |
Sqoop | 1.4.6 |
Oozie | 4.1.0 |
Zookeeper | 3.4.5 |
Impala | 2.9.0 |
注意事项
:框架选型尽量不要选择最新的框架,选择最新框架半年前左右的稳定版
服务器使用物理机还是云主机?
机器成本考虑
物理机:以128G内存,20核物理CPU,40线程,8THDD和2TSSD硬盘,单台报价4W出头,惠普品牌;一般物理机寿命5年左右
云主机:以阿里云为例,差不多相同配置,每年5W
运维成本考虑
物理机:需要有专业的运维人员(1万*13个月)、电费(商业用户)、安装空调
云主机:很多运维工作都是由阿里云已经完成,运维相对较轻松
企业选择
如何确认集群规模?
用户行为数据
1、每天日活跃用户100万,每人一天平均100条:100万*100条=10000万条 2、每条日志1K左右,每天1亿条:100000000 / 1024 / 1024 = 约100G 3、数仓ODS层采用LZO存储:100g压缩为10g左右 4、数仓DWD层采用LZO+parquet存储:10g左右 5、数仓DWS层轻度聚合存储(为了快速运算,不压缩):50g左右 6、数仓ADS层数据量很小:忽略不计 7、保存3副本:70g*3=210g 8、半年内不扩容服务器来算:210g*180天=约37T 9、预留20%~30%Buf=37T/0.7=53T
kafka中数据
1、每天约100G数据*副本(2)=200g
2、保存3天*200g=600g
3、预留30%buf=600g/0.7=857g=约1T
Flume中默认缓存的数据比较小:暂时忽略不计
业务数据
1、每天活跃用户100万,每天下单的用户10万,每人每天产生的业务数据10条,每条日志1k左右:10万*10条*1k=1g左右
2、数仓四层存储:1g*3=3g
3、保存3副本:3g*3=9g
4、半年内不扩容服务器来算:9g*180天=约1.6T
5、预留20%~30%Buf=1.6T/0.7=2T
集群总规模
53T + 1T + 2T = 56T
算到这
约8T * 7台服务器
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。