HDFS----shell命令

HDFS定义:

HDFS Hadoop Distributed File System ),它是一个文件系统 ,用于存储文件,通过目
录树来定位文件; 其次,它是分布式的 ,由很多服务器联合起来实现其功能,集群中的服务
器有各自的角色。
HDFS 的使用场景:适合一次写入,多次读出的场景。 一个文件经过创建、写入和关闭
之后就不需要改变。

HDFS组成架构:

  • NameNode(nn):就是Master,它是一个主管、管理者。
(1)管理HDFS的名称空间;
(2)配置副本策略;
(3)管理数据块(Block)映射信息;
(4)处理客户端读写请求。
  • DataNode:就是Slave。NameNode 下达命令,DataNode执行实际的操作。
(1)存储实际的数据块;
(2)执行数据块的读/写操作。
  • Secondary NameNode:并非NameNode的热备。当NameNode挂掉的时候,它并不能马上替换NameNode并提供服务。
1 )辅助 NameNode ,分担其工作量,比如定期合并 Fsimage Edits ,并推送给 NameNode
2 )在紧急情况下,可辅助恢复 NameNode

HDFS----shell命令

前提:Hadoop集群已经配置完成,执行命令前群起集群。

  • 上传

-moveFromLocal : 从本地剪切粘贴到HDFS(本地(linux)就没有这个文件了)

hadoop fs -mkdir sanguo #在hdfs上创建一个目录(在hdfs上可通过指定端口在网页上访问)

vim weiguo.txt #然后输入一些内容

hadoop fs -moveFromLocal ./weiguo /sanguo  #把当前目录下的weiguo剪切到hdfs上的sanguo目录下

 执行完后,weiguo.txt在本地就没了,剪切过去了,

查看hdfs:有了

-copyFromLocal:从本地文件系统中拷贝文件到 HDFS 路径去(本地还存在)

vim shuguo.txt #然后输入一些内容

hadoop fs -copyFromLocal ./shuguo /sanguo  #把当前目录下的shuguo拷贝到hdfs上的sanguo目录下

-put :等同于 copyFromLocal ,生产环境更习惯用 put
vim shuguo.txt #然后输入一些内容

hadoop fs -put ./shuguo /sanguo  #把当前目录下的shuguo拷贝到hdfs上的sanguo目录下

-appendToFile :追加一个文件到已经存在的文件末尾
vim liubei.txt #然后输入一些内容

hadoop fs -appendToFile ./liubei.txt /sanguo/shuguo  #把liubei内容追加到sanguo目录下的shuguo中

  • 下载

-copyToLocal:从 HDFS 拷贝到本地
hadoop fs -copyToLocal /sanguo/shuguo.txt #把hdfs上的shugo下载到本地

-get:等同于 copyToLocal,生产环境更习惯用 get
hadoop fs -get /sanguo/shuguo.txt ./shuguo2.txt 
#不仅可以下载到本地同时还能修改名字,上面就是把shuguo.txt修改成shuguo2.txt
-setrep:设置 HDFS 中文件的副本数量
 hadoop fs -setrep 10 /sanguo/shuguo.txt
#把备份数改成10个

很多shell命令和linux命令一样。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值