美文网首页大数据BigData
HDFS分布式系统Shell操作

HDFS分布式系统Shell操作

作者: geekAppke | 来源:发表于2018-10-29 10:52 被阅读10次

不是操作本地文件系统,要加前缀hdfs dfs
ll -h 易读显示文件大小
hdfs面向字节切割

for i in `seq 100000`;do  echo "hello sxt $i" >> test.txt; done

hdfs dfs -D dfs.blocksize=1048576 -put test.txt

定义几个字节,根本不带商量的按字节去切
不够的,有多少算多少

[root@node003 subdir0]# ll
total 182272
-rw-r--r-- 1 root root 134217728 Nov 6 23:01 blk_1073741825
-rw-r--r-- 1 root root  1048583 Nov 6 23:01 blk_1073741825_1001.meta
-rw-r--r-- 1 root root 49377148 Nov 6 23:01 blk_1073741826
-rw-r--r-- 1 root root 385767 Nov 6 23:01 blk_1073741826_1002.meta
-rw-r--r-- 1 root root  1048576 Nov 6 23:22 blk_1073741833
-rw-r--r-- 1 root root 8199 Nov 6 23:22 blk_1073741833_1009.meta
-rw-r--r-- 1 root root 540319 Nov 6 23:22 blk_1073741834
-rw-r--r-- 1 root root 4231 Nov 6 23:22 blk_1073741834_1010.meta
[root@node003 subdir0]# head blk_1073741834
llo sxt 66231
hello sxt 66232
hello sxt 66233
hello sxt 66234
hello sxt 66235
hello sxt 66236
hello sxt 66237
hello sxt 66238
hello sxt 66239
hello sxt 66240
[root@node003 subdir0]# pwd
/var/hadoop/local/dfs/data/current/BP-226754864-[192.168.118.101](192.168.118.101)-1541433023780/current/finalized/subdir0/subdir0

元数据信息,小文件.meta 描述(用本文打开,乱码!)
严格按字节去切,没有那么复杂去考虑东西,这个世界的需求太多了(行、单词、k-v)不可能满足你们所有人!
切开了,计算层、数据需求方自己去解决这个问题!

HDFS-Shell常用操作

命令:hadoop fs
hdfs dfs
说明
-ls / 查看hdfs的根目录
-ls hdfs://master:9000/ 就是hadoop fs -ls /
-ls -R / 递归查看hdfs根目录
-mkdir /d1 创建文件夹d1
(新建文件夹之后,下面的造作默认路径就是d1)所以上传下载最好用绝对路径,不会出错
-mkdir -p /user/root 创建家目录,-p 创建多层
-put <linux-file> <hdfs-dest> 上传数据到hdfs的特定路径中
<hdfs-dest> 不存在时,路径名就是文件名
不指定<hdfs-dest> 默认是家目录
-D dfs.blocksize=1048576 -put 大文件切成多块,指定切割block大小:1M
-get <linux-source> <hdfs-dest> 把数据从hdfs下载到linux的特定路径下
-text <hdfs-file> 查看hdfs中的文件
-help 命令 帮助文档,相当于man
-rm 删除文件
-rm -R 删除文件夹
-ls(r) <path> // 显示当前目录下所有文件
-du(s) <path> // 显示目录中所有文件大小
-count[-q] <path> // 显示目录中文件数量
-mv <src> <dst> // 移动多个文件到目标目录
-cp <src> <dst> // 复制多个文件到目标目录
-rm(r) // 删除文件(夹)
-put <localsrc> <des> // 本地文件上传到hdfs
-copyFromLocal // 同put
-moveFromLocal // 从本地文件移动到hdfs
-get [-ignoreCrc] <src> <localdst> // 下载文件到本地,可以忽略crc校验
-getmerge <src> <localdst> // 将源目录中的所有文件排序合并到一个文件中
-cat <src> // 在终端显示文件内容
-text <src> // 在终端显示文件内容
-copyToLocal [-ignoreCrc] <src> <localdst> // 复制到本地
-moveToLocal <src> <localdst>
-mkdir <path> // 创建文件夹
-touchz <path> // 创建一个空文件

相关文章

网友评论

    本文标题:HDFS分布式系统Shell操作

    本文链接:https://www.haomeiwen.com/subject/tstbtqtx.html