0 项目需求
- 业务、行为、埋点、爬虫等数据采集
- 数据仓库主题分层、维度建模等
- BI、即席查询、随时指标分析等能力
- 数据挖掘等应用
- 监控、报警
- 质量监控
考虑因素:
- 业务需求
- 数据量及规模 (1e+, 一天80-100G, 一年30T)
- 行业经验、技术选择及成熟度
- 开发维护成本
- 总成本预算
1 服务器选型
1.1 物理机
- 硬件(配置、单价、寿命)
- 运维
- 其他(场地、电费、空调)
1.2 云主机
- 硬件(配置、价格)
2 项目技术框架
主要分4个方面:传送门
- 数据采集传输: canal(Maxwell) + kafka
- 数据存储: HDFS(低成本存储)+高性能存储(查询)
- 数据计算(ETL):Hive、Spark、Flink
- 数据查询: (ck、Redshift) + FineBI
通常用 CDH(比较稳定)、Ambari 来部署管理
2 集群资源估算
假设 共一天 150w 活跃,平均 1e+ 数据(约 0.8k 一条),80G左右,一年 80 * 365 = 约30T(无副本无压缩)
Hadoop 生态模式:
ods 与 dwd 层压缩后 50G, dws 层 50G, 3副本 300G, 一年=100T(压缩3副本), 其中 Kafka 2T。
3年:300T
机器配置:
- 单台 8+32G 20T * 15台 = 120u + 480G
- 单台 16+64G 20T * 15台 = 240u + 960G
实际上 3 台高配置作主节点,其他的可按分析查询性能看情况而定,
其中 kafka、zookeeper 推荐3台(8+32+2T, 千兆网络)即可。参考
