适用于:
SQL Server
Azure 数据工厂中的 SSIS Integration Runtime
Hadoop 连接管理器通过使用你为属性指定的值使 SQL Server Integration Services (SSIS) 包能够连接到 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 领域
选项 2:
启用 Windows 域和 Kerberos 领域之间的相互信任
选项 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
Hadoop Hive 任务
Hadoop Pig 任务
Hadoop 文件系统任务