第02讲:Hadoop 发行版选型和伪分布式平台的构建

本课时主要介绍 Hadoop 发行版选型以及伪分布式平台的构建。

Hadoop 发行版介绍与选择

到目前为止,你应该初步了解了大数据以及 Hadoop 相关的概念了。本课时我将介绍 Hadoop 如何快速使用,由于 Hadoop 平台的构建过程相当复杂,它涉及系统、网络、存储、配置与调优,但为了能让你尽快尝鲜体验一下 Hadoop 的功能和特性,我们先一起构建一个伪分布式 Hadoop 集群,也就是一个假的 Hadoop 集群,麻雀虽小,但五脏俱全。

伪分布式 Hadoop 集群能够实现 Hadoop 的所有功能,并且部署简单,因此非常适合新手进行学习、开发、测试等工作。

Hadoop 有哪些发行版

与 Linux 有众多发行版类似,Hadoop 也有很多发行版本,但基本上分为两类,即开源社区版和商业付费版。社区版是指由 Apache 软件基金会维护的版本,是官方维护的版本体系;商业版付费版是指由第三方商业公司在社区版 Hadoop 基础上进行了一些修改、整合以及各个服务组件兼容性测试而发行的稳定版本,比较著名的有 Cloudera 的 CDP、CDH、Hortonworks 的 Hortonworks Data Platform(HDP)、mapR 等。

在这些商业 Hadoop 发行版中,为了吸引用户的使用,厂商也提供了一些开源产品作为诱饵,比如 Cloudera 的 CDH 发行版、Hortonworks 的 HDP 发行版等,所以,目前而言,不收费的 Hadoop 版本主要有三个,即 Apache Hadoop、Cloudera 的 CDH 版本、Hortonworks 的 HDP。

经过多年的发展,Cloudera 的 CDH 版本和 Hortonworks 的 HDP 版本在大数据开源社区互为竞争,两分天下,占据了国内、外 90% 以上的大数据市场,但随着公有云市场趋于成熟,很多云厂商在云端也提供了 Hadoop 服务,比如亚马逊的 Elastic MapReduce(EMR)、Microsoft Azure Hadoop、阿里云 E-MapReduce(Elastic MapReduce,EMR)等,这些基于云的大数据服务抢走了 Cloudera 和 Hortonworks 的大部分客户,所谓天下大势,分久必合,合久必分,最终,Cloudera 和 Hortonworks 从竞争走到了一起,他们相爱了。

下面我们来聊下常用的三个 Hadoop 发行版本,看看他们的产品特点以及如何选型。

Apache Hadoop 发行版本

Apache Hadoop 是最原始的 Hadoop 发行版本,目前总共发行了三个大版本,即 Hadoop1.x、Hadoop2.x、Hadoop3.x,每个版本的功能特性如下表所示:
在这里插入图片描述
Apache Hadoop 发行版提供源码包和二进制包两种形式下载,对我们来说,下载二进制包更加方便,点击这里获得下载。
Hortonworks Hadoop 发行版
Hortonworks 的主打产品是 HDP,同样是 100% 开源的产品,它最接近 Apache Hadoop 的版本,除此之外,HDP 还包含了 Ambari,这是一款开源的 Hadoop 管理系统。它可以实现统一部署、自动配置、自动化扩容、实时状态监控等,是个功能完备的大数据运维管理平台。

在使用 HDP 发行版时,可以通过 Ambari 管理功能,实现 Hadoop 的快速安装和部署,并且对大数据平台的运维也有很大帮助,可以说 Ambari 实现了与 HDP 的无缝整合。

HDP 至今也发行了三个版本,即 HDP1.x、HDP2.x 和 HDP3.x,跟 Apache Hadoop 发行的大版本遥相呼应,而 HDP 发行版的安装是基于 Ambari 实现的,通过 HDP 提供的 rpm 文件,可以在 Ambari 平台实现自动化的安装和扩容,后面会做详细介绍。

Cloudera Hadoop 发行版
Cloudera 是最早将 Hadoop 商用的公司,目前旗下的产品主要有 CDH、Cloudera Manager、Cloudera Data Platform(CDP)等,下表简单介绍了这些产品的特点。
在这里插入图片描述
CDH 支持 yum/apt 包、RPM 包、tarball 包、Cloudera Manager 四种方式安装,但在最新版本 CDH6 中已经不提供 tarball 方式了,这也是 Cloudera 进行产品整合的一个信号。

Cloudera 在宣布与 Hortonworks 合并后,他们使用了类似红帽公司的开源战略,提供了订阅机制来收费,同时为开发人员和试用提供了无支援的免费版本,并向商业用户提供订阅付费的版本。至此,Cloudera 成为全球第二大开源公司(红帽第一)。

