本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
組態範例
下列範例示範常見案例的安全組態和叢集組態。為了簡潔起見,會顯示 AWS CLI commands。
本機 KDC
下列命令使用在主節點上執行的叢集專用 KDC 來建立叢集。可能需要在叢集上設定其他組態。如需詳細資訊,請參閱為 Kerberos 驗證的 HDFS 使用者和 SSH 連線設定 Amazon EMR 叢集。
建立安全組態
aws emr create-security-configuration --nameLocalKDCSecurityConfig\ --security-configuration '{"AuthenticationConfiguration": \ {"KerberosConfiguration": {"Provider": "ClusterDedicatedKdc",\ "ClusterDedicatedKdcConfiguration": {"TicketLifetimeInHours":24}}}}'
建立叢集
aws emr create-cluster --release-labelemr-7.10.0\ --instance-count 3 --instance-typem5.xlarge\ --applications Name=HadoopName=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 --nameLocalKDCWithADTrustSecurityConfig\ --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-labelemr-7.10.0\ --instance-count3--instance-typem5.xlarge--applications Name=HadoopName=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 --nameExtKDCOnDifferentCluster\ --security-configuration '{"AuthenticationConfiguration": \ {"KerberosConfiguration": {"Provider": "ExternalKdc", \ "ExternalKdcConfiguration": {"KdcServerType": "Single", \ "AdminServer": "MasterDNSOfKDCMaster:749", \ "KdcServer": "MasterDNSOfKDCMaster:88"}}}}'
建立叢集
aws emr create-cluster --release-labelemr-7.10.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 --nameExtKDCWithADIntegration\ --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-labelemr-7.10.0\ --instance-count3--instance-typem5.xlarge--applications Name=HadoopName=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