hadoop 拾遗补缺(一) HDFS基础与客户端简单操作

1、HDFS特点:

  • 高容错性:允许集群中某些机器宕机影响正常的存储
  • 廉价性:对单台服务器要求不会太高,成本低
  • 安全性:一个数据有多个副本,即使某台机器宕机也不会造成数据丢失
  • 扩展性:集群可在工作状态下随时扩展增加容量
  • 元数据限制:为提升查找效率,它在namenode的内存中存储一份,在磁盘中也会存储一份备份,不要存储大量小文件,以免给namenode工作压力,且在分布式环境下,效率会非常低
  • 不可随机修改:在HDFS中文件不可以随机进行修改

2、HDFS 存储:元数据基于内存存储,其数量局限于namenode内存大小

​ 以文件为单位进行管理的分布式存储系统

​ 数据存储以物理块为基本单位存储多个副本,存储在不同的机器上

​ 将物理文件进行切块存储

​ 以物理切块的方式存储在集群中的datanode上

3、主从架构 :会有单节点故障问题,当namenode宕机会整个集群无法工作

Namenode:记录数据存储的位置
  • 提供虚拟的目录供外部进行读与访问
  • 维护文件系统的元数据,并根据客户端的请求返回相应的元数据,返回分配的任务
  • 接收datanode汇报的数据存储情况,副本复制的任务分配(比如副本中某个数据块丢失时,它会自动从另一个位置的副本处同步一个过去)
Datanode:
  • 存储真正的块数据

  • 真正处理用户读写的请求

  • 向namenode注册和汇报:获取集群一个唯一的标识以及集群的版本,汇报自己的存储能力,汇报自己存储的数据块的信息

4、修改默认操作的文件系统

配置core-site.xml

<property>
	<name>fs.defaultFS</name>
	<value>hdfs://linux01:8020</value>
</property>

BP目录:block pool 文件块池,默认是hdfs的编号为命名

blk_1073741830: 具体文件块,若是多个多副本,名称后面是递增在不同的节点上存储其副本

5、安装时无法正常运行的可能性问题

  • 历史hadoop没有清理干净、如datanode\namenode中的信息与现在的相互影响
  • 主机名不对
  • 域名没做映射 host
  • ip地址不对
  • 防火墙没关或端口没开
  • java_home没正确配置
  • 免密配置不对

6、关键配置:hdfs-site.xml

​ namenode地址:主机名:8020或9000

​ dfs.namenode.name.dir: namenode元数据存储位置

​ dfs.datanode.data.dir: 存储数据的位置

​ dfs.namenode.secondary.http-address: secondary主机位置:主机名:50090

7、客户端Shell操作命令:

hdfs  dfs   -命令  -参数   /操作的路径

-df [-h] 路径 查看分布式系统的总存储空间

-du[-shvx] 查看文件或文件夹的大小

-chmod -R 777 /aaa 修改aaa文件夹的权限

-mkdir -p /aaa/bbb/ccc/dd 创建多级文件夹

-find / -name aa 从根目录开始找名字为aa 的文件

8、HDFS的JAVA客户端

  • 创建maven项目,添加依赖
  • 操作步骤
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>pub.ryan</groupId>
    <artifactId>codereview</artifactId>
    <version>1.0</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pub.ryan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值