메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다. 문의사항은 gooper@gooper.com로 메일을 보내주세요.


* 상황 : Cloudera Manager의 인증서에 "주체 대체 이름"이 부여되지 않아 신뢰할 수 없는 사이트라고 표시가 되어 이것을 해결하기 위해서 "주체 대체 이름"이 추가된 새로운 인증서를 받아 Cloudera Manager TLS/SSL Server JKS Keystore File Location에 지정된 인증서를 교체 하고 cloudera-scm-server를 재기동 했는데 CM은 신뢰할 수 있는 사이트라고 정상적으로 반영되는데 Cloudera Management Service의 Service Monitor등에서 오류가 발생함.(CM은 java 루트인증서 저장소($JAVA_HOME/jre/lib/cacerts 혹은 $JAVA_HOME/jre/lib/security/cacerts)를 참조하고 CMS(TLS/SSL Client Truststore File Location, 이곳이 지정되지 않으면 java 루트인증서 저장소를 참조함)은 또 다른 파일(/usr/java/security/jssecacerts)를 참조 해서 발생하는 현상임)

* 오류내용 : Cloudera Management Service의 Service Monitor등에서 javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found 가 발생되면서 서비스가 정상적이지 않음

* 원인 : 사설 인증서의 경우 ca.crt를 java keystore에 등록해줘야 상위 인증기관을 확인할 수 있는데 이것이 등록되지 않아서 발생하는 문제임

  (서버는 클라이언트에게 인증서를 전달해주며, 클라이언트는 서버로부터 전달받은 인증서를 루트인증서 저장소(cacerts)에 있는 루트인증서로 신뢰성 검증을 하게 됩니다.

   이 때, 클라이언트의 루트인증서 저장소(cacerts)에 서버로부터 전달받은 인증서를 검증할 루트인증서가 없다면 신뢰성 검증을 할 수 없어서 통신이 불가능합니다.)

* 조치 : 

- 방법#1 : 이것을 기준으로 발행되는 사설 인증서의 정상적인 인증이 가능하므로 아래와 같은 명령을 이용하여 ca.crt를 java keystore에 등록해준다.  (keystore default패스워드는 changeit 임)

     keytool -importcert -keystore $JAVA_HOME/jre/lib/security/cacerts -file /tmp/new_cert/ca.crt -alias gooper_root

- 방법#2. : cert.jks에 ca.crt를 Alias name: gooper_root형태로 등록해주고 Entry type: trustedCertEntry로 추가해준다. 


*참고 : ca.pem, cert.pem, certkey.pem을 이용하여 cert.p12를 만들고 cert.p12를 이용하여 cert.jks를 만들수 있다.

 : openssl pkcs12 -export -in cert.pem -inkey certkey.pem -certfile ca.pem -out cert.p12

 : keytool -importkeystore -srckeystore cert.p12 -srcstoretlype pkcs12 -destkeystore cert.jks -deststoretype jks

번호 제목 글쓴이 날짜 조회 수
151 [Kerberos인증] /var/log/krb5kdc.log파일 기준으로 인증요청(AS), 티켓확인(TGS)이 진행되는 로그 기록 gooper 2022.09.21 1
150 [kerberos]Kerberos HA구성 참고 페이지 gooper 2022.08.31 4
149 javax.net.ssl.SSLHanshakeException: SSLHandshakeException invoking https://mainCluster.gooper.com:7183/api/v1/users: sun.security.validator.ValidatorException: No trusted certificate found gooper 2022.06.29 17
148 Cloudera Manager의 Java Heap Size변경하는 방법 gooper 2022.06.27 4
147 [Sentry] sentry메타 DB를 이용하여 테이블에 매핑되어 있는 role명칭 찾는 방법. gooper 2022.06.22 3
146 Authorization within Hadoop Projects gooper 2022.06.13 11
145 CDP에서 AD와 Kerberos를 활용하여 인증 환경을 구축하는 3가지 방법 gooper 2022.06.10 17
144 [AD(LADP)] CDP1.7에서 AD및 Kerberos를 연동해도 각 노드에 os account, os group은 생성되어야 하지만 SSSD서비스를 이용하면 직접 생성될 필요가 없다. gooper 2022.06.10 14
143 HDFS 파일및 디렉토리 생성시 생성방법에 따라 권한이 다르게 부여된다. gooper 2022.05.30 30
142 [Cloudera Agent] Metadata-Plugin throttling_logger INFO (713 skipped) Unable to send data to nav server. Will try again. gooper 2022.05.16 1
141 "bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')])" 오류는 CA인증을 하지 못해서 발생함 총관리자 2022.05.13 8
140 [TLS/SSL]Cloudera CDH6.3.4기준 Hue TLS설정 항목 총관리자 2022.05.13 12
139 [HIVESERVER2]프로세스의 thread및 stack trace를 덤프하는 방법(pstack, jstack) 총관리자 2022.05.11 17
138 [Hue]Hue의 메타정보를 담고 있는 desktop_document테이블과 desktop_document2의 관계 총관리자 2022.05.09 4
137 hue메타 정보를 저장(oracle DB)하는 내부 테이블을 이용하여 전체 테이블목록, 전체 코디네이터 목록, 코디네이터기준 workflow구조를 추출하는 쿼리문 총관리자 2022.04.01 22
136 HDFS에서 quota 설정 방법및 확인 방법 총관리자 2022.03.30 7
135 [application수행 로그]Failed to read the application application_123456789012_123456시 조치 방법 총관리자 2022.03.21 9
134 Hue impala에서 query결과를 HDFS 파일로 export시 AuthorizationException: User 'gooper1234' does not have privileges to access: db명.query_impala_123456 총관리자 2022.03.17 35
133 [TLS]pkcs12형식의 인증서 생성및 jks형식 인증서 생성 커맨드 예시 총관리자 2022.03.15 13
» [TLS]TLS용 사설 인증서 변경 혹은 신규 지정시 No trusted certificate found 오류 발생시 확인및 조치사항 총관리자 2022.03.15 14

A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로