메뉴 건너뛰기

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

번호 제목 날짜 조회 수
61 외부 jar파일을 만들려고하는jar파일의 package로 포함하는 방법 2016.08.10 152
60 Cloudera의 CMS각 컴포넌트의 역할 2020.02.10 151
59 Core with name 'xx_shard4_replica1' already exists. 발생시 조치사항 2017.07.22 151
58 ServerInfo객체파일 2016.07.21 150
» [KTS Cluster의 Key Trustee Server]self-signed 인증서 발급및 설정 방법 2023.06.27 149
56 [Kerberos인증] /var/log/krb5kdc.log파일 기준으로 인증요청(AS), 티켓확인(TGS)이 진행되는 로그 기록 2022.09.21 149
55 LAGOM 1.4 AND KUBERNETES ORCHESTRATION 2019.07.19 149
54 실시간 쿼리 변환 모니터링(팩트내 필드값의 변경사항을 실시간으로 추적함)하는 테스트 java 프로그램 file 2016.07.21 148
53 Master rejected startup because clock is out of sync 오류 해결방법 2016.05.03 148
52 windows10 pro에서 microservice pattern책의 예제를 kubernetes에서 기동하는 방법 2022.01.30 147
51 magento2 log파일 위치 2017.01.31 145
50 Github를 이용하는 전체 흐름 이해하기 2016.11.18 145
49 "암은 평범한 병, 심호흡만 잘해도 암세포 분열 저지” 2016.06.02 143
48 [CDP7.1.7]Hive Replication수행시 Target Cluster에서 Specified catalog.database.table does not exist 오류 2024.05.08 142
47 windows 혹은 mac에서 docker설치하기 위한 파일 2017.10.13 142
46 9대가 hbase cluster로 구성된 서버에서 테스트 data를 halyard에 적재하고 테스트 하는 방법및 절차 2017.07.21 142
45 [Oracle 11g]Kudu table의 meta정보를 담고 있는 table_params의 백업본을 이용하여 특정 컬럼값을 update하는 Oracle SQL문 2023.09.04 141
44 Hadoop Clsuter에 이미 포함된 host의 hostname변경시 처리 절차 2023.03.24 141
43 DataSetCreator.py 실행시 파일을 찾을 수 없는 오류 2016.05.27 141
42 [u-Auctions]목록이 1개만 나오는 문제 2017.05.29 137
위로