视频剪辑软件 端口映射 gps Mixin bash dom gridview node NEJ History.js 后台管理界面模板 后台管理页面模板 后台界面 ios视频教程 map删除指定元素 linux查看防火墙 mysql将时间戳转换成日期 python最大值 python循环语句 java连接mysql java环境配置 java集合类 java判断 windows7loader stata软件 源计划卡特 js格式化时间 skycc组合营销软件 安卓adb 国都证券官网下载 小米9截图 execryptor jsp源代码 文件压缩工具 非凡资源搜索器 python去掉空格 flash引导层 电子海图 微博实名认证 flash制作教程
当前位置: 首页 > 学习教程  > 编程语言

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

2020/9/19 14:16:30 文章标签:

本课时主要介绍 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

本文链接: http://www.dtmao.cc/news_show_200092.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?