首页 > 技术文章 > HDFS概述

hatcher-h 2020-05-24 15:52 原文

hdfs基本特性

hdfs是分布式文件存储系统
hdfs是主从架构
namenode:主节点,用于处理客户端请求,管理元数据
datanode:从节点,存储数据
分块存储:	
		文件过大,就会把一个大文件分为一个个block块。
		一个block块的默认大小是128M
统一命名空间:
		对外提供一个文件访问的地址: hdfs://node01:8020
namonode元数据管理:namenode存储所有的元数据,方便数据查找
副本机制:
		假设一个文件1280M,需要分为10个block块,如果一个block块损坏,那么这个文件就有缺失。
		所有每个block块都有副本进行备份。
hdfs适用于频繁读取,不适用频繁数据写入。
每次数据写入都需要改变元数据。

hdfs操作命令

hdfs dfs -ls [-R] / 
hdfs dfs -mkdir [-R] /test/input
hdfs dfs -put local hdfs  复制
hdfs dfs -moveFromLocal local hdfs 剪贴
hdfs dfs -mv /test/file1 /test/file2
hdfs dfs -cp /test/file /root/
hdfs dfs -appendToFile local hdfs 追加到文件中
hdfs dfs -cat 
hdfs dfs -rm [-r][-f]
hdfs dfs -chown hadoop:hadoop /test
hdfs dfs -chmod -R 777 /test
hdfs dfs -expunge 清空回收站

hdfs高级命令

文件数量限制以及空间大小限制

hdfs dfs -mkdir -p /user/root/lisi     #创建hdfs文件夹
hdfs dfsadmin -setQuota 2 lisi      # 给该文件夹下面设置最多上传两个文件,上传文件,发现只能上传一个文件
hdfs dfsadmin -clrQuota /user/root/lisi    # 清除文件数量限制


hdfs dfsadmin -setSpaceQuota 4k /user/root/lisi   # 限制空间大小4KB
hdfs dfsadmin -clrSpaceQuota /user/root/lisi   #清除空间限额


查看hdfs文件限额数量
hdfs dfs -count -q -h /user/root/lisi

hdfs  dfsadmin  -safemode

安全模式

安全模式下,只能读数据
hdfs集群刚启动的时候,默认30S钟的时间是出于安全期的

基准测试

布好Hadoop后需要测试读写速度
写入速度
向HDFS文件系统中写入数据,10个文件,每个文件10MB,文件存放到
/benchmarks/TestDFSIO中
hadoop jar /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.0-cdh5.14.0.jar TestDFSIO  -write -nrFiles 10 -fileSize 10MB
正常线上环境写入速度大概20-30M
读取速度
测试hdfs的读取文件性能
在HDFS文件系统中读入10个文件,每个文件10M
hadoop jar /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.0-cdh5.14.0.jar TestDFSIO -read -nrFiles 10 -fileSize 10MB
正常读取速度大概50-100M
线上测压
10G 100G 500G 1T 

推荐阅读