Hadoop+Spark大数据技术(微课版)曾国荪、曹洁版思维导图第二章 HDFS大数据分布式存储(2)

		* 基于大量分布节点上的本地文件系统。
	- #### 2.流式访问
	
	
		* 批量处理数据
		
		
			+ 提高数据吞吐率
	- #### 3.容错
	
	
		* 正确处理故障,确保数据处理继续进行,且不丢失数据。
	- #### 4.简单的文件模型
	
	
		* 一次写入,多次读取。
		* 支持在文件末端追加数据,不支持在文件位置任意修改。
	- #### 5.数据块存储模式
	
	
		* 默认数据块64MB
	- #### 6.跨平台兼容性
	
	
		* 采用JAVA语言,支持JVM的机器都可以运行HDFS。
+ ### 2.2 HDFS的存储架构及组件


	- #### 2.2.1 HDFS的存储架构
	
	
		* 采用经典的主从架构 4个部分组成
		
		
			+ Client (客户端)
			
			
				- DataNode (数据节点)
				
				
					* NameNode (名称节点)
					
					
						+ SecondaryNameNode (第二名称节点)
		* 一个HDFS集群由一个名称节点和一定数量的数据节点组成。
		* 名称节点和数据节点共同协调完成分布式的文件存储服务。
	- #### 2.2.2 数据块
	
	
		* 传统的文件系统
		
		
			+ 为提高磁盘读写效率,一般以数据块为单位,而不是以字节为单位,数据块是磁盘读写的最小单位。
			+ 文件系统的数据块大小通常是几千字节,而磁盘的数据块大小通常是512B。
		* HDFS
		
		
			+ 这里的数据块是一个更大的单元,Hadoop 2.x版本默认的数据块大小是128MB。
			+ 如同单一磁盘的文件系统中的文件,HDFS中的文件被分解成数据块大小的若干数据块,独立保存在各单元。
			+ HDFS使用数据块的好处
			
			
				- 文件存储不受单一磁盘大小限制。
				
				
					* 集群的若干磁盘共同存储。
				- 简化存储系统的存储过程。
				
				
					* 数据块大小固定,简单计算给定磁盘上存储数据块个数。
	- #### 2.2.3 DataNode
	
	
		* 定义
		
		
			+ 一个数据节点运行一个数据节点进程。
			+ 可作为服务器接收来自客户端访问处理数据块读写请求。
			+ 通过心跳消息定时向名称节点发送所存储的文件信息。
		* 作用
		
		
			+ 管理所在节点上的数据存储。
	- #### 2.2.4 NameNode
	
	
		* 定义
		
		
			+ 名称节点是一个中心服务器
		* 作用
		
		
			+ 管理文件系统的命名空间和元数据
			+ 管理客户端对文件的访问
		* 保存文件系统的3种元数据
		
		
			+ (1)命名空间,即HDFS的目录结构。
			+ (2)数据块与文件名的映射表。
			+ (3)每个数据块副本的位置信息,每一个数据块默认有3个副本。
		* 元数据信息
		
		
			+ (1)文件的owership和permission。
			+ (2)文件包含哪些数据块。
			+ (3)数据块保存在哪个DataNode(由DataNode启动时上报)上。
	- #### 2.2.5 SecondaryNameNode
	
	
		* 备份NameNode的元数据,以便失效恢复。
		* 周期性(周期的长短可配置)保存
	- #### 2.2.6 心跳消息 (Heartbeat)
	
	
		* 名称节点周期向管理的各数据节点发送心跳消息,收到心跳消息的数据节点回复。
	- #### 2.2.7 客户端
	
	
		* 严格来讲,客户端(代表用户)并不能算是HDFS的一部分
		* 是用户和HDFS通信的渠道之一,部署的HDFS都会提供客户端。
		* 为用户提供了一种与Linux中的Shell类似的方式访问 HDFS的数据。
		* 支持常见的操作,如打开、读取、写入等
		* 通过与NameNode 和DataNode 交互来访问HDFS中的文件。
	- ### 2.3 HDFS的Shell 操作
	
	
		* 适用
		
		
			+ (1)hadoop fs:适用于任何不同的文件系统,例如本地文件系统和HDFS。
			+ (2)hadoop dfs:只适用于HDFS。
			+ (3)hdfs dfs:与hadoop dfs命令一样,也只适用于HDFS。
		* #### 2.3.1查看命令的使用方法
		
		
			+ 启动Hadoop
			
			
				- cd /usr/local/hadoop
				- ./sbin/start-dfs.sh
			+ 关闭Hadoop
			
			
				- ./sbin/stop-dfs.sh
			+ 查看支持的操作
			
			
				- cd /usr/local/hadoop
				- ./bin/hdfs dfs
			+ 查看某命令的用法
			
			
				- 例如,查cp命令的用法
				- ./bin/hafs dfs -help cp
		* #### 2.3.2 HDFS常用的Shell 操作
		
		
			+ 1.创建目录——mkdir 命令
			
			
				- hdfs dfs -mkdir [-p] <path>
				- -p参数表示创建目录时先检查路径是否存在,如果不存在,则创建相应的各级目录。
			+ 2.列出指定目录下的内容——ls命令
			
			
				- hdfs dfs -ls -d -h -R
				- -d:将目录显示为普通文件。
				- -h:使用便于操作人员读取的单位信息格式。
				- -R:递归显示所有子目录的信息。
			+ 3.上传文件——put命令

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

升。**

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值