組態範例 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

組態範例

下列範例示範常見案例的安全性組態和叢集配置。 AWS CLI 為了簡潔起見,會顯示指令。

本地 KDC

下列指令會建立叢集,其叢集專用於主要節點上KDC執行。可能需要在叢集上設定其他組態。如需詳細資訊,請參閱為經過 KerberOS 驗證的使用者和連線HDFS設定叢集 SSH

建立安全組態

aws emr create-security-configuration --name LocalKDCSecurityConfig \ --security-configuration '{"AuthenticationConfiguration": \ {"KerberosConfiguration": {"Provider": "ClusterDedicatedKdc",\ "ClusterDedicatedKdcConfiguration": {"TicketLifetimeInHours": 24 }}}}'

建立叢集

aws emr create-cluster --release-label emr-7.2.0 \ --instance-count 3 --instance-type m5.xlarge \ --applications Name=Hadoop Name=Hive --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,KeyName=MyEC2Key \ --service-role EMR_DefaultRole \ --security-configuration LocalKDCSecurityConfig \ --kerberos-attributes Realm=EC2.INTERNAL,KdcAdminPassword=MyPassword

具有作用中目錄跨領域信任KDC的叢集專用

下列命令會建立叢集,其叢集專用於在主要節點上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.2.0 \ --instance-count 3 --instance-type m5.xlarge --applications Name=Hadoop Name=Hive \ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,KeyName=MyEC2Key \ --service-role EMR_DefaultRole --security-configuration KDCWithADTrustSecurityConfig \ --kerberos-attributes Realm=EC2.INTERNAL,KdcAdminPassword=MyClusterKDCAdminPassword,\ ADDomainJoinUser=ADUserLogonName,ADDomainJoinPassword=ADUserPassword,\ CrossRealmTrustPrincipalPassword=MatchADTrustPassword

不同叢集KDC上的外部

下列指令會建立一個叢集,參照不同叢集主要節點KDC上專用的叢集,以驗證主體。可能需要在叢集上設定其他組態。如需詳細資訊,請參閱為經過 KerberOS 驗證的使用者和連線HDFS設定叢集 SSH

建立安全組態

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.2.0 \ --instance-count 3 --instance-type m5.xlarge \ --applications Name=Hadoop Name=Hive \ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,KeyName=MyEC2Key \ --service-role EMR_DefaultRole --security-configuration ExtKDCOnDifferentCluster \ --kerberos-attributes Realm=EC2.INTERNAL,KdcAdminPassword=KDCOnMasterPassword

KDC具有作用中目錄跨領域信任的外部叢集

下列指令會建立沒有的叢集KDC。叢集會參照在另一個叢集的主要節點上KDC執行的叢集專用來驗證主體。KDC具有跨領域信任與作用中目錄網域控制站。主節點上的其他配置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.2.0 \ --instance-count 3 --instance-type m5.xlarge --applications Name=Hadoop Name=Hive \ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,KeyName=MyEC2Key \ --service-role EMR_DefaultRole --security-configuration ExtKDCWithADIntegration \ --kerberos-attributes Realm=EC2.INTERNAL,KdcAdminPassword=KDCOnMasterPassword,\ ADDomainJoinUser=MyPrivilegedADUserName,ADDomainJoinPassword=PasswordForADDomainJoinUser