1、项目需求
- 1、用户行为数据采集平台搭建
- 2、业务数据采集平台搭建
- 3、数据仓库维度建模
- 4、采用即席查询工具,随时进行指标分析
- 5、对集群性能进行监控,发生异常需要报警
- 6、元数据管理
- 7、质量监控
- 8、权限管理
2、技术选型
2.1 技术选型
技术选型主要考虑因素:数据量大小、业务需求、行业经验、技术成熟度、开发维护成本、总成本预算
- 数据采集传输:Flume,Kafka,Sqoop,Logstash,DataX
- 数据存储:MySQL、HDFS、HBase、Redis、MongDB
- 数据计算:Hive、Tez、Spark、Flink、Storm
- 数据查询:Presto、Kylin、Impala、Druid、ClickHouse、Doris
- 数据可视化:Echarts、Superset、QuickBI、DataV
- 任务调度:Azkaban、Oozie、DolphinScheduler、Airflow
- 集群监控:Zabbix、Prometheus
- 元数据管理:Altas
- 权限管理:Ranger、Sentry
2.2 系统数据流程设计
2.3 框架版本选型
2.3.1 如何选择Apache/CDH/HDP版本?
-
Apache:运维麻烦,组件间兼容性需要自己调研。(一般大厂使用,技术实力雄厚,有专业的运维人员)(建议使用) -
CDH:国内使用最多的版本,但是CM不开源,今年(2021年)开始收费,今年开始收费,一个节点1万美金/年。 -
HDP:开源,可以进行二次开发,但是没有CDH稳定,国内使用较少。
2.3.2 云服务选择
- 阿里云的EMR、MaxCompute、DataWorks
- 亚马逊云EMR
- 腾讯云EMR
- 华为云EMR
2.4 服务器选型
2.4.1 物理机
- 以128G内存,20核物理CPU,40线程,8THDD和2TSSD硬盘,戴尔品牌单台报价4w出头。一般物理机寿命5年左右。
- 需要有专业的运维人员,平均一个月1万。电费也是不少的开销。
2.4.2 云主机
- 云主机:以阿里云为例,差不多相同配置,每年5w.
- 很多运维工作都是由阿里云完成,运维相对较轻松。
2.5 集群规模
以每台服务器8T磁盘,128G内存为例
- 每天增量数据100G
- 保留半年历史数据 100G*180天≈18T
- 保存3个副本:约54T
- 预留20%Buffer: 54T/0.7 = 77T
- 约8T * 10台服务器
另外,还需要考虑数仓分层、数据采取的压缩策略等情况。
2.6 集群资源规划设计
在企业中通常会搭建一套生产集群和一套测试集群。生产集群运行生产任务,测试集群用于上线前代码编写和测试。
2.6.1 测试集群集群资源规划案例
2.6.2 生产集群集群资源规划案例
(1)消耗内存的分开 (2)数据传输数据比较紧密的放在一起(Kafka 、Zookeeper) (3)客户端尽量放在一到两台服务器上,方便外部访问 (4)有依赖关系的尽量放到同一台服务器(例如:Hive和Azkaban Executor)
|