在 Microsoft Purview 中连接和管理 HDFS

本文概述了如何 (HDFS) 注册 Hadoop 分布式文件系统,以及如何在 Microsoft Purview 中对 HDFS 进行身份验证和交互。 有关 Microsoft Purview 的详细信息,请阅读 介绍性文章

支持的功能

元数据提取 完整扫描 增量扫描 作用域扫描 分类 标记 访问策略 血统 数据共享 实时视图

扫描 HDFS 源时,Microsoft Purview 支持提取包括 HDFS 在内的技术元数据:

  • Namenode
  • Folders
  • 文件
  • 资源集

设置扫描时,可以选择扫描整个 HDFS 或选择性文件夹。 在此处了解支持的文件格式。

连接器使用 webhdfs 协议连接到 HDFS 并检索元数据。 不支持 MapR Hadoop 分发。

先决条件

注册

本部分介绍如何使用 Microsoft Purview 治理门户在 Microsoft Purview 中注册 HDFS。

注册步骤

若要在数据目录中注册新的 HDFS 源,请执行以下步骤:

  1. 在 Microsoft Purview 治理门户中导航到 Microsoft Purview 帐户。
  2. 在左侧导航中选择“ 数据映射 ”。
  3. 选择 “注册”
  4. 在“注册源”上,选择“ HDFS”。 选择 继续

“ (HDFS) 注册源 ”屏幕上,请执行以下步骤:

  1. 输入数据源将在目录中列出的 名称

  2. 以 或 http://<namenode>:<port>的形式输入 HDFS NameNode 的https://<namenode>:<port>群集 URL,例如 https://namenodeserver.com:50470http://namenodeserver.com:50070

  3. 选择集合或创建新集合 (可选)

  4. 完成以注册数据源。

    Purview 中 HDFS 源注册的屏幕截图。

扫描

按照以下步骤扫描 HDFS 以自动识别资产。 有关一般扫描的详细信息,请参阅 扫描和引入简介

扫描身份验证

HDFS 源支持的身份验证类型为 Kerberos 身份验证

创建并运行扫描

若要创建并运行新的扫描,请执行以下步骤:

  1. 确保已设置自承载集成运行时。 如果未设置,请使用 此处 提到的步骤创建自承载集成运行时。

  2. 导航到 “源”。

  3. 选择已注册的 HDFS 源。

  4. 选择“ + 新建扫描”。

  5. 在“扫描 source_name”页上,提供以下详细信息:

    1. 名称:扫描的名称

    2. 通过集成运行时进行连接:选择配置的自承载集成运行时。 请参阅 先决条件部分中的设置 要求。

    3. 凭据:选择要连接到数据源的凭据。 请确保:

      • 创建凭据时选择“ Kerberos 身份验证 ”。
      • 在“用户名输入”字段中以 格式 <username>@<domain>.com 提供用户名。 有关详细信息,请参阅 对 HDFS 连接器使用 Kerberos 身份验证
      • 将用于连接到 HDFS 的用户密码存储在密钥中。

      Purview 中 HDFS 扫描配置的屏幕截图。

  6. 选择“ 测试连接”。

  7. 选择 继续

  8. 在“限定扫描范围”页上,选择要扫描 () 的路径。

  9. 在“选择扫描规则集”页上,选择要用于架构提取和分类的扫描规则集。 可以在系统默认规则集和现有自定义规则集之间进行选择,也可以内联创建新的规则集。 有关详细信息,请参阅 创建扫描规则集

  10. 在“设置扫描触发器”页上,选择 扫描触发器。 可以设置计划或运行扫描一次。

  11. 查看扫描并选择“ 保存并运行”。

查看扫描和扫描运行

查看现有扫描:

  1. 转到 Microsoft Purview 治理门户。 在左窗格中,选择“ 数据映射”。
  2. 选择数据源。 可以在“最近扫描”下查看该数据源上的现有 扫描列表,也可以在“扫描”选项卡上查看所有 扫描
  3. 选择要查看的结果的扫描。 窗格显示之前的所有扫描运行,以及每个扫描运行的状态和指标。
  4. 选择运行 ID 以检查扫描运行详细信息

