hdef shell命令
hdfs dfs //显示hdfs shell客户端命令
df 磁盘剩余空间
1.从本地上传数据文件
登录一台DN或者NN
创建一个文件
cd /opt/installpkg/
vim word.txt
hdfs dfs -copyFromLocal word.txt /
//将当前本地的文件word 上传到根hdfs目录
查看文件
cd /usr/local/apps/hadoop-2.7.7/data/dfs/data/current/BP-563431171-192.168.247.101-1560329820138/current/finalized/subdir0/subdir0
cat blk_1073741825
2. 删除数据文件
hdfs dfs -rm -f -r /word.txt
//删除根目录下的指定文件
//删除一个datanode的其中一个文件的数据文件,NN监听默认6小时后有反应并更新状态
3. 停止指定DN
登录指定DN服务器
cd sbin
./hadoop-daemon.sh stop datanode
//DN3秒发送一个心跳给NN
//DN下线之后 NN需要默认十分钟30秒后才会更新宕机状态
4. 删除数据文件并下线DN然后再上线
HDFS会保持副本数,会在DN上线时重新拷贝一份副本到恢复后的DN
5. 设置副本数量
//设置副本数位2 根目录
hdfs dfs -setrep 2 /
//减少副本数后 HDFS会(在默认时间在默认时间后??)随机删除一个副本
如果修改了一个存储的文件,减少副本数,是不会删除文件的 (副本数3-》2)
block实验总结
-
nn的副本策略能够保证数据的副本数满足设置的副本数
比如有3个节点,副本数是2,其中一个有该block的节点下线,NN
会将这个节点的block复制到其他节点也保证副本数还是2
特例:如果集群中只有3台节点,副本数4,情况如何?block只存3份 -
节点下线
节点下线后nn会将该节点上的数据复制到其他节点,以保证副本数
a)如果节点下线后又再次上线,该如何处理
i.如果数据损坏了,该节点再次上次后损坏的数据不会删除。(注意,运维人员可以使用工具检测损坏的数据,然后删除)
ii.如果数据没有损坏,这时候block的副本数就多了1个,nn就要随机在一个dn上进行删除一个副本。以保证副本数。
查看根目录下文件数
hdfs dfs -ls /
查看指定文件内容(不管分成多少块,查看所有)
hdfs dfs -cat /word.txt
创建文件存储目录
hdfs dfs -mkdir -p /a/b/a
将HDFS文件保存到本地服务器
hdfs dfs -copyToLocal /word.txt /opt/ww.txt
修改指定文件的读写执行权限
hdfs dfs -chmod 777 /word.txt
修改文件的所属用户
hdfs dfs -chown xx:xx
修改文件的组
hdfs dfs -chgrp yyy /word.txt
修改副本数
hdfs dfs -setrep 2 /
查找指定目录或文件
hdfs dfs -find /
hdfs dfs -find /word.txt
hdfs dfs -find / -name word.txt
复制(将根目录下的word.txt复制到a下)
hdfs dfs -cp /word.txt /a/
将本地的文件上传到指定目录的指定名称并删除本地
hdfs dfs -moveFromLocal ./word.txt /123.txt
内部文件移动
hdfs dfs -mv /word.txt /a/
内部文件复制(将根目录下的word.txt复制到a下)
hdfs dfs -cp /word.txt /a/
删除指定文件
hdfs dfs -rm /a/word.txt
删除文件夹
hdfs dfs -rm -f -r /a
上传文件
cd /opt
hdfs dfs -put aa.txt /
下载文件
hdfs dfs -get /aa.txt
查看文件默认尾部十条信息
hdfs dfs -tail /word.txt
touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件
hdfs dfs -touch /wwww.txt
追加(将本地文件内容追加到指定HDFS文件)
hdfs dfs -appendToFile qq.txt /word.txt
合并文件(将HDFS文件内容与本地合并保存在本地文件中)
hdfs dfs -getmerge /word.txt qq.txt (1对1)
hdfs dfs -getmerge /word.txt /123.txt qq.txt (2对1)
查看指定HDFS目录的文件/文件夹信息
hdfs dfs -count /
0 4 182256 /
文件夹数 文件数 文件夹大小
hdfs dfs -count /word.txt
0 1 182256 /word.txt
文件夹数 文件数 文件大小