`

cdh4安全机制之AccessControlException

阅读更多
我上一篇文章写了AuthorizationException,这篇文章写写他的父类AccessControlException。
其实调用AccessControlException的地方还是挺多的,但是最后都到了checkPermission。
checkOwner调用的也是checkPermission。

 private FSPermissionChecker checkOwner(String path
      ) throws AccessControlException, UnresolvedLinkException {
    return checkPermission(path, true, null, null, null, null);
  }


checkPermission的详细方法:这个方法是在FSNamesystem。
private FSPermissionChecker checkPermission(String path, boolean doCheckOwner,
      FsAction ancestorAccess, FsAction parentAccess, FsAction access,
      FsAction subAccess) throws AccessControlException, UnresolvedLinkException {
    FSPermissionChecker pc = new FSPermissionChecker(
        fsOwner.getShortUserName(), supergroup);
    if (!pc.isSuper) {
      dir.waitForReady();
      readLock();
      try {
        pc.checkPermission(path, dir.rootDir, doCheckOwner,
            ancestorAccess, parentAccess, access, subAccess);
      } finally {
        readUnlock();
      } 
    }
    return pc;
  }


所以下一步的重点就是checkPermission的调用情况了。
checkPermission的调用
1 DFSClient-->NameNodeRpcServer-->FSNamesystem   如checkTraverse。
2 RPC --> ProtobufRpcEngine--> ClientNamenodeProtocolProtos -->  ClientNamenodeProtocolServerSideTranslatorPB--> NameNodeRpcServer -->FSNamesystem
如 checkPathAccess 这个主要是调用callMethod
3 NameNodeAdapter --> FSNamesystem  

其实这个和我想的很有差距。我的想法是起码在namaNode和dataNode中出现权限相关的吧。但是却没有发现。nameNode这个应该是分散到了NameNodeRpcServer和NameNodeAdapter 。那么dataNode的呢?

FSNamesystem   里面还有个checkOperation方法,这个做的是很简单的,只是看看是不是读操作,看看系统的配置是否让读,其实就是系统准备好了没,从他抛出的异常也可以看的出来:StandbyException。

分享到:
评论

相关推荐

    CDH安全技术方案.docx

    TLS提供了传输层的加密,Kerberos实现了强大的身份验证,Sentry提供了细粒度的数据访问控制,而Hive的集成则将这些安全机制应用到实际的数据操作中。这样的方案为CDH环境提供了全面的安全保障,是大数据平台安全运营...

    cloudera CDH4 installation guide 4.0(pdf)

    相较于早期版本,CDH4在性能、安全性和易用性方面进行了显著提升,支持更广泛的操作系统,并对Hadoop生态系统的多个组件进行了集成和优化。 ### 支持的操作系统 在安装CDH4前,了解其支持的操作系统至关重要。CDH4...

    hadoop-cdh4-0.3.zip

    1. **Hadoop CDH4**: CDH4是Cloudera公司的Hadoop发行版,包含了一系列经过测试和集成的Hadoop生态组件,如HDFS、MapReduce、YARN、HBase、Hive等,提供了企业级的稳定性和安全性。 2. **Presto**: Presto是一个高...

    CDH+集群安全启动和关闭.doc

    ### CDH集群安全启动与关闭知识点详解 #### 一、CDH集群简介 Cloudera Distribution Including Apache Hadoop (CDH) 是一个基于Apache Hadoop的企业级大数据平台,由Cloudera公司提供支持和服务。CDH集成了众多...

    CDH之ZK升级.doc

    ### CDH之ZK升级知识点详解 #### 一、背景介绍 在大数据处理与分析领域,Cloudera Distribution Including Hadoop (CDH) 是一款非常流行的企业级Hadoop发行版,它集成了众多开源项目来提供高效的数据处理能力。...

    presto-hive-cdh4-0.69.zip

    《Presto-Hive-CDH4:大数据SQL查询引擎的开源之旅》 Presto,这个由Facebook开源的大数据查询引擎,以其高效、灵活和可扩展性在大数据领域赢得了广泛的认可。尤其在处理PB级别的大规模数据时,Presto展现出了卓越...

    cdh hadoop官方安装文档

    3. **安装CDH4之前的准备工作(BEFORE YOU INSTALL CDH4 ON A CLUSTER)** 4. **支持的操作系统(SUPPORTED OPERATING SYSTEMS FOR CDH4)** 5. **CDH4安装流程(CDH4 INSTALLATION)** 6. **CDH4与MapReduce(CDH4 ...

    CDH5.12&CDH6.0安装文档.zip

    总结,CDH5.12和CDH6.0的安装过程虽然大体相似,但CDH6.0引入了更多新特性,对系统的安全性和性能进行了优化。熟练掌握这两个版本的安装,对于理解和管理大数据集群至关重要。通过不断的学习和交流,我们可以更好地...

    CDH6.3.2之升级spark-3.3.1.doc

    3. **安全设置**:如果集群中有安全设置(如Kerberos认证),需要确保新的Spark版本也支持这些设置。 4. **资源管理**:升级后可能需要调整YARN的资源分配策略,以适应新版本Spark的特性。 综上所述,升级Spark版本...

    ubuntu-CDH6.3.2完整安装包网盘下载地址

    CDH6.3.2完整安装包网盘下载,包含 CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel、CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel.sha1、CDH-6.3.2-1.cdh6.3.2.p0.1605554-bionic.parcel.sha256、CDH-6.3.2-1....

    CDH6.3.2安装包下载

    由于CSDN上传文件大小限制,大家可以下载《CDH6.3.2下载.txt》获取网盘地址进行下载,我打包了CDH6.3.2 搭建所需要的各种安装文件,包括: manifest.json cloudera-manager.repo RPM-GPG-KEY-cloudera cm6.3.1-...

    适配CDH6.3.2的Spark3.2.2

    9. **安全性**:Spark3.2.2加强了与Kerberos的集成,提供了更好的身份验证和授权机制,以满足企业级的安全需求。 10. **监控和诊断**:新增了更丰富的指标和日志,帮助用户监控和诊断Spark作业的运行状况,更快定位...

    CDH7.1.5离线安装包下载

    CDH7及以上版本已经更名为CDP 本资源打包了CDH7.1.5 搭建所需要的各种安装文件,包括: cm7.2.4-redhat7.tar.gz manifest.json cloudera-manager.repo RPM-GPG-KEY-cloudera CDH-7.1.5-1.cdh7.1.5.p0.7431829-el7....

    cdh7.1.7和cm7.4.4软件包下载及cdh7安装步骤

    cdh7.1.7包括: CDH-7.1.7-1.cdh7.1.7.p0.15945976-el7.parcel CDH-7.1.7-1.cdh7.1.7.p0.15945976-el7.parcel.sha1 CDH-7.1.7-1.cdh7.1.7.p0.15945976-el7.parcel.sha256 manifest.json cm7.4.7包括: cloudera-...

    cdh6.3.2 集成 Phoenix

    1. **Phoenix架构**:Phoenix是建立在JDBC之上的,它将SQL查询转化为HBase的原生操作,通过优化器和执行引擎实现高效的查询性能。Phoenix使用元数据存储来跟踪表和索引的信息,这些元数据存储在HBase表中。 2. **...

    CDH6.3.2集成flink1.14.5 parcel

    "Parcel"是CDH中用于分发和管理软件包的一种机制,类似于RPM或DEB包。 在描述中提到“实测可用,自己编译的”,意味着这个集成已经过实际测试,证明可以正常工作,并且Flink 1.14.5是作者自行编译以适应CDH 6.3.2...

    cloudera CDH4 quick start guide 4.0(pdf)

    ### Cloudera CDH4快速入门指南 #### 关于本指南 Cloudera CDH4 快速入门指南是为那些希望快速上手并熟悉Cloudera Distribution Including Apache Hadoop (CDH4)的用户而设计的。此文档提供了安装、配置以及运行CDH...

    Apache Atlas 2.1.0 集成CDH6.3.2 编译包

    4. **元数据管理**:Atlas提供了丰富的元数据模型,支持自定义实体和属性,可以为CDH中的表、列、分区等对象创建元数据,方便用户理解和操作数据。 5. **数据安全**:Apache Atlas可以通过定义数据分类和标签来实现...

    CDH6.3.2安装包及下载地址

    ### CDH 6.3.2 安装包与下载指南 #### 一、背景介绍 自2021年1月31日起,Cloudera宣布其所有软件产品(包括Cloudera Data Hub,简称CDH)均需有效的订阅才能获取。这意味着用户无法再像以往那样免费下载CDH的各种...

Global site tag (gtag.js) - Google Analytics