메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


Ranger KMS with KTS의 TLS를 enable하고 restart할때 아래와 같은 오류가 발생되면서 start에 실패하는 경우가 있는데 원인은 Ranger KMS with KTS가 내부적으로 Key Trustee Server와 TLS통신을 하는데 Ranger KMS with KTS서버의 truststore에 등록된 Key Trustee Server서버의 인증서 유효기간이 만료된 경우 일 수 있어 등록된 인증서의 유효기간을 확인해 보고  필요시 Key Trustee Server서버의 사설인증서를 발급해서 Ranger KMS with KTS서버로 복사후 truststore 에 import하여 준다. 

(특히, Ranger KMS with Key Trustee Server의 "Enable TLS/SSL for Ranger KMS server with KTS"가 비활성화 되어 있으면 Ranger에서 변경한 cm_kms의 변경사항이 Client에 전달되지 않아 반영되지 않는다)


* 조치방법(Key Trustee Server노드에서 인증서를 새로 발급하고 이를 Ranger KMS with KTS의 truststore파일에 등록해준다)

--- 인증서 정보 확인----

1. Key Trustee Server의 인증서 확인

  - sudo openssl x509 -in /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee2.pem -text -noout

2. truststore파일의 인증서 목록 확인

  - sudo keytool -keystore /opt/cloudera/security/certs/truststore -storepass changeit -list -v 


--------Key Trustee Server의 active, passive에서 각각 수행한다.

3.1. ssl-cert-keytrustee용 비밀키 생성및 CSR생성

  <active노드에서>

  - sudo openssl genrsa -out /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee-pk2.key 2048

  - sudo openssl req -new -key /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee-pk2.key -out /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee2.csr

 <passive노드에서>

  - sudo openssl genrsa -out /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee-pk2.key 2048

  - sudo openssl req -new -key /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee-pk2.key -out /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee2.csr


3.2 ssl-cert-keytrustee용 신규 인증서 생성

   <active노드에서>

  - sudo openssl x509 -req -days 3650 -in /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee2.csr -signkey /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee-pk2.key -out /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee2.pem

   <passive노드에서>

  - sudo openssl x509 -req -days 3650 -in /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee2.csr -signkey /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee-pk2.key -out /var/lib/keytruste


3.3. Cloudera Manager Console에서 Key Trustee Server(2곳, active, passive)의 설정을 아래와 같이 변경하고 각 서비스를 restart해준다. 

  - Active Key Trustee Server TLS/SSL Server Certificate File (PEM Format):

    /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee.pem -> /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee2.pem

  - Active Key Trustee Server TLS/SSL Server Private key File (PEM Format):

    /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee-pk.pem -> /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee-pk2.key


  - Passive Key Trustee Server TLS/SSL Server Certificate File (PEM Format):

    /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee.pem -> /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee2.pem

  - Passive Key Trustee Server TLS/SSL Server Private key File (PEM Format):

    /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee-pk.pem -> /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee-pk2.key


-------KTS의 인증서를 Ranger KMS with KTS로 복사및 Ranger KMS with KTS의 truststore파일에 import

4.1. KTS의 active노드에 있는 /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee2.pem를 cp로 active-ssl-cert-keytrustee2.pem로 만든 후 

   - Ranger KMS with KTS #1노드의 /home/hadoop에 복사 

   - Ranger KMS with KTS #2노드의 /home/hadoop에 복사 

4.2. KTS의 passive노드에 있는 /var/lib/keytrustee/.keytrustee/.ssl/ssl-cert-keytrustee2.pem를 cp로 passive-ssl-cert-keytrustee2.pem로 만든 후 

   - Ranger KMS with KTS #1노드의 /home/hadoop/에 복사 

   - Ranger KMS with KTS #2노드의 /home/hadoop/에 복사 

