一、项目框架
1.1技术选型
技术选型主要考虑因素:维护成本、总成本预算、数据量大小、业务需求、行业内经验、技术成熟度。
- 数据采集传输:Flume,Kafka,DataX,Maxwell,Sqoop,Logstash
- 数据存储:MySQL,HDFS,HBase,Redis,MongoDB
- 数据计算:Hive,Spark,Flink,Storm,Tez
- 数据查询:Presto,Kylin,Impala,Druid,ClickHouse,Doris
- 数据可视化:Superset,Echarts,Sugar,,QuickBI,DataV
- 任务调度:DolphinScheduler,Azkaban,Oozie,Airflow
- 集群监控:Zabbix,Prometheus
- 元数据管理:Atlas
- 权限管理:Ranger,Sentry
1.2框架版本选型
1)如何选择Apache/CDH/HDP版本?
(1)Apache:运维麻烦,组件间兼容性需要自己调研。(一般大厂使用,技术实力雄厚,有专业的运维人员)(建议使用)
(2)CDH:国内使用最多的版本,但CM不开源,2020年开始收费,一个节点1万美金/年。
(3)HDP:开源,可以进行二次开发,但是没有CDH稳定,国内使用较少
2)云服务选择
(1)阿里云的EMR、MaxCompute、DataWorks
(2)腾讯云EMR、流计算Oceanus、数据开发治理平台WeData
(3)华为云EMR
(4)亚马逊云EMR
1.3具体版本号
1.4服务器选型
服务器选择物理机还是云主机?
1)物理机:
- 戴尔品牌>以128G内存,20核物理CPU,40线程,8THDD和2TSSD硬盘单台报价4W出头。一般物理机寿命5年左右。
- 需要有专业的运维人员,平均一个月1万。电费也是不少的开销
2)云主机:
- 云主机:以阿里云为例,差不多相同配置,每年5W,
- 很多运维工作都由云主机完成,运维相对较轻松
3)企业选择
- 金融有钱公司选择云主机(上海)。
- 中小公司、为了融资上市,选择云主机,拉到融资后买物理机。
- 有长期打算,资金比较足,选择物理机。
1.5集群规模
1)如何确认集群规模?(假设:每台服务器16T磁盘,128G内存)
- 每天日活跃用户100万,每人一天平均100条:100万*100条=1亿条
- 每条日志1K左右,每天1亿条:100000000/1024/1024=约100G
- 1年内不扩容服务器来算:100G*365天=约36T
- 保存3副本:36T*3=108T
- 预留20%~30%Buf-108T/0.7=154T
- 算到这:约16T*10台服务器
2)如果考虑数仓分层?数据采用压缩?需要重新再计算