管理扫描

若要编辑、取消或删除扫描,请执行以下操作:

  1. 转到 Microsoft Purview 治理门户。 在左窗格中,选择“ 数据映射”。

  2. 选择数据源。 可以在“最近扫描”下查看该数据源上的现有 扫描列表,也可以在“扫描”选项卡上查看所有 扫描

  3. 选择要管理的扫描。 然后,可以:

    • 通过选择“编辑扫描 ”来编辑扫描
    • 选择“取消扫描运行”, 取消正在进行的扫描
    • 通过选择“删除扫描” 来删除扫描

注意

  • 删除扫描不会删除从以前的扫描创建的目录资产。
  • 如果源表已更改,并且你在 Microsoft Purview 的“ 架构 ”选项卡上编辑说明后重新扫描源表,则资产将不再使用架构更改进行更新。

对 HDFS 连接器使用 Kerberos 身份验证

有两个选项可用于设置本地环境以对 HDFS 连接器使用 Kerberos 身份验证。 可以选择更适合自己情况的一个。

对于任一选项,请确保为 Hadoop 群集打开 webhdfs:

  1. 为 webhdfs 创建 HTTP 主体和密钥表。

    重要

    根据 Kerberos HTTP SPNEGO 规范,HTTP Kerberos 主体必须以“HTTP/”开头。 在此处了解详细信息。

    Kadmin> addprinc -randkey HTTP/<namenode hostname>@<REALM.COM>
    Kadmin> ktadd -k /etc/security/keytab/spnego.service.keytab HTTP/<namenode hostname>@<REALM.COM>
    
  2. HDFS 配置选项:在 中添加以下三个 hdfs-site.xml属性。

    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.web.authentication.kerberos.principal</name>
        <value>HTTP/_HOST@<REALM.COM></value>
    </property>
    <property>
        <name>dfs.web.authentication.kerberos.keytab</name>
        <value>/etc/security/keytab/spnego.service.keytab</value>
    </property>
    

选项 1:在 Kerberos 领域加入自承载集成运行时计算机

要求

  • 自承载集成运行时计算机需要加入 Kerberos 领域,并且无法加入任何 Windows 域。

如何配置

在 KDC 服务器上:

创建主体并指定密码。

重要

用户名不应包含主机名。

Kadmin> addprinc <username>@<REALM.COM>

在自承载集成运行时计算机上:

  1. 运行 Ksetup 实用工具以配置 Kerberos 密钥分发中心 (KDC) 服务器和领域。

    计算机必须配置为工作组的成员,因为 Kerberos 领域不同于 Windows 域。 可以通过设置 Kerberos 领域并通过运行以下命令添加 KDC 服务器来实现此配置。 将 REALM.COM 替换为自己的领域名称。

    C:> Ksetup /setdomain REALM.COM
    C:> Ksetup /addkdc REALM.COM <your_kdc_server_address>
    

    运行这些命令后,重新启动计算机。

  2. 使用 Ksetup 命令验证配置。 输出应如下所示:

    C:> Ksetup
    default realm = REALM.COM (external)
    REALM.com:
        kdc = <your_kdc_server_address>
    

在 Purview 帐户中:

  • 使用 Kerberos 主体名称和密码配置具有 Kerberos 身份验证类型的凭据,以扫描 HDFS。 有关配置详细信息,检查“扫描”部分中的凭据设置部分。

选项 2:启用 Windows 域和 Kerberos 领域之间的相互信任

要求

  • 自承载集成运行时计算机必须加入 Windows 域。
  • 需要具有更新域控制器设置的权限。

如何配置

注意

将以下教程中的 REALM.COM 和 AD.COM 替换为自己的领域名称和域控制器。