看到这里,也许会担心,这么好的开源版本,后面是不是就不能免费使用了呢,答案是否定的,Cloudera 承诺 CDH 和 HDP 平台将可以继续使用,直到 2022 年。

如何选择发行版
作为用户,应该如何选择呢,经过多年对 Hadoop 的使用,我的建议是:对于初学入门的话,建议选择 Apache Hadoop 版本最好,因为它的社区活跃、文档、资料详实。而如果要在企业生产环境下使用的话,建议需要考虑以下几个因素:

是否为开源产品(是否免费),这点很重要;

是否有稳定的发行版本,开发版是不能用在生产上的;

是否已经接受过实践的检验,看看是否有大公司在用(自己不能当小白鼠);

是否有活跃的社区支持、充足的资料,因为遇到问题,我们可以通过社区、搜索等网络资源来解决问题。

在国内大型互联网企业中,使用较多的是 CDH 或 HDP 发行版本,个人推荐采用 HDP 发行版本,原因是部署简单、性能稳定。
伪分布式安装 Hadoop 集群
为了让你快速了解 Hadoop 功能和用途,先通过伪分布式来安装一个 Hadoop 集群,这里采用 Apache Hadoop 发行版的二进制包进行快速部署。完全分布式 Hadoop 集群后面将会进行更深入的介绍。

安装规划
伪分布式安装 Hadoop 只需要一台机器,硬件配置最低为 4 核 CPU、8G 内存即可,我们采用 Hadoop-3.2.1 版本,此版本要求 Java 版本至少是 JDK8,这里以 JDK1.8.0_171、CentOS7.6 为例进行介绍。根据运维经验以及后续的升级、自动化运维需要,将 Hadoop 程序安装到 /opt/hadoop 目录下,Hadoop 配置文件放到 /etc/hadoop 目录下。

安装过程
点击这里下载 Apache Hadoop 发行版本的 hadoop-3.2.1.tar.gz 二进制版本文件,其安装非常简单,只需解压文件即可完成安装,操作过程如下:

[root@hadoop3server hadoop]#useradd hadoop
[root@hadoop3server ~]#mkdir /opt/hadoop
[root@hadoop3server ~]#cd /opt/hadoop
[root@hadoop3server hadoop]#tar zxvf hadoop-3.2.1.tar.gz
[root@hadoop3server hadoop]#ln -s hadoop-3.2.1 current
[root@hadoop3server hadoop]#chown -R hadoop:hadoop /opt/hadoop

注意,将解压开的 hadoop-3.2.1.tar.gz 目录软链接到 current 是为了后续运维方便,因为可能涉及 Hadoop 版本升级、自动化运维等操作,这样设置后,可以大大减轻运维工作量。

Hadoop 程序安装完成后,还需要拷贝配置文件到 /etc/hadoop 目录下,执行如下操作:

[root@hadoop3server ~]#mkdir /etc/hadoop
[root@hadoop3server hadoop]#cp -r /opt/hadoop/current/etc/hadoop /etc/hadoop/conf
[root@hadoop3server hadoop]# chown -R hadoop:hadoop  /etc/hadoop

这样,就将配置文件放到 /etc/hadoop/conf 目录下了。
接着,还需要安装一个 JDK,这里使用的是 JDK 1.8.0_171,将其安装到 /usr/java 目录下,操作过程如下:

[root@hadoop3server ~]#mkdir /usr/java
[root@hadoop3server ~]#cd /usr/java
[root@hadoop3server java]#tar zxvf jdk-8u171-linux-x64.tar.gz
[root@hadoop3server java]#ln -s jdk1.8.0_171 default

这个操作过程的最后一步,做这个软连接,也是为了后续运维自动化配置、升级方便。

最后一步,还需要创建一个 Hadoop 用户,然后设置 Hadoop 用户的环境变量,配置内容如下:

[root@hadoop3server ~]#useradd hadoop
[root@hadoop3server ~]# more /home/hadoop/.bashrc 
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions
export JAVA_HOME=/usr/java/default
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/opt/hadoop/current
export HADOOP_MAPRED_HOME=${HADOOP_HOME}
export HADOOP_COMMON_HOME=${HADOOP_HOME}
export HADOOP_HDFS_HOME=${HADOOP_HOME}
export HADOOP_YARN_HOME=${HADOOP_HOME}
export CATALINA_BASE=${HTTPFS_CATALINA_HOME}
export HADOOP_CONF_DIR=/etc/hadoop/conf
export HTTPFS_CONFIG=/etc/hadoop/conf
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值