hadoop的shell命令

概念
hsdf(hadoop distributed file system) 是分布式文件管理系统的一种
适合一次写入,多次读取的场景,不支持文件的修改,适合做数据分析,不适合做网盘应用
优点
高容错性:多个副本,丢失的副本可恢复
适合处理发数据:数据规模大,文件规模大
在廉价机器上,产生多副本
缺点
不适合低延时访问
无法高效处理小文件
储存小文件的话,它会占用namenode大量的内存来存储文件,目录,和块信息。这样是不可取的。因为namenode的内存总是有限的、
小文件的寻址时间大于读取时间,这和hdfs的设计目标不符
一个文件只能有一个写,不允许多线程对同一个文件写入hdfs
仅支持追加,不支持随机修改
hdfs文件块大小
设置太小会增加寻址时间,设置太大会,从磁盘传输数据的时间会明显大于定位到这个块开始位置所需的时间,导致程序在处理这块数据时,会非常慢
总结:hdfs块的大小设置主要取决于磁盘的传输速率

Shell命令
1.基本语法
bin/hadoop fs 具体命令 OR bin/hdfs dfs 具体命令
dfs是fs的实现类

./bin/hadoop fs -du /
显示文件夹大小

./bin/hadoop fs -rm /sanguo/suguo/LICENSE.txt
删除文件

./bin/hadoop fs -tail /sanguo/suguo/LICENSE.txt
显示文件尾部内容

./bin/hadoop fs -put LICENSE.txt /sanguo/suguo
从本地向hdfs上传文件

./bin/hadoop fs -getmerge /sanguo/suguo/* ./testMerge.txt
从hdfs合并文件下载到本地

./bin/hadoop fs -get /sanguo/suguo/test.txt
从hdfs下载单个文件

./bin/hadoop fs -mv /sanguo/test.txt /
hdfs上移动文件

/bin/hadoop fs -cp /sanguo/suguo/test.txt /sanguo
hdfs 复制文件

bin/hadoop fs -copyToLocal /sanguo/suguo/test.txt
从hdfs拷贝到本地 等于get

bin/hadoop fs -copyFromLocal test2.txt /sanguo/suguo/
从本地复制到hdfs 等于put

bin/hadoop fs -chgrp root /sanguo/suguo/test.txt
修改所有群组 chmod chowd

bin/hadoop fs -cat /sanguo/suguo/test.txt
hdfs查看内容

bin/hadoop fs -appendToFile test1.txt /sanguo/suguo/test.txt
将本地的文件追加到hdfs的指定文件之后

bin/hadoop fs -moveFromLocal test.txt /sanguo/suguo
将本地文件剪切到hdfs

bin/hadoop fs -mkdir -p /sanguo/suguo
在hdfs创建文件夹 -p是创建多级目录时候需要加的

bin/hadoop fs -ls -R /
删除

设置副本数

./bin/hadoop fs -setrep 2 /sanguo/suguo/test.txt

设置成10

会等到你的集群中增加新的到10之后才能有 新来一个 那台机器有一个副本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值