在 KDC 服务器上:

  1. krb5.conf 文件中编辑 KDC 配置,以便通过引用以下配置模板让 KDC 信任 Windows 域。 默认情况下,配置位于 /etc/krb5.conf

    [logging]
     default = FILE:/var/log/krb5libs.log
     kdc = FILE:/var/log/krb5kdc.log
     admin_server = FILE:/var/log/kadmind.log
    
    [libdefaults]
     default_realm = REALM.COM
     dns_lookup_realm = false
     dns_lookup_kdc = false
     ticket_lifetime = 24h
     renew_lifetime = 7d
     forwardable = true
    
    [realms]
     REALM.COM = {
      kdc = node.REALM.COM
      admin_server = node.REALM.COM
     }
    AD.COM = {
     kdc = windc.ad.com
     admin_server = windc.ad.com
    }
    
    [domain_realm]
     .REALM.COM = REALM.COM
     REALM.COM = REALM.COM
     .ad.com = AD.COM
     ad.com = AD.COM
    
    [capaths]
     AD.COM = {
      REALM.COM = .
     }
    

    配置文件后,重启 KDC 服务。

  2. 使用以下命令在 KDC 服务器中准备名为 krbtgt/REALM.COM@AD.COM 的主体:

    Kadmin> addprinc krbtgt/REALM.COM@AD.COM
    
  3. hadoop.security.auth_to_local HDFS 服务配置文件中,添加 RULE:[1:$1@$0](.*\@AD.COM)s/\@.*//

在域控制器上:

  1. 运行以下命令 Ksetup 以添加领域条目:

    C:> Ksetup /addkdc REALM.COM <your_kdc_server_address>
    C:> ksetup /addhosttorealmmap HDFS-service-FQDN REALM.COM
    
  2. 建立从 Windows 域到 Kerberos 领域的信任。 [password] 是主体 krbtgt/REALM.COM@AD.COM的密码。

    C:> netdom trust REALM.COM /Domain: AD.COM /add /realm /password:[password]
    
  3. 选择 Kerberos 中使用的加密算法。

    1. 选择服务器管理器>组策略管理>>组策略对象>默认或活动域策略,然后选择编辑

    2. “组策略管理编辑器”窗格中,选择“计算机配置>策略>”“Windows 设置”“>安全设置”“>本地策略>”“安全选项”,然后配置“网络安全:配置 Kerberos 允许的加密类型”。

    3. 选择要在连接到 KDC 服务器时使用的加密算法。 可以选择所有选项。

      “网络安全:配置 Kerberos 允许的加密类型”窗格的屏幕截图。

    4. Ksetup使用 命令指定要在指定领域中使用的加密算法。

      C:> ksetup /SetEncTypeAttr REALM.COM DES-CBC-CRC DES-CBC-MD5 RC4-HMAC-MD5 AES128-CTS-HMAC-SHA1-96 AES256-CTS-HMAC-SHA1-96
      
  4. 在域帐户和 Kerberos 主体之间创建映射,以便可以在 Windows 域中使用 Kerberos 主体。

    1. 选择 “管理工具>”“Active Directory 用户和计算机”。

    2. 通过选择“查看>高级功能”来配置高级功能

    3. 在“ 高级功能 ”窗格上,右键单击要创建映射的帐户,然后在“ 名称映射 ”窗格中,选择“ Kerberos 名称 ”选项卡。

    4. 从领域添加主体。

      “安全标识映射”窗格的屏幕截图。

在自承载集成运行时计算机上:

  • 运行以下命令 Ksetup 以添加领域条目。

    C:> Ksetup /addkdc REALM.COM <your_kdc_server_address>
    C:> ksetup /addhosttorealmmap HDFS-service-FQDN REALM.COM
    

在 Purview 帐户中:

  • 使用 Kerberos 主体名称和密码配置具有 Kerberos 身份验证类型的凭据,以扫描 HDFS。 有关配置详细信息,检查“扫描”部分中的凭据设置部分。

已知限制

目前,HDFS 连接器不支持高级资源集的自定义 资源集模式规则,将应用内置资源集模式。

尚不支持敏感度标签

后续步骤

注册源后,请按照以下指南详细了解 Microsoft Purview 和数据。