Skip to content

认识Hadoop

记得我初中时期,电脑刚刚进入到我们的视野。那会儿说谁家孩子就知道玩电脑,往往会和不知道学习挂钩。

现在好了,小孩子再也不玩电脑了,或者说再也没有任何理由需要使用电脑了。现如今,一个初中生几乎不会使用电脑,这还正常吗?

言归正传,首先问几个问题:

  1. 你会使用Windows系统操作文件吗?比如创建文件夹、移动文件夹、删除文件夹等

  2. 你需要知道还有另外一种操作系统——Linux,那么你会使用Linux命令操作文件吗?

  3. 如果把Hadoop想象成一个操作系统,那么HDFS就是Hadoop的文件系统,那么你会使用命令操作HDFS文件系统中的文件吗?

本文将带大家认识Hadoop和它的文件系统HDFS。

什么是Hadoop

Hadoop 是一个分布式系统基础架构,由 Apache 基金会开发。通俗来讲,Hadoop用来解决海量数据的存储和大规模数据的计算问题。

现在我们说到Hadoop也指Hadoop整个生态圈,包括HDFS、MapReduce、Hbase、Hive、ZooKeeper等成员。在这些成员中有两个核心:

  • MapReduce

用于大规模数据集的并行计算

  • HDFS

分布式文件系统,用于海量数据的存储

什么是HDFS

HDFS又称Hadoop分布式文件系统,是适合运行在通用硬件上的分布式文件系统。HDFS是一个高度容错性的系统,可以部署在廉价的机器上。

Hadoop奠定了现代分布式大数据技术的基础,说到大数据计算就离不开MapReduce,说到大数据存储就离不来HDFS。

Hadoop的版本

  • Apache

最原始版本,非常适合入门级学习

  • Cloudera

全家桶产品CDH,集成了很多大数据框架

  • Hortonworks

HDP,具有完善的文档

需要注意的是,Cloudera和Hortonworks已经合并。

Hadoop的特点

  • 高可靠性

基于HDFS的分布式存储,一份数据会有多个数据副本,可以保障数据不会丢失

  • 高拓展性

可以非常方便的扩展上万个节点

  • 高效性

基于MapReduce的并行计算,可以加快大规模数据的处理速度

  • 高容错性

失败的任务可以自动重新分配

Hadoop之所以能够得到广泛的应用,正是离不开它自身这些优秀的特点。

HDFS常用命令

以下罗列部分常用的命令

  • cat

查看文件内容

  • chmod

修改文件的读写权限

  • cp

复制文件

  • get

复制文件从HDFS到本地

  • ls

查看文件列表

  • mkdir

创建文件夹

  • mv

移动文件

  • put

复制文件从本地到HDFS

  • rm

删除文件

  • tail

查看文件最后的内容

  • ……

到这里,不知道你有没有发现,是不是和Linux的命令几乎一摸一样。所以,对于有Linux基础的同学来说,学习使用HDFS文件系统会很容易上手。

进阶

讲到Hive、Paimon等,都会涉及到Hadoop。要想对Hadoop有一个深入的了解,还是希望同学们可以查看官方文档,进行系统的学习。可以关注:遇码,回复hadoop获取官方文档。

如果忽略Hadoop是什么,想要快速上手体验hadoop的HDFS文件系统,敬请期待后续更新。

遇码MeetCoding 开源技术社区