Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products

Isilon: Isilon에서 Ambari Automated Kerberos 구성(영문)

Summary: 이 문서에서는 Ambari 관리 Hadoop 클러스터를 사용하여 Kerberos 보안을 구성하는 방법에 대해 설명합니다.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

해당 없음

Cause

해당 없음

Resolution

참고: 이 주제는 OneFS와 함께 Hadoop 사용 - Isilon Info Hub의 일부입니다.

이 문서에서는 Ambari 관리 Hadoop 클러스터로 Kerberos 보안을 구성하는 방법에 대해 설명합니다.

Kerberos는 Hadoop에 대한 강력한 인증 및 암호화의 핵심이지만 구성 및 관리가 어려울 수 있습니다. Ambari 2.0에는 마법사 기반의 자동화된 Kerberos 구성이 도입되어 프로세스가 훨씬 빠르고 오류가 발생하기 쉽습니다. OneFS 8.0.0.1부터 Dell EMC Isilon 고객은 이 우수한 기능을 활용할 수 있습니다.


필수 구성 요소

  • OneFS 8.0.0.1 이상
  • Ambari 2.0 이상
  • MIT KDC 실행 중(Heimdal은 지원되지 않음). 다음 단계에 따라 Kerberos 인프라스트럭처를 설정하십시오.
  • 모든 호스트 간에 DNS를 전달 및 역방향으로 설정합니다.
  • 모든 서비스가 Ambari 대시보드에서 실행 중(녹색)입니다.

Kerberos 활성화

사전 구성

마법사를 시작하기 전에 두 가지 구성을 설정하고 모든 서비스를 재시작해야 합니다.
  • HDFS에서 사용자> 지정 코어 사이트 세트 "hadoop.security.token.service.use_ip"를 "false"로 설정합니다.
  • MapReduce2 -> Advanced mapred-site에서 "mapreduce.application.classpath"의 시작 부분에 "'hadoop classpath':"를 추가합니다. 콜론 및 백틱을 기록합니다(따옴표를 복사하지는 않음).

시작

Admin -> Kerberos로 이동하고 "Kerberos 활성화" 버튼을 누릅니다. 이 섹션의 제목은 Kerberos 마법사 페이지의 제목을 참조하십시오.

SLN319432_en_US__1i_isilon-1-enable

"Existing MIT KDC"를 선택하고 사전 요구 사항이 충족되었는지 확인한 다음 "Next"를 클릭합니다. Isilon은 Java를 사용하지 않으며 JCE가 필요하지 않습니다.

Kerberos 구성/Kerberos 클라이언트 설치 및 테스트

모든 KDC 및 관리자 서버 정보를 입력합니다. 3단계(Kerberos Client 설치 및 테스트)에서 Ambari 서버는 Kerberos를 올바르게 구성했는지 확인하기 위해 연기 테스트를 수행합니다.


SLN319432_en_US__2i_isilon-2-설치


ID 구성/구성 확인

 a) Ambari 사용자 보안 주체(UPN)

Ambari는 $-$ @$ 형식으로 사용자 보안 주체를 생성한 다음 core-site.xml의 hadoop.security.auth_to_local 사용하여 파일 시스템에서 보안 주체를 $ 로 매핑합니다.

Isilon은 매핑 규칙을 존중하지 않으므로 "Ambari Principals" 섹션의 모든 보안 주체에서 -$ 를 제거해야 합니다. Isilon은 @$ 를 제거하므로 별칭이 필요하지 않습니다. HDFS, YARN, MapReduce2, Tez, Hive, HBase, Pig, Sqoop, Oozie, Zookeeper, Falcon, Storm, Flume, Accumulo, Ambari 메트릭, Kafka, 고사리, Mahout, 슬라이더 및 Spark를 실행하는 Ambari 2.2.1 클러스터에서 "일반" 탭에서 다음을 수정합니다.
  • 스모크유저 보안 주체 이름: ${cluster-env/smokeuser}-$ @$ => ${cluster-env/smokeuser}@$
  • spark.history.kerberos.principal: ${spark-env/spark_user}-$ @$ => ${spark-env/spark_user}-@$
  • Storm 보안 주체 이름: ${storm-env/storm_user}-$ @$ => ${storm-env/storm_user}-@$
  • HBase 사용자 보안 주체: ${hbase-env/hbase_user}-$ @$ => ${hbase-env/hbase_user}@$
  • HDFS 사용자 보안 주체: ${hadoop-env/hdfs_user}-$ @$ => ${hadoop-env/hdfs_user}@$
  • accumulo_principal_name: ${accumulo-env/accumulo_user}-$ @$ => ${accumulo-env/accumulo_user}@$
  • trace.user: tracer-$ @$ => tracer@$

SLN319432_en_US__3i_isilon-3-ID

b) SPN(Service Principals)

Ambari는 서비스 보안 주체를 생성하며, 그 중 일부는 UNIX 사용자 이름과 다릅니다. 다시 말하지만 Isilon은 매핑 규칙을 준수하지 않으므로 UNIX 사용자 이름과 일치하도록 보안 주체 이름을 수정해야 합니다. Ambari 2.2.1 클러스터에서 "고급" 탭에서 다음을 수정합니다.
  • HDFS -> dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$
  • YARN -> yarn.resourcemanager.principal: rm/_HOST@$ => yarn/_HOST@$
  • YARN -> yarn.nodemanager.principal: nm/_HOST@$ => yarn/_HOST@$
  • MapReduce2 -> mapreduce.jobhistory.principal: jhs/_HOST@$ => mapred/_HOST@$
  • Falcon -> *.dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$
 

SLN319432_en_US__4i_isilon-4-identitiesconfig


적절한 보안 주체를 구성한 후 "Next"를 누릅니다. "구성 확인" 화면에서 "다음"을 누릅니다.

서비스 중지/클러스터 Kerberize

서비스를 중지하고 Kerberizing하는 것은 성공해야 합니다.
 

SLN319432_en_US__5i_isilon-5개 클러스터


진행하지 마십시오. 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"를 눌러 마법사의 마지막 단계로 이동합니다.

서비스 시작 및 테스트
 

SLN319432_en_US__6i_isilon-6-startservices

 

서비스가 시작되지 않으면 Kerberos 문제를 디버깅하기 위한 몇 가지 요령이 있습니다.
  1. YARN의 버그로 인해 "yarn.resourcemanager.principal"를 YARN ->Custom yarn-siteyarn/$rm_hostname@$REALM 설정해야 합니다. "_HOST" 구문은 Kerberos가 활성화된 상태에서 작동하지 않습니다.
  2. Java GSSAPI/Kerberos 오류를 디버그하려면 "-Dsun.security.krb5.debug=true"를 HADOOP_OPTS 추가합니다.
  3. HTTP 401 오류의 경우 추가 디버그 정보를 보려면 -iv 와 함께 curl을 사용하십시오.
  4. 모든 호스트 간에 정방향 및 역방향 DNS가 설정되어 있는지 확인합니다.
(선택 사항) 강력한 RPC 보안

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 비활성화"를 누릅니다. 모든 서비스가 녹색으로 표시되어야 합니다.

Affected Products

Isilon, PowerScale OneFS, Isilon with HDFS
Article Properties
Article Number: 000128963
Article Type: Solution
Last Modified: 14 Sept 2023
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.