一步步分析为什么Hadoop能成为腾讯大数据处理的“一把手”
作者头像
  • 星海科技
  • 2020-08-20 16:43:44 5

一、Hadoop的发展历程

Hadoop的起源与Google息息相关。作为全球IT技术的领头羊,Google不仅提出了云计算的概念,还在其搜索引擎业务中构建了革命性的GFS(Google文件系统),从而推动了文件系统的分布式发展。此外,Google还创建了MapReduce计算框架,使高端服务器计算转变为成本更低的x86集群计算。这使得许多互联网公司能够摆脱对IBM小型机、Oracle数据库和EMC存储设备的依赖,例如淘宝就开启了去IOE化的道路。

Google之所以伟大,是因为它愿意分享技术而不是独占技术。在2002年至2004年间,Google通过发布三篇重要论文,向世界展示了其云计算技术的核心组成部分:GFS、MapReduce和BigTable。尽管Google并未将核心技术开源,但这三篇论文为开源社区指引了方向。一位大牛Doug Cutting利用Java语言对Google的云计算核心技术进行了开源实现,尤其是GFS和MapReduce。后来,Apache基金会整合了Doug Cutting和其他IT公司的贡献,开发并推出了Hadoop生态系统。Hadoop是一个搭建在廉价PC上的分布式集群系统架构,具有高可用性、高容错性和高可扩展性等优点。它提供了一个开放平台,使用户无需了解底层实现细节即可开发适合自己的分布式程序。

二、Hadoop的整体框架

Hadoop由HDFS、MapReduce、HBase、Hive和ZooKeeper等组件组成,其中HDFS(Hadoop分布式文件系统)和MapReduce引擎是最基础也是最重要的两个组成部分。HDFS负责存储集群中所有存储节点的文件,而MapReduce引擎则用于执行分布式计算任务。

  • Pig 是一个基于Hadoop的大规模数据分析平台,提供了简便的操作和编程接口,使复杂的海量数据并行计算变得容易。
  • Chukwa 是一个基于Hadoop的集群监控系统,由雅虎贡献。
  • Hive 是一个基于Hadoop的工具,提供完整的SQL查询功能,可以将SQL语句转换为MapReduce作业执行。
  • ZooKeeper 是一个高效且可扩展的协调系统,用于存储和协调关键共享状态。
  • HBase 是一个开源的基于列存储模型的分布式数据库。
  • HDFS 是一个分布式文件系统,具有高容错性和低成本的特点,适用于处理超大数据集的应用。
  • MapReduce 是一种编程模型,用于大规模数据集(大于1TB)的并行运算。

下图展示了一个典型的Hadoop实验集群的部署结构。

三、Hadoop的核心设计

3.1 HDFS

HDFS是一个高度容错性的分布式文件系统,广泛部署于廉价PC上。它以流式访问方式处理应用程序的数据,极大地提高了系统的数据吞吐量,非常适合处理超大数据集的应用。HDFS采用主从架构(master/slave),一个典型的HDFS集群包括一个NameNode节点和多个DataNode节点。NameNode节点负责维护整个文件系统的元数据,而DataNode节点则负责存储实际的数据块。DataNode节点定期向NameNode发送文件块的报告,以保持同步。

3.2 MapReduce

MapReduce是一种编程模型,用于大规模数据集的并行运算。它采用分而治之的思想,将任务分发到集群的多个节点上并行计算,然后合并计算结果以得到最终结果。MapReduce框架负责任务调度、负载均衡和容错处理,用户无需关心这些细节。

四、Hadoop的安装配置

Hadoop有三种部署方式:本地模式、伪分布模式和集群模式。本文主要介绍伪分布模式的安装配置,即在一个服务器上运行Hadoop。

4.1 设置静态IP地址

可以通过命令行或图形界面设置静态IP地址。配置完成后,重启网络服务以应用更改。

4.2 修改主机名

修改当前会话的主机名,并更新配置文件中的主机名。

4.3 DNS绑定

在/etc/hosts文件中添加IP和主机名的映射。

4.4 关闭防火墙及其自动启动

关闭防火墙服务,并禁止其自动启动。

4.5 SSH免密码登录

生成SSH密钥对,并将公钥添加到authorized_keys文件中。

4.6 复制JDK和Hadoop至Linux

使用WinSCP或CuteFTP工具将JDK和Hadoop文件复制到Linux系统中。

4.7 安装JDK

解压JDK安装文件,并配置环境变量。

4.8 安装Hadoop

解压Hadoop安装文件,并配置相关环境变量。需要修改的配置文件包括hadoop-env.sh、core-site.xml、hdfs-site.xml和mapred-site.xml。

五、启动Hadoop

启动Hadoop可以使用start-all.sh命令,或者分别启动HDFS和MapReduce。启动成功后,可以通过浏览器访问Hadoop的Web界面进行监控。

以上是Hadoop的发展历程、整体框架、核心设计和安装配置的详细介绍。希望对你有所帮助。

    本文来源:图灵汇
责任编辑: : 星海科技
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
大数腾讯一把手步步成为为什么处理分析Hadoop
    下一篇