大数据学习——分布式文件系统HDFS

目录

1. HDFS架构

2.HDFS的使用

2.HDFS shell操作

ls

text

mv

put

rm

3.HDFS shell操作练习


1. HDFS架构

  • 1个NameNode/NN(Master) 带 DataNode/DN(Slaves) (Master-Slave结构)

  • 1个文件会被拆分成多个Block

  • NameNode(NN)

    • 负责客户端请求的响应

    • 负责元数据(文件的名称、副本系数、Block存放的DN)的管理

      • 元数据 MetaData 描述数据的数据

    • 监控DataNode健康状况 10分钟没有收到DataNode报告认为Datanode死掉了

  • DataNode(DN)

    • 存储用户的文件对应的数据块(Block)

    • 要定期向NN发送心跳信息,汇报本身及其所有的block信息,健康状况

  • 分布式集群NameNode和DataNode部署在不同机器上

2.HDFS的使用

  • 启动HDFS

    [hadoop@hadoop00 sbin]$ ./start-dfs.sh
    Starting namenodes on [hadoop00]
    hadoop00: starting namenode, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs/hadoop-hadoop-namenode-hadoop00.out
    localhost: starting datanode, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs/hadoop-hadoop-datanode-hadoop00.out
    Starting secondary namenodes [0.0.0.0]
    0.0.0.0: starting secondarynamenode, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs/hadoop-hadoop-secondarynamenode-hadoop00.out
    [hadoop@hadoop00 sbin]$ jps
    4416 DataNode
    4770 Jps
    4631 SecondaryNameNode
    4251 NameNode
    • 来到$HADOOP_HOME/sbin目录下

    • 执行start-dfs.sh

    • 可以看到 namenode和 datanode启动的日志信息

    • 通过jps命令查看当前运行的进程

    • 可以看到 NameNode DataNode 以及 SecondaryNameNode 说明启动成功

  • 通过可视化界面查看HDFS的运行情况

    • 通过浏览器查看 192.168.19.137:50070

2.HDFS shell操作

  • 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式

    • ls

      使用方法:hadoop fs -ls <args>

    • text

      使用方法:hadoop fs -text <src>

      将源文件输出为文本格式。允许的格式是zip和TextRecordInputStream。

    • mv

      使用方法:hadoop fs -mv URI [URI …] <dest>

      将文件从源路径移动到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。不允许在不同的文件系统间移动文件。 示例:

      • hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2

      • hadoop fs -mv hdfs://host:port/file1 hdfs://host:port/file2 hdfs://host:port/file3 hdfs://host:port/dir1

      返回值:

      成功返回0,失败返回-1。

    • put

      使用方法:hadoop fs -put <localsrc> ... <dst>

      从本地文件系统中复制单个或多个源路径到目标文件系统。也支持从标准输入中读取输入写入目标文件系统。

      • hadoop fs -put localfile /user/hadoop/hadoopfile

      • hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir

      • hadoop fs -put localfile hdfs://host:port/hadoop/hadoopfile

      • hadoop fs -put - hdfs://host:port/hadoop/hadoopfile 从标准输入中读取输入。

      返回值:

      成功返回0,失败返回-1。

    • rm

      使用方法:hadoop fs -rm URI [URI …]

      删除指定的文件。只删除非空目录和文件。请参考rmr命令了解递归删除。 示例:

      • hadoop fs -rm hdfs://host:port/file /user/hadoop/emptydir

      返回值:

      成功返回0,失败返回-1。

  • http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html

3.HDFS shell操作练习

  • 在centos 中创建 test.txt

    touch test.txt
  • 在centos中为test.txt 添加文本内容

    vi test.txt
  • 在HDFS中创建 hadoop001/test 文件夹

    hadoop fs -mkdir -p /hadoop001/test
  • 把text.txt文件上传到HDFS中

    hadoop fs -put test.txt /hadoop001/test/
  • 查看hdfs中 hadoop001/test/test.txt 文件内容

    hadoop fs -cat /hadoop001/test/test.txt
  • 将hdfs中 hadoop001/test/test.txt文件下载到centos

    hadoop fs -get /hadoop001/test/test.txt test.txt
  • 删除HDFS中 hadoop001/test/

    hadoop fs -rm -r /hadoop001

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值