HDFS学习

一.HDFS初识

1.1是什么

        HDFS是hadoop的分布式文件系统

1.2组件角色

        HDFS中组件有3个,包括NameNode,DataNode,Client

        NameNode是元数据管理者,负责管理和记录文件的分块和存储的节点

        DataNode是工作节点,负责数据块的读写和检索操作

        Client是客户端,负责代表用户和NameNode和DataNode的交互,来访问整个系统的对象

二.HDFS读写文件操作

2.1读文件操作流程

        2.1.1client向namenode发送请求,寻找数据块对应的位置

        2.1.2NameNode返回数据块的元数据信息

        2.1.3client直接和datanode交互,读取每一个block块的内容

2.2写文件操作流程

        2.2.1client向namenode发送请求,寻找可以写数据的block块

        2.2.2client获取到可以写数据的block块信息后,向DataNode中的block块进行写操作

                写完第一个block块之后,以package的形式,复制到其他的block块上

        2.2.3等待所有数据块全部写完之后,client收到DataNode的返回信息,然后告诉namenode

                datanode会向namenode报告所有block块的元数据信息

三.HDFS的高可用

        1.冗余备份,是为了防止宕机,导致数据丢失

        2.跨机架副本存放,是为了防止整个机架的宕机

        3.心跳检测,是为了确认datanode没有宕机

        4.数据完整性检测,当客户端从datanode获取内容时,会和之前的数据进行比较

        5.安全模式,启动HDFS的时候,会启动安全模式,这时候不能进行写操作,,当namenode收到所有元数据之后,确认安全后才会退出

        6.核心文件备份,这里的核心文件是指映像文件和事务日志文件,这些文件损坏可能会导致HDFS无法使用

        7.空间回收,从hdfs删除的文件会先放在/trash中,这个文件会定期清理,也可以在清理前从这里面找到删除的文件

四.HDFS的shell应用

4.1常用命令

        hdfs dfs -ls

        hdfs dfs -cat /user/lidongpeng

        hdfs dfs -mkdir

        hdfs dfs -rm -r

4.2HDFS的javaApi应用

4.2 操作步骤

        4.2.1maven环境搭建

                pom配置依赖

                编码实现

                maven打包

                上传到本地

                通过yarn的命令执行jar包

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值