一、总体架构设计:技术方案选型
### --- 技术方案选型
~~~ 框架选型
~~~ 软件选型
~~~ 服务器选型
~~~ 集群规模的估算
### --- 框架选型
~~~ Apache / 第三方发行版(CDH / HDP / Fusion Insight)
~~~ # Apache社区版本优点:
~~~ 完全开源免费
~~~ 社区活跃
~~~ 文档、资料详实
~~~ # 缺点:
~~~ 复杂的版本管理
~~~ 复杂的集群安装
~~~ 复杂的集群运维
~~~ 复杂的生态环境
~~~ # 第三方发行版本(CDH / HDP / Fusion Insight)
~~~ Hadoop遵从Apache开源协议,用户可以免费地任意使用和修改Hadoop。
~~~ 正因如此,市面上有很多厂家在Apache Hadoop的基础上开发自己的产品。
~~~ 如Cloudera的CDH,Hortonworks的HDP,华为的Fusion Insight等。
~~~ # 这些产品的优点是:
~~~ 主要功能与社区版一致
~~~ 版本管理清晰。比如Cloudera,CDH1,CDH2,CDH3,CDH4等,后面加上补丁版本,
~~~ 如CDH4.1.0 patch level 923.142
~~~ 比 Apache Hadoop 在兼容性、安全性、稳定性上有增强。
~~~ 第三方发行版通常都经过了大量的测试验证,有众多部署实例,大量的运用到各种生产环境
~~~ 版本更新快。如CDH每个季度会有一个update,每一年会有一个release
~~~ 基于稳定版本Apache Hadoop,并应用了最新Bug修复或Feature的patch
~~~ 提供了部署、安装、配置工具,大大提高了集群部署的效率,可以在几个小时内部署好集群
~~~ 运维简单。提供了管理、监控、诊断、配置修改的工具,
~~~ 管理配置方便,定位问题快速、准确,使运维工作简单,有效
~~~ # CDH:
~~~ 最成型的发行版本,拥有最多的部署案例。提供强大的部署、管理和监控工具。
~~~ 国内使用最多的版本;拥有强大的社区支持,当遇到问题时,能够通过社区、
~~~ 论坛等网络资源快速获取解决方法;
~~~ # HDP:
~~~ 100%开源,可以进行二次开发,但没有CDH稳定。国内使用相对较少;
~~~ Fusion Insight:华为基于hadoop2.7.2版开发的,坚持分层,解耦,开放的原则,得益于高可靠性,
~~~ 在全国各地政府、运营商、金融系统有较多案例。
### --- 软件选型
~~~ 数据采集:DataX、Flume、Sqoop、Logstash、Kafka
~~~ 数据存储:HDFS、HBase
~~~ 数据计算:Hive、MapReduce、Tez、Spark、Flink
~~~ 调度系统:Airflow、azkaban、Oozie
~~~ 元数据管理:Atlas
~~~ 数据质量管理:Griffin
~~~ 即席查询:Impala、Kylin、ClickHouse、Presto、Druid
~~~ 其他:MySQL
二、框架、软件尽量不要选择最新的版本,选择半年前左右稳定的版本。