4.3.. Ranger KMS with KTS노드의 각각에서 아래 명령문을 수행하여 active및 passive인증서를 모두 import해준다.
  <<Ranger KMS with KTS #1 노드에서>>

  - sudo keytool -importcert -keystore /opt/cloudera/security/certs/truststore -file /home/hadoop/active-ssl-cert-keytrustee2.pem -alias activektca

  - sudo keytool -importcert -keystore /opt/cloudera/security/certs/truststore -file /home/hadoop/passive-ssl-cert-keytrustee2.pem -alias passivektca

  <<Ranger KMS with KTS #2 노드에서>>

  - sudo keytool -importcert -keystore /opt/cloudera/security/certs/truststore -file /home/hadoop/active-ssl-cert-keytrustee2.pem -alias activektca

  - sudo keytool -importcert -keystore /opt/cloudera/security/certs/truststore -file /home/hadoop/passive-ssl-cert-keytrustee2.pem -alias passivektca


4.4.Cloudera Manager Console에서 Ranger KMS with KTS의 TLS를 "Enable TLS/SSL for Ranger KMS Server with KTS"를 enable시키고 노드 2곳 모두 restart해준다



*오류 내용

ERROR TrusteeKeyProviderConfiguration FingerPrint lookup on a KTS server: sunsecurity.validator.ValidatorException: PKIX apth buildingfaile: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

번호 제목 날짜 조회 수
721 Cloudera Manager 5.x설치시 embedded postgresql를 사용하는 경우의 관리정보 2018.04.13 119
720 [Hadoop Encryption] Encryption Zone에 생성된 table에 Hue에서 insert 수행시 User:hdfs not allowed to do 'DECRYPT_EEK' ON 'testkey' 오류 2023.11.01 120
719 hadoop에서 yarn jar ..를 이용하여 appliction을 실행하여 정상적으로 수행되었으나 yarn UI의 어플리케이션 목록에 나타나지 않는 문제 2017.05.02 122
718 5건의 triple data를 이용하여 특정 작업 폴더에서 작업하는 방법/절차 2016.06.16 123
717 magento2 설치후 초기화면이 깨지는 문제 file 2017.01.31 123
716 [kerberos]Kerberos HA구성 참고 페이지 2022.08.31 123
715 magento2 샘플데이타 설치 2017.01.31 124
714 [Kerberos]병렬 kinit 호출시 cache파일이 손상되어 Bad format in credentials cache 혹은 No credentials cache found 혹은 Internal credentials cache error 오류 발생시 2023.01.20 125
713 [oozie]Oozie WF수행시 단계별 ID넘버링 비교/설명 2022.03.23 126
712 [bitbucket] 2022년 3월 2일 부터 git 작업시 기존에 사용하던 비빌번호를 사용할 수 없도록 변경되었다. 2022.04.30 126
711 [oracle]10자리 timestamp값을 날짜로 변환하는 방법 2022.04.14 127
710 core 'gc_shard3_replica2' is already locked라는 오류가 발생할때 조치사항 2017.09.14 130
709 [CDP7.1.3]Ranger WebUI에서 Error! Connection refused: Please check the KMS provider URL and whether the Ranager KMS is running발생시 조치 방법 2023.06.07 131
708 [CDP7.1.7] oozie sqoop action으로 import혹은 export수행시 발생한 오류에 대한 자세한 로그 확인 하는 방법 2024.04.19 131
707 webid에서 google처럼 검색할 수 있도록 하는 프로그램 2017.05.16 133
706 Hadoop 2.7.x에서 사용할 수 있는 파일/디렉토리 관련 util성 클래스 파일 2017.09.28 133
705 [HA구성 이슈]oozie 2대를 L4로 HA구성했을때 발생하는 이슈 2023.01.17 133
704 S2RDF 테스트(벤치마크 테스트를 기준으로 python, scala소스가 만들어져서 기능은 파악되지 못함) [2] file 2016.05.27 135
703 Oracle NLOB type의 데이터를 import하는 경우 No Java type for SQL type 2011 for column rst와 같은 오류 발생시 조치사항 2022.01.14 135
702 vuestorefrontui.io를 이용한 front end project 생성하기 2022.02.06 135
위로