刚开始学习Hadoop的时候,我就抱怨为什么安装Hadoop这么麻烦,因为对于初学者来说,要想顺利配置分布式环境的安装需要一天的时间。 另一方面,对于自学Hadoop、身边无人交流的菜鸟来说,我对Hadoop的理解一直停留在浅层次,可以应用,但对内部原理了解甚少。 我最近在和做这方面的朋友说话。 他问我在学习Hadoop是用哪个版本构建环境的。 我不太记得Hadoop的版本那么多。 他只是在笑,没有再听下去。
回来后,我仔细考虑了他听到的话。 不会是听到的别的意思吧。 Hadoop不是只分为1.0.x和2.x这一复杂版本吗? 在网上搜索后,我觉得这很丢脸。 除了Apache版本之外,Hadoop还有这么多第三方版本,很好地解决了Hadoop部署管理复杂的问题。 所以请记录在这里,让新人也醒来。
目前,Hadoop的发行版包括Apache的开源版本,以及华为、Intel、Cloudera、CDH、Hortonworks和MapR等。 因为所有这些发行版都是从Apache Hadoop派生的,并且基于Apache Hadoop
国内大多数公司的发行都是收费的。 例如,英特尔版本、华为版本等。 不收费的Hadoop版本主要有国外4个,分别是Apache基金会Hadoop、Cloudera版本(CDH )、Hortonworks版本(HDP )、MapR版本。
Apache社区版本的优缺点
好处:
完全开源免费
社区活跃
文档,资料详细信息
缺点:
复杂的版本控制。 版本管理混乱,各种版本层出不穷,困扰着使用者。
复杂群集的部署、安装和配置。 通常,创建大量配置文件并将其分发到每个节点以满足群集的需要,因此容易出错,效率低下。
复杂的集群运输。 集群的监视、运输需要安装ganglia、nagois等第三方其他软件,运输难度较大。
复杂的生态环境。 在Hadoop生态圈中,选择和使用Hive、Mahout、Sqoop、Flume、Spark、Oozie等组件包括兼容性问题、版本兼容性、组件冲突与否以及编译是否通过在许多情况下,编译组件以解决版本冲突需要很多时间。
第三方版本(如CDH、HDP和MapR )的优缺点
好处:
基于Apache协议的100%开源。
版本控制清晰。 例如Cloudera、CDH1、CDH2、CDH3、CDH4、CDH5等,如果后来添加CDH4.1.0 patch level 923.142等修补程序版本,则原生态Apache Hadoop 0.20.2
比Apache Hadoop更好的兼容性、安全性和稳定性。 在第三方版本中,经常有很多案例分析,并在不同的生产环境中大量运行。
版本更新得很快。 例如,CDH通常每季度都有更新,每年都有release。
基于稳定版本的Apache Hadoop并应用了最新错误修复或Feature的patch
提供部署、安装和配置工具,大大提高群集部署效率,并在几个小时内部署群集。
运输维度简单。 提供管理、监控、诊断、配置修改工具,管理配置方便,定位问题快速、准确,运维工作简单、有效。
缺点:
与制造商锁定有关的问题。 (可以用技术解决)
总结
如上所述,考虑到大数据平台的有效部署和安装、集中式配置管理、使用中的稳定性、兼容性、可扩展性,以及未来相对简单高效的运维,解决问题的成本较低。
建议发行第三方版本。
其中第三个版本,国内使用较多的是Cloudera的CDH。 大家也可以详细比较优缺点,根据自己的需求进行选择。