필수 구성 요소
Kerberos 활성화
사전 구성
마법사를 시작하기 전에 두 가지 구성을 설정하고 모든 서비스를 재시작해야 합니다.시작
Admin -> Kerberos로 이동하고 "Kerberos 활성화" 버튼을 누릅니다. 이 섹션의 제목은 Kerberos 마법사 페이지의 제목을 참조하십시오.Kerberos 구성/Kerberos 클라이언트 설치 및 테스트
모든 KDC 및 관리자 서버 정보를 입력합니다. 3단계(Kerberos Client 설치 및 테스트)에서 Ambari 서버는 Kerberos를 올바르게 구성했는지 확인하기 위해 연기 테스트를 수행합니다.
ID 구성/구성 확인
a) Ambari 사용자 보안 주체(UPN)
Ambari는 $-$ @$ 형식으로 사용자 보안 주체를 생성한 다음 core-site.xml의 hadoop.security.auth_to_local 사용하여 파일 시스템에서 보안 주체를 $ 로 매핑합니다.
적절한 보안 주체를 구성한 후 "Next"를 누릅니다. "구성 확인" 화면에서 "다음"을 누릅니다.
서비스 중지/클러스터 Kerberize
서비스를 중지하고 Kerberizing하는 것은 성공해야 합니다.
진행하지 마십시오. Isilon은 Ambari가 Isilon 보안 주체에 대한 키탭을 생성하는 것을 허용하지 않습니다. 대신 아래 단계를 사용하여 Isilon에서 Kerberos를 수동으로 구성해야 합니다.
a) Isilon 인증 공급자로 KDC 생성
참고: MIT KDC를 사용하도록 이 Isilon 영역이 이미 구성되어 있는 경우 다음 단계를 건너뛸 수 있습니다.
isi auth krb5 create --realm=$REALM --admin-server=$admin_server --kdc=$kdc_server --user=$admin_principal --password=$admin_password
isi zone zones modify --zone=$isilon_zone --add-auth-provider=krb5:$REALM
b) HDFS 및 HTTP(WebHDFS용)에 대한 서비스 보안 주체를 생성합니다.
isi auth krb5 spn create --provider-name=$REALM --spn=hdfs/$isilon_smartconnect@$REALM --user=$admin_principal --password=$admin_password
isi auth krb5 spn create --provider-name=$REALM --spn=HTTP/$isilon_smartconnect@$REALM --user=$admin_principal --password=$admin_password
c) 필요한 프록시 사용자 생성
비보안 클러스터에서는 모든 사용자가 다른 사용자를 가장할 수 있습니다. 보안 클러스터에서 프록시 사용자를 명시적으로 지정해야 합니다.
Hive 또는 Oozie가 있는 경우 적절한 프록시 사용자를 추가합니다.
isi hdfs proxyusers create oozie --zone=$isilon_zone --add-user=ambari-qa
isi hdfs proxyusers create hive --zone=$isilon_zone --add-user=ambari-qa
d) 단순 인증 비활성화
Kerberos 또는 위임 토큰 인증만 허용됩니다.
isi hdfs settings modify --zone=$isilon_zone --authentication-mode=kerberos_only
이제 Isilon도 구성되었으므로 Ambari에서 "Next"를 눌러 마법사의 마지막 단계로 이동합니다.
서비스 시작 및 테스트
서비스가 시작되지 않으면 Kerberos 문제를 디버깅하기 위한 몇 가지 요령이 있습니다.
HDFS -> 맞춤형 코어 사이트 세트 "hadoop.rpc.protection"을 "무결성" 또는 "개인 정보 보호"로 설정합니다. 인증 외에도 무결성 보장 메시지는 변조되지 않았으며 개인 정보 보호는 모든 메시지를 암호화합니다.
작업을 실행합니다!
모든 클라이언트 호스트에서 MapReduce 작업을 시도하십시오!
kinit <some-user> yarn jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar pi 1 1000
Job Finished in 37.635 seconds
Estimated value of Pi is 3.14800000000000000000
Congratulations--you have secured your cluster with Kerberos!
(선택 사항) Kerberos 비활성화
Isilon 정리
먼저 Isilon을 정리해야 합니다. 이는 기본적으로 Kerberos를 활성화하는 반대입니다.
a) Kerberos 인증 비활성화
isi hdfs settings modify --authentication-mode=simple_only --zone=$isilon_zone
b) 프록시 사용자 삭제
isi hdfs proxyusers delete oozie --zone=$isilon_zone
isi hdfs proxyusers delete hive --zone=$isilon_zone
c) 보안 주체 삭제
isi auth krb5 spn delete --provider-name=$REALM --spn=hdfs/$isilon_smartconnect@$REALM --all
isi auth krb5 spn delete --provider-name=$REALM --spn=HTTP/$isilon_smartconnect@$REALM --all
위의 명령은 Isilon에서 이러한 보안 주체만 제거하지만 KDC에서 보안 주체를 제거하지는 않습니다. 다음 명령을 사용하여 KDC에서 Isilon 보안 주체를 제거합니다.
kadmin -p $admin_principal
kadmin: delete_principal hdfs/$isilon_smartconnect@$REALM
kadmin: delete_principal HTTP/$isilon_smartconnect@$REALM
d) Isilon 인증 공급자로 KDC 제거
isi zone zones modify --zone=$isilon_zone --remove-auth-provider=krb5:$REALM
isi auth krb5 delete --provider-name=$REALM
Ambari를 사용하여 클라이언트 정리
Admin -> Kerberos에서 "Kerberos 비활성화"를 누릅니다. 모든 서비스가 녹색으로 표시되어야 합니다.