--- title: "Secure Hadoop 구성 (옵션)" slug: "hadoop-chadoop-3-7-vpc" tags: ["cloud hadoop"] updated: 2026-10-22T09:13:22Z published: 2026-10-22T09:13:22Z canonical: "guide-gov.ncloud-docs.com/hadoop-chadoop-3-7-vpc" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide-gov.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Secure Hadoop 구성 (옵션) VPC 환경에서 이용 가능합니다. Kerberos는 Hadoop 클러스터와 함께 연동되어 사용자 및 서비스에 대한 강력한 인증을 제공합니다. 이 가이드에서는 Secure Hadoop 구성을 위해 Cloud Hadoop에 설치된 인증 시스템을 구성하는 방법에 대해 설명합니다. ## 구성 클러스터 관리자는 사용자 및 그룹 통합 관리뿐만 아니라 Kerberos를 통해 사용자 인증 및 권한 관리까지 Cloud Hadoop의 세분화된 인증 구성을 할 수 있습니다. ### Multi-Master 구성 - 서비스의 연속성을 유지하기 위해 LDAP과 Kerberos 서비스 이중화 구성이 기본값으로 Cloud Hadoop 마스터 노드 2대에 설치되어 제공됩니다. - 마스터 노드에는 인증 서비스를 위해 slapd, krb5kdc, kadmin 데몬이 구동됩니다. | Master 1 | Master 2 | | --- | --- | | LDAP (slapd) | LDAP (slapd) | | Kerberos (krb5kdc / kadmin) | Kerberos (krb5kdc / kadmin) | ## 인증 Workflow Cloud Hadoop은 Kerberos를 통해 인증하도록 설계되어 있습니다. Kerberos와 LDAP 시스템 인증 시스템으로 구성되어 있으며, 사용자와 서비스가 시스템에 인증되어야 합니다. ![chadoop-3-7-00_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-00_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) 모든 노드의 Hadoop 서비스는 인증에 사용하는 Kerberos principal을 가집니다. 서비스에는 서버에 저장된 키탭(keytab) 파일이 있으며 키탭 파일에는 임의의 비밀번호가 포함되어 있습니다. 서비스와 상호작용하기 위해서 일반적으로 사용자가 `kinit` 명령어로 Kerberos 티켓을 얻어야 합니다. #### Kerberos의 principal Kerberos에서는 사용자를 principal이라고 합니다. Hadoop 배포 환경에는 사용자 principal 및 서비스 principal이 존재합니다. 사용자 principal은 일반적으로 KDC(Kerberos Distribute Center)로 동기화됩니다. 사용자 principal 하나가 실제 사용자 한 명을 나타냅니다. 서비스 principal은 서버마다 서비스별로 다르므로 각 서버의 서비스마다 해당 서비스를 나타내는 고유의 principal이 하나씩 존재합니다. #### 키탭 파일 키탭 파일에는 Kerberos principal과 키가 포함되어 있습니다. 대화형 도구를 사용하거나 비밀번호를 입력할 필요 없이 사용자 및 서비스가 키탭을 사용해 Hadoop 서비스를 인증할 수 있습니다. Hadoop에서는 각 노드의 서비스마다 서비스 principal이 생성됩니다. 이러한 principal은 Hadoop 노드의 키탭 파일에 저장됩니다. ## Kerberize 사전 작업 - ambari-server를 포함해서 클러스터 내 실행 중인 모든 노드에 ambari-agent를 확인해 주십시오. - Ambari로 관리되는 모든 노드 (마스터 서버 2대 제외)에 krb5-workstation 패키지가 설치되어 있습니다. 아래 [2. Configure Kerberos](/docs/hadoop-chadoop-3-7-vpc#2ConfigureKerberos)의 **Advanced kerberos-env** 설정 단계에서 반드시 **"Install OS-specific Kerberos client package(s)"** 를 체크 해제한 후 Kerberize를 진행해 주십시오. ![chadoop-3-7-03-02-0_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-03-02-0_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) - Kerberize 작업 시 클러스터 전체 셧다운(shutdown) 작업이 필요합니다. 되도록 클러스터 운영 전에 진행해 주십시오.(권장) ## Ambari Kerberize 설정 ### Kerberos 설정 시작 1. Ambari UI에 접속한 후 좌측 하단에 있는 **Cluster Admin > Kerberos**를 차례대로 클릭해 주십시오. 2. **[ENABLE KERBEROS]** 버튼을 클릭해 주십시오. ![chadoop-3-7-02-01_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-02-01_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) 3. 경고 팝업창에서 내용을 확인한 후 **[PROCEED ANYWAY]** 버튼을 클릭해 주십시오. ![chadoop-3-7-02-02_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-02-02_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) ### Kerberos 설정 마법사 #### 1. Get Started **What type of KDC do you plan on using?** 항목에서 **Existing MIT KDC**를 선택해 주십시오. 다음과 같이 하단의 체크박스 3개를 모두 선택한 후 **[Next]** 버튼을 클릭해 주십시오. ![chadoop-3-7-03-01_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-03-01_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) #### 2. Configure Kerberos 1. 다음의 각 항목을 설정한 후 **[Next]** 버튼을 클릭해 주십시오. **KDC** - **KDC hosts** : KDC가 설치되어 있는 2대의 마스터 노드 호스트명(FQDN)을 콤마(,) 구분자를 사용하여 작성해 주십시오. - **Realm name** : Cloud Hadoop 설치 시 콘솔에 설정했던 Realm을 입력해 주십시오. - **Test KDC Connection** 버튼을 클릭해 접속 여부를 테스트해 주십시오. **Kadmin** - **Kadmin host** : 1개의 마스터 노드 호스트명(FQDN) 만 입력하면 됩니다. 입력해야 할 마스터 노드의 FQDN이 헷갈린다면 마스터 노드에서 `kadmin -p admin/admin -q "listprincs"`을 입력 후 kadmin/FQDN@REALM의 FQDN을 입력해 주십시오. - **Admin principal** : `admin/admin`을 입력해 주십시오. - **Save Admin Credentials** 체크박스를 선택해 주십시오. ![chadoop-3-7-03-02-01_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-03-02-01_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) 주의 **Save Admin Credentials** 체크박스를 꼭 체크해 주십시오. 체크하지 않을 경우 Cloud Hadoop 서비스 사용에 제약이 발생할 수 있습니다. **Advanced kerberos-env** - **Install OS-specific Kerberos client package(s)** 항목을 체크 해제한 후 Kerberize를 진행해 주십시오. ![chadoop-3-7-03-02-0_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-03-02-0_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) - **Encrytion Types** 항목을 `aes256-cts aes128-cts`로 변경해 주십시오. - **Principal Attributes** 항목에 `+requires_preauth`를 추가해 주십시오. ![chadoop-3-7-03-02-1_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-03-02-1_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) **Advanced krb5.conf** - Cloud Hadoop 생성 시 Kerberos 정보를 사용하도록 설정한 경우에는 반드시 **Manage Kerberos client krb5.conf** 체크박스를 해제해야 합니다. 체크박스 해제 후 **[NEXT]** 버튼을 클릭해 주십시오. ![chadoop-3-7-03-02-2_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-03-02-2_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) #### 3. Install and Test Kerberos Client 위 Kerberos 구성 작업이 완료되면 **Install Kerberos Client**와 **Test Kerberos Client**가 자동으로 시작됩니다. 화면에 **Kerberos service has been installed and tested successfully** 메시지가 표시되면 설치가 완료됩니다. 설치가 완료되면 **[Next]** 버튼을 클릭해 주십시오. ![chadoop-3-7-03-03_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-03-03_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) 참고 **Admin session expiration error** 발생 시, 아래와 같이 입력한 후 **[SAVE]** 버튼을 클릭해 주십시오. - **Admin principal :** `admin/admin` - **Admin password :** 클러스터 생성 시 설정한 KDC 관리자 계정 패스워드 - **Save Admin Credentials** 체크박스 선택 에러가 해결되지 않는 경우 KDC 관리자 계정 패스워드를 변경한 이력이 있는지 확인하십시오. #### 4. Configure Identities 서비스 사용자 및 Hadoop 서비스들의 principal, 키탭 위치를 구성하는 단계입니다. Ambari Wizard에서 자동으로 추가되는 설정 목록을 확인한 후 **[Next]** 버튼을 클릭해 주십시오. ![chadoop-3-7-03-04_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-03-04_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) #### 5. Confirm Configuration 설정 정보를 확인 후 **[Next]** 버튼을 클릭해 주십시오. ![chadoop-3-7-03-05_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-03-05_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) #### 6. Stop Services 설정 정보 확인이 완료되면 클러스터 셧다운 작업이 자동으로 시작됩니다. 셧다운 작업이 완료되면 **[Next]** 버튼을 클릭해 주십시오. ![chadoop-3-7-03-06_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-03-06_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) #### 7. Kerberize Cluster 총 7단계가 순차적으로 진행됩니다. 완료 시 **[Next]** 버튼을 클릭해 주십시오. ![chadoop-3-7-03-07_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-03-07_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) #### 8. Start and Test Services Hadoop 서비스 구동 및 확인 단계입니다. 완료 시 **[Complete]** 버튼을 클릭해 주십시오. ![chadoop-3-7-03-08_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-03-08_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) #### 9. Admin - Kerberos Enabled 상태 확인 화면에 **Kerberos security is enabled** 문구가 표시되어 있으면, Kerberize 작업이 모두 완료된 클러스터입니다. ![chadoop-3-7-04-1_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-04-1_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) ## Kerberize 적용 확인 Kerberize가 적용되어 있는지 확인하기 위해 Hadoop service principal을 확인하고, `hadoop fs` 명령어 실행하여 테스트해 볼 수 있습니다. 아래 예시는 Cloud Hadoop 생성 시에 Kerberos 정보를 사용함으로 설정한 것을 전제로 합니다. (ex. Realm : NAVERCORP.COM) 1. 위 [Ambari Kerberize 설정](/docs/hadoop-chadoop-3-7-vpc#ambari-kerberize-%EC%84%A4%EC%A0%95) 작업을 완료한 후 `kadmin -p admin/admin -q "listprincs"` 명령어를 사용하여 실행해 주십시오. ![chadoop-3-7-05-02_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-05-02_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) 참고 Ambari에서 Kerberize 작업이 적용되지 않은 경우, 마스터 노드에서 `kadmin -p admin/admin -q "listprincs"` 명령어를 실행하면 경우 아래와 같이 표시됩니다. 다음과 같이 `sshuser` 기본 계정으로 `hadoop fs` 명령어를 실행하면 권한 체크 과정 없이 결괏값을 확인할 수 있습니다. ![chadoop-3-7-05-01_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-05-01_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) - Hadoop 서비스 principal이 생성된 것을 확인할 수 있고, `hadoop fs` 명령어 실행 시 오류가 발생합니다. 2. `kinit` 명령어를 사용하여 admin 계정 티켓을 획득한 후 다시 `hadoop fs` 명령어 실행해 주십시오. ![chadoop-3-7-05-03_ko.png](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-05-03_ko.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D){height="", width="80%"}' - 결괏값이 정상적으로 표시됩니다. - `kdestroy` 명령어로 티켓을 삭제한 후 다시 `hadoop fs` 명령어 실행 시 오류가 발생함을 확인할 수 있습니다. ## trino 설정 변경 Ambari Kerberize 적용 후 trino 사용을 위해 connectors.to.add 설정을 변경하고 재시작합니다. 1. Ambari UI에 접속한 후 좌측의 Trino > Config > Advanced trino.connectors.properties를 차례대로 클릭해 주십시오. 2. connectors.to.add의 기존 정보를 삭제하고 아래의 정보를 사용자 클러스터에 맞게 추가하여 저장합니다. ``` { 'hive': [ 'connector.name=hive', 'hive.metastore.uri=thrift://m-001-test-17p8-hd.kr.ch.naverncp.com:9083,thrift://m-002-test-17p9-hd.kr.ch.beta.naverncp.com:9083', 'hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml', 'hive.metastore.authentication.type=KERBEROS', 'hive.metastore.thrift.impersonation.enabled=true', 'hive.metastore.service.principal=hive/_HOST@TEST.COM, 'hive.metastore.client.principal=trino@TEST.COM', 'hive.metastore.client.keytab=/etc/security/keytabs/trino.service.keytab', 'hive.hdfs.authentication.type=KERBEROS', 'hive.hdfs.impersonation.enabled=true', 'hive.hdfs.trino.principal=trino@TEST.COM', 'hive.hdfs.trino.keytab=/etc/security/keytabs/trino.service.keytab', 'hive.non-managed-table-writes-enabled=true', 'hive.non-managed-table-creates-enabled=true', 'hive.allow-drop-table=true', 'hive.allow-rename-table=true', 'hive.max-partitions-for-eager-load=1000', 'hive.max-partitions-per-scan=10000', 'hive.metastore-timeout=30s', 'hive.metastore-cache-ttl=1m', 'hive.metastore-cache-maximum-size=5000000' ] } ``` 1. trino에 영향받는 Components, Client들을 모두 재시작합니다. 주의 hive.max-partitions-for-eager-load의 값은 hive.max-partitions-per-scan 값보다 작아야 합니다. ## HDFS Log Level 변경 Hadoop에서는 log4j를 사용하여 다양한 컴포넌트(예: HDFS, YARN, MapReduce 등)에서 발생하는 로그를 관리하고 제어합니다. 로그 레벨을 조정함으로써 HDFS 작업에 대한 정보를 더 적게 수집하거나, 더 많이 수집할 수 있습니다. 설정할 수 있는 로그 레벨은 총 7단계로 ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF입니다. 레벨에 따라 불필요한 정보까지 로그에 포함되어 용량을 차지할 수 있으므로, 필요에 맞게 적절히 조정해야 합니다. HDFS의 audit.log 로그 레벨을 변경하는 방법은 다음과 같습니다. ![chadoop-3-7-06-02](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/chadoop-3-7-06-02.png?sv=2026-02-06&spr=https&st=2026-10-29T10%3A54%3A21Z&se=2026-10-29T11%3A54%3A21Z&sr=c&sp=r&sig=pOivkOY%2BbukfYl7sFbKalPdkmHooEW%2BZDHfgzuGf0BU%3D) 1. **Ambari Web UI > HDFS > Configs > Advanced > Advanced hadoop-env**를 선택합니다. 2. **hadoop-env template**에서 `SHARED_HDFS_NAMENODE_OPTS`의 `-Dhdfs.audit.logger` 값을 원하는 로그 레벨로 변경합니다. 3. **[SAVE]** 버튼을 클릭 후 서비스를 재시작합니다.