Hadoop之HDFS使用

前言

hdfs分为3个客户端:web,shell,java这三类客户端,下面会一,一介绍。
还没搭建HDFS的,链接: 看这里

一. web客户端

仅仅提供文件浏览和删除,地址:http://linux01:9870,然后点击browse file system。
如果不清楚是不是9870,查看端口使用ntestat -ntlp,java程序带0.0.0.0IP地址对应的端口,挨个尝试。
在这里插入图片描述

二. 命令行客户端

先启动HDFS集群服务:

start-dfs.sh

hdfs目录地址在:http://linux01:8020/下,也就是hdfs-site.xml里面dfs.namenode.rpc-addres对应的value值。
命令格式:

hdfs dfs -<选项...>   本地/hdfs路径  本地/hdfs路径

查看hdfs命令大全:

hdfs dfs

本机文件上传到hdfs:

hdfs dfs -put 本地文件路径 hdfs://linux01:8020/ #将本机文件上传到了hdfs的虚拟目录的根目录下了

从hdfs里下载文件到本机上:

hdfs dfs -get hdfs://linux01:8020/路径   /root/   

当把文件上传到hdfs,hdfs会把其复制成3个副本分布存储在集群的随机3个datanode上,默认3个副本。当文件大于128M,hdfs则会分成几块存储。因为文件太大,容易造成传输困难和降低程序处理效率。
hdfs的datanode块存储路径:

/opt/hdpdata/data/current/BP-714099719-192.168.81.34-1619279212859/current/finalized/subdir0/subdir0

这里将一个500多M的文件上传给HDFS。
在这里插入图片描述
在看linxu01机器上datanode存储的块:
在这里插入图片描述
可以看见hdfs把这个文件分成了3块,每个块还有对应的附属meta文件(包含对块的一些描述信息,比如校验和,防止块被私自修改)。
这里面134217728是文件字节大小,除以2次1024就得到128M。
你还能在集群的其他2台机器上看见相同的块文件副本,如果你把其他一台或者2台的副本给删除,下次datanode汇报自己块信息给namedata时,就会发现某些机器的副本不在了,就会命令存在这些副本的datanode复制自己的副本给他们,一

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值