HDFS文件系统详解
如果说整个Hadoop系统是一个大象,那么HDFS就是大象的肚子。HDFS是一个能够面向大规模数据使用的可扩展的文件存储和传输系统。HDFS是用在大量的普通商用机(香港服务器)集群上的一整套文件存储系统,这样做的好处是大规模的机器集群可以妥善保存数据的同时,节省大量的后期维护费用。
下面给大家讲解一下HDFS框架是如何存储上传文件的:
格式化 HDFS( namenode)第一次使用时要格式化
hdfs namenode - format
启动 hadoop(在 hadoop 的 sbin 目录下)
先启动 HDFS . / start - dfs .sh
再启动 YARN . / start - yarn.sh
验证是否启动成功
使用 jps 命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
http://192.168.204.110:50070 (HDFS 管理界面)
其次对于HDFS架构来说,一个HDFS集群包括两大类:即NameNOde和DataNOde。下面我给大家分别介绍一下:
Namenode 管理者文件系统的 Namespace。它维护着文件系统树(filesystem tree)以及文件树中所有的文件和文件夹的元数据(metadata)。管理这些信息的文件有两个,分别是Namespace 镜像文件(Namespace image)和操作日志文件(edit log),这些信息被 Cache 在RAM 中,当然,这两个文件也会被持久化存储在本地硬盘。 Namenode 记录着每个文件中各个块所在的数据节点的位置信息,但是他并不持久化存储这些信息,因为这些信息会在系统启动时从数据节点重建。NameNode信息如下:
Datanode 是文件系统的工作节点,他们根据客户端或者是 namenode 的调度存储和检索数据,并且定期向 namenode 发送他们所存储的块(block)的列表。集群中的每个服务器都运行一个DataNode 后台程序,这个后台程序负责把 HDFS 数据块读写到本地的文件系统。当需要通过客户端读/写某个数据时,先由 NameNode 告诉客户端去哪个 DataNode 进行具体的读/写操作,然后客户端直接与这个 DataNode 服务器上的后台程序进行通信,并且对相关的数据块进行读/写操作。
在这个文件中添加 linux 主机名和 IP 的映射关系
C:\Windows\System32\drivers\etc\hosts
192.168.1.119 mumu
http://192.168.204.110:8088 (MR管理界面)
就可以进行上传资料任务处理了:
hadoop fs -put /root/soft/ying.txt hdfs://mumu01:9000/xinyin
上传之后统计数据:
hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount
hdfs://mumu01:9000/yin hdfs://mumu01:9000/ying
配置 ssh 免登陆 注解: centos6 版本也上 ssh 在/ect/目录下
生成 ssh 免登陆密钥
ssh-keygen -t rsa (四个回车)
生成公钥的目录在 cd ~/ 输入 ls -la
执行完这个命令后,会生成两个文件 id_rsa(私钥)、
id_rsa.pub(公钥)将公钥拷贝到要免登陆的机器上。
查看存储在HDFS中的文件内容:
查看文件内容
hadoop fs -cat
查看文件列表
hadoop fs -ls /
还可以下载存储在HDFS中的文件
下载文件
hadoop fs -get
本次讲解就到这里,相信小编已经给大家对于Hadoop的HDFS架构做了一些正确合理的普及,大家现在应该理解HDFS是如何运行和存储了的,喜欢动手的朋友可以自行安装一下HDFS架构,这样会对Hadoop架构有更深的了解(上述操作本人都亲自试验过)。
希望大家踊跃的购买我们公司的香港服务器,更好的进行hadoop相关的研究和实战。
如果还有什么不明确或者不懂的地方,欢迎来到新世界主机咨询了解,详情请咨询Skpey咨询:vpssj.net@hotmail.com, 。我们必将竭诚为您服务。