本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置示例
以下示例演示了常见场景的安全配置和集群配置。 AWS CLI 为了简洁起见,显示了命令。
本地 KDC
以下命令创建在主节点上运行集群专用 KDC 的集群。集群上需要额外的配置。有关更多信息,请参阅为经过 Kerberos 身份验证的 HDFS 用户和 SSH 连接配置 Amazon EMR 集群。
创建安全配置
aws emr create-security-configuration --name
LocalKDCSecurityConfig
\ --security-configuration '{"AuthenticationConfiguration": \ {"KerberosConfiguration": {"Provider": "ClusterDedicatedKdc",\ "ClusterDedicatedKdcConfiguration": {"TicketLifetimeInHours":24
}}}}'
创建集群
aws emr create-cluster --release-label
emr-7.6.0
\ --instance-count 3 --instance-typem5.xlarge
\ --applications Name=Hadoop
Name=Hive
--ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,KeyName=MyEC2Key
\ --service-role EMR_DefaultRole \ --security-configurationLocalKDCSecurityConfig
\ --kerberos-attributes Realm=EC2.INTERNAL
,KdcAdminPassword=MyPassword
集群专用 KDC 与 Active Directory 跨领域信任
以下命令创建在主节点上运行集群专用 KDC 的集群,并与 Active Directory 域具有跨领域信任关系。在集群上和 Active Directory 中需要额外的设置。有关更多信息,请参阅教程:配置与 Active Directory 域的跨领域信任。
创建安全配置
aws emr create-security-configuration --name
LocalKDCWithADTrustSecurityConfig
\ --security-configuration '{"AuthenticationConfiguration": \ {"KerberosConfiguration": {"Provider": "ClusterDedicatedKdc", \ "ClusterDedicatedKdcConfiguration": {"TicketLifetimeInHours":24
, \ "CrossRealmTrustConfiguration": {"Realm":"AD.DOMAIN.COM
", \ "Domain":"ad.domain.com
", "AdminServer":"ad.domain.com
", \ "KdcServer":"ad.domain.com
"}}}}}'
创建集群
aws emr create-cluster --release-label
emr-7.6.0
\ --instance-count3
--instance-typem5.xlarge
--applications Name=Hadoop
Name=Hive
\ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,KeyName=MyEC2Key
\ --service-role EMR_DefaultRole --security-configurationKDCWithADTrustSecurityConfig
\ --kerberos-attributes Realm=EC2.INTERNAL
,KdcAdminPassword=MyClusterKDCAdminPassword
,\ ADDomainJoinUser=ADUserLogonName
,ADDomainJoinPassword=ADUserPassword
,\ CrossRealmTrustPrincipalPassword=MatchADTrustPassword
不同集群上的外部 KDC
以下命令创建引用其它集群的主节点上集群专用 KDC 的集群,用于对主体进行身份验证。集群上需要额外的配置。有关更多信息,请参阅为经过 Kerberos 身份验证的 HDFS 用户和 SSH 连接配置 Amazon EMR 集群。
创建安全配置
aws emr create-security-configuration --name
ExtKDCOnDifferentCluster
\ --security-configuration '{"AuthenticationConfiguration": \ {"KerberosConfiguration": {"Provider": "ExternalKdc", \ "ExternalKdcConfiguration": {"KdcServerType": "Single", \ "AdminServer": "MasterDNSOfKDCMaster:749
", \ "KdcServer": "MasterDNSOfKDCMaster:88
"}}}}'
创建集群
aws emr create-cluster --release-label
emr-7.6.0
\ --instance-count3
--instance-typem5.xlarge
\ --applications Name=Hadoop Name=Hive \ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,KeyName=MyEC2Key
\ --service-role EMR_DefaultRole --security-configurationExtKDCOnDifferentCluster
\ --kerberos-attributes Realm=EC2.INTERNAL
,KdcAdminPassword=KDCOnMasterPassword
外部集群 KDC 与 Active Directory 跨领域信任
以下命令创建没有 KDC 的集群。集群引用运行在其它集群的主节点上的集群专用 KDC,用于对主体进行身份验证。该 KDC 具有与 Active Directory 域控制器的跨领域信任关系。具有 KDC 的主节点上需要额外的配置。有关更多信息,请参阅 教程:配置与 Active Directory 域的跨领域信任。
创建安全配置
aws emr create-security-configuration --name
ExtKDCWithADIntegration
\ --security-configuration '{"AuthenticationConfiguration": \ {"KerberosConfiguration": {"Provider": "ExternalKdc", \ "ExternalKdcConfiguration": {"KdcServerType": "Single", \ "AdminServer": "MasterDNSofClusterKDC
:749", \ "KdcServer": "MasterDNSofClusterKDC
.com:88", \ "AdIntegrationConfiguration": {"AdRealm":"AD.DOMAIN.COM
", \ "AdDomain":"ad.domain.com
", \ "AdServer":"ad.domain.com
"}}}}}'
创建集群
aws emr create-cluster --release-label
emr-7.6.0
\ --instance-count3
--instance-typem5.xlarge
--applications Name=Hadoop
Name=Hive
\ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,KeyName=MyEC2Key
\ --service-role EMR_DefaultRole --security-configurationExtKDCWithADIntegration
\ --kerberos-attributes Realm=EC2.INTERNAL
,KdcAdminPassword=KDCOnMasterPassword
,\ ADDomainJoinUser=MyPrivilegedADUserName
,ADDomainJoinPassword=PasswordForADDomainJoinUser