0 项目需求

  1. 业务、行为、埋点、爬虫等数据采集
  2. 数据仓库主题分层、维度建模等
  3. BI、即席查询、随时指标分析等能力
  4. 数据挖掘等应用
  5. 监控、报警
  6. 质量监控

考虑因素:

  • 业务需求
  • 数据量及规模 (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

机器配置:

  1. 单台 8+32G 20T * 15台 = 120u + 480G
  2. 单台 16+64G 20T * 15台 = 240u + 960G

实际上 3 台高配置作主节点,其他的可按分析查询性能看情况而定,
其中 kafka、zookeeper 推荐3台(8+32+2T, 千兆网络)即可。参考