Hadoop 连接管理器
适用于: SQL Server Azure 数据工厂中的 SSIS Integration Runtime
Hadoop 连接管理器通过使用你为属性指定的值使 SQL Server Integration Services (SSIS) 包能够连接到 Hadoop 群集。
配置 Hadoop 连接管理器
在“添加 SSIS 连接管理器”对话框中,选择“Hadoop”>“添加”。 此时将打开“Hadoop 连接管理器编辑器” 对话框。
若要配置相关的 Hadoop 群集信息,请在左窗格中选择“WebHCat”或“WebHDFS”选项卡。
如果启用“WebHCat”选项以在 Hadoop 上调用 Hive 或 Pig 作业,请执行以下操作:
对于“WebHCat 主机”,请输入承载 WebHCat 服务的服务器。
对于“WebHCat 端口” ,请输入 WebHCat 服务的端口,该端口默认是 50111。
选择访问 WebHCat 服务的 “身份验证”方法。 可用值有“基本” 和 Kerberos。
对于“WebHCat 用户” ,请输入有权访问 WebHCat 的“用户” 。
如果你选择 Kerberos 身份验证,请输入用户的“密码” 和“域” 。
如果启用“WebHDFS”选项以从 HDFS 中复制数据或将数据复制到其中,请执行以下操作:
对于“WebHDFS 主机” ,请输入承载 WebHDFS 服务的服务器。
对于“WebHDFS 端口” ,请输入 WebHDFS 服务的端口,该端口默认是 50070。
选择访问 WebHDFS 服务的 “身份验证”方法。 可用值有“基本” 和 Kerberos。
对于“WebHDFS 用户” ,请输入有权访问 HDFS 的用户。
如果你选择 Kerberos 身份验证,请输入用户的“密码” 和“域” 。
选择“测试连接”。 (仅测试你启用的连接)。
选择“确定”以关闭该对话框。
连接 Kerberos 身份验证
有两个选项可用来设置本地环境,以便可以配合使用 Kerberos 身份验证和 Hadoop 连接管理器。 可选择更符合你情况的选项。
选项 1:将 SSIS 计算机联接到 Kerberos 领域
要求:
- 网关计算机需要联接 Kerberos 领域,且不能联接任何 Windows 域。
配置方式:
在 SSIS 计算机上:
运行 Ksetup 实用工具来配置 Kerberos 密钥发行中心 (KDC) 服务器和领域。
计算机必须配置为工作组的成员,因为 Kerberos 领域与 Windows 域不同。 设置 Kerberos 领域并添加 KDC 服务器,如以下示例所示。 根据需要,将
REALM.COM
替换为各自的领域。C:> Ksetup /setdomain REALM.COM` C:> Ksetup /addkdc REALM.COM <your_kdc_server_address>
运行上述命令后,重启计算机。
使用 Ksetup 命令验证配置。 输出应如以下示例所示:
C:> Ksetup default realm = REALM.COM (external) REALM.com: kdc = <your_kdc_server_address>
选项 2:启用 Windows 域和 Kerberos 领域之间的相互信任
要求:
- 网关计算机必须联接 Windows 域。
- 需要用于更新域控制器设置的权限。
配置方式:
注意
根据需要,将下面教程中的 REALM.COM
和 AD.COM
替换为各自的领域和域控制器。
在 KDC 服务器上:
编辑 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 服务。
在 KDC 服务器上准备名为 krbtgt/REALM.COM@AD.COM 的主体。 使用以下命令:
Kadmin> addprinc krbtgt/REALM.COM@AD.COM
在 hadoop.security.auth_to_local HDFS 服务配置文件中,添加
RULE:[1:$1@$0](.*@AD.COM)s/@.*//
。
在域控制器上:
运行以下 Ksetup 命令以添加一个领域条目:
C:> Ksetup /addkdc REALM.COM <your_kdc_server_address> C:> ksetup /addhosttorealmmap HDFS-service-FQDN REALM.COM
建立从 Windows 域到 Kerberos 领域的信任。 在下面的示例中,
[password]
是主体 krbtgt/REALM.COM@AD.COM 的密码。C:> netdom trust REALM.COM /Domain: AD.COM /add /realm /password:[password]
选择要与 Kerberos 一起使用的加密算法。
转到“服务器管理器”>“组策略管理”>“域” 。 从此处转到“组策略对象”>“默认或活动的域策略”>“编辑” 。
在“组策略管理编辑器”弹出窗口中,转到“计算机配置”>“策略”>“Windows 设置”。 从此处转到“安全设置”>“本地策略”>“安全选项” 。 配置“网络安全: 配置 Kerberos 允许的加密类型”。
选择想要用来连接到 KDC 的加密算法。 通常,可以选择任一选项。
使用 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
若要在 Windows 域中使用 Kerberos 主体,请创建域帐户和 Kerberos 主体之间的映射。
转到“管理工具”>“Active Directory 用户和计算机” 。
通过选择“视图”>“高级功能”,配置高级功能 。
找到要创建映射的帐户,右键单击以查看“名称映射”,然后选择“Kerberos 名称”选项卡。
从领域中添加主体。
请在网关计算机上运行以下 Ksetup 命令,以添加一个领域条目。
C:> Ksetup /addkdc REALM.COM <your_kdc_server_address>
C:> ksetup /addhosttorealmmap HDFS-service-FQDN REALM.COM