메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 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

번호 제목 날짜 조회 수
321 여러 홈페이지를 운영하거나 혹은 서버에 가입한 사용자들에게 홈페이지 계정을 나누어 줄수 있도록 설정/계정 생성방법 2018.01.23 535
320 Cannot create /var/run/oozie/oozie.pid: Directory nonexistent오류 2014.06.03 537
319 servlet-api를 jar형태로 build할때 포함하지 말고 java 설치 위치의 jre/lib/ext에 복사하여 사용하는것이 좋다. 2016.08.10 538
318 클러스터내의 전체 workflow및 coordinator현황을 사용자별로 추출하는 방법 2021.11.25 538
317 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable원인 2015.04.27 541
316 [CDP7.1.7][Replication]Table does not match version in getMetastore(). Table view original text mismatch 2024.01.02 543
315 queryTranslator실행시 NullPointerException가 발생전에 java.lang.ArrayIndexOutOfBoundsException발생시 조치사항 2016.06.16 548
314 root계정으로 MariaDB설치후 mysql -u root -p로 db에 접근하여 바로 해줘야 하는일..(케릭터셑은 utf8) 2015.10.02 550
313 TransmitData() to failed: Network error: Recv() got EOF from remote (error 108) 오류 현상 2019.02.15 551
312 DataSetCreator실행시 "Illegal character in fragment at index"오류가 나는 경우 조치방안 2016.06.17 552
» [TLS]TLS용 사설 인증서 변경 혹은 신규 지정시 No trusted certificate found 오류 발생시 확인및 조치사항 2022.03.15 552
310 Kudu tablet이 FAILED일때 원인 확인 방법 2022.01.17 554
309 원보드 컴퓨터 비교표 file 2014.08.04 555
308 Cloudera Hadoop and Spark Developer Certification 준비(참고) 2018.05.16 555
307 Namenode Metadata백업하는 방법 2020.02.10 556
306 bash는 PS1 변수를 통해 프롬프트의 모양을 바꿀 수 있다. 2016.03.30 557
305 small file 한개 파일로 만들기(text file 혹은 parquet file의 테이블) 2022.07.04 557
304 scan의 startrow, stoprow지정하는 방법 2015.04.08 558
303 [oneM2M]Ontologies used for oneM2M 2017.08.02 560
302 [2.7.2] distribute-exclude.sh사용할때 ssh 포트변경에 따른 오류발생시 조치사항 2018.01.02 560
위로