1.5 Hadoop与Spark版本选择及安装部署
1.5.1 Hadoop与Spark版本选择
随着社区迅猛发展以及各大互联网公司投入的增加,Hadoop与Spark已经成为大数据技术标准,这吸引了大量商业公司基于开源Hadoop与Spark版本实现自己的发行版,目前比较知名的Hadoop发行版有:
❑ Apache Hadoop:社区原始版本,由Apache基金会维护,是其他商业公司发行版的基础。
❑ CDH(Cloudera Distributed Hadoop):Cloudera公司发行版,其社区版所有源代码均开源,但企业版则闭源且收费,是使用最广泛的发行版之一,本书实验部分便是基于CDH版本的。
❑ HDP(Hortonworks Data Platform):Hortonworks公司发行版,其社区版所有源代码也开源,但企业版则闭源收费。
比较知名的Spark发行版有:
❑ Apache Spark:社区原生版本,由Apache基金会维护,是其他商业公司发行版的基础。
❑ Databricks Spark:Databricks公司发行版,其社区版所有源代码均开源,内置企业版本,增加安全、审计、云等方面的支持。
❑ Hadoop企业发行版:各大Hadoop企业发行版,比如HDP和CDH,均内置了对Spark的支持。
各个发行版之间同一系统对外使用方式和接口是完全兼容的,不同之处在于它们引入了不同系统解决某个场景的问题,比如CDH选择Impala解决交互式分析问题,而HDP选择Hive On Tez; CDH引入了Cloudera Navigator和Sentry解决安全问题,而HDP则使用Ranger和Knox,另外,它们均提供了个性化的运维与管理工具等。在线上环境部署私有Hadoop与Spark集群时,为了避免各个系统之间兼容性(比如HBase不同版本与Hadoop版本之间的兼容性)带来的麻烦,建议大家直接选用商业公司发行版。
1.5.2 Hadoop与Spark安装部署
目前Hadoop与Spark存在两种安装部署方式:人工部署和自动化部署。其中人工部署用于个人学习、测试或者小规模生产集群,而自动化部署则适用于线上中大规模部署。为了让读者亲自动手学习Hadoop与Spark,本书主要介绍人工部署方式。读者可参考本书最后的附录,学习Hadoop生态系统中各个组件的安装部署方法。对于自动化部署方式,我们有两种选择:自己构建自动化部署系统及使用商业公司实现方案,比如Ambari和Cloudera Manager。