认识Hadoop
记得我初中时期,电脑刚刚进入到我们的视野。那会儿说谁家孩子就知道玩电脑,往往会和不知道学习挂钩。
现在好了,小孩子再也不玩电脑了,或者说再也没有任何理由需要使用电脑了。现如今,一个初中生几乎不会使用电脑,这还正常吗?
言归正传,首先问几个问题:
你会使用Windows系统操作文件吗?比如创建文件夹、移动文件夹、删除文件夹等
你需要知道还有另外一种操作系统——Linux,那么你会使用Linux命令操作文件吗?
如果把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文件系统,敬请期待后续更新。