HDFS_副本和认证

一、 三副本策略

  1. 三副本策略的含义

    1)如果写请求方所在机器是其中一个DataNode,则直接存放在本地,否则随机在集群中选择一个DataNode

    2)第二个副本存放在不同于第一个副本所在的机架

    3)第三个副本存放于第二个副本所在的机架,但是属于不同的节点

  2. 三副本策略的使用

    需要开启机架感知功能,才能正常使用副本放置策略:

    <name>net.topology.script.file.name</name>
    <value>/path/to/rackAware.py</value>
    

    以下命令可以得到文件所属块的详细位置信息:

    hdfs fsck <path> -files -blocks -locations
    

二、 关于内部认证

  1. 内部认证机制的种类

    BlockToken认证(基于令牌的块级别粒度的验证)和Sasl认证

  2. BlockToken认证

    <name>dfs.block.access.token.enable</name>
    <value>true</value>
    

    该配置项默认为false状态,如果启用块认证的功能,可能会对HDFS的块并发读写性能造成影响。因为里面有一些反序列化操作和很多认证操作,而且这些操作在每次的块操作中都会进行。

  3. 内部认证机制之Sasl认证

    Sasl认证,是一套公开的认证机制,全称是Simple Authentication and Securiyt Layer(简单认证与安全层)

    在每次的数据传输中,客户端与服务端都会进行一次握手(handshake),在Sasl认证过程中,生成的用户名、密码都被Base64编码处理过,Base64编码的处理可以防止明文的暴露。

  4. 内部认证机制的对比

    共同点:
    ① 没有空间局部的限制,都是数据全局的认证
    ② 都会对数据读写效率造成一定程度的影响

    不同点:
    ① 认证维度不同:
    BlockToken认证的粒度较细,是针对块级别的认证,会对每次的块操作做认证。Sasl则是对每次数据传输操作做认证

    ② 复杂性不同:
    

    BlockToken的认证过程相对简单、清晰。而Sasl认证体系则复杂一些,会经过握手阶段,而且中间还可以配置相关的认证防护级别(Qop)的参数。论完整度而言,Sasl比BlockToken更加完整化、体系化一些。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值