메뉴 건너뛰기

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 github에 있는 프로젝트와 로컬에서 작업한 프로젝트 합치기 2016.11.22 536
320 .gitignore파일에 지정되지 않은 파일이 ignore되는 경우 확인방법 2016.11.22 465
319 특정 커밋 시점(commit id를 기준으로)으로 돌리기(reset) 2016.11.21 189
318 Github를 이용하는 전체 흐름 이해하기 2016.11.18 146
317 특정 단계의 commit상태로 만들기(이렇게 하면 중간에 반영된 모든 commit를 history가 삭제된다) 2016.11.17 375
316 git 초기화(Windows에서 Git Bash사용) 2016.11.17 246
315 spark notebook 0.7.0설치및 설정 2016.11.14 464
314 참고할만한 spark예제를 설명하는 사이트 2016.11.11 186
313 Kafka Offset Monitor로 kafka 상태 모니터링 하기 file 2016.11.08 663
312 Eclipse실행시 Java was started but returned exit code=1이라는 오류가 발생할때 조치방법 2016.11.07 581
311 [SparkR]SparkR 설치 사용기 1 - Installation Guide On Yarn Cluster & Mesos Cluster & Stand Alone Cluster file 2016.11.04 340
310 데이타 분석및 머신러닝에 도움이 도움이 되는 사이트 2016.11.04 455
309 java스레드 덤프 분석하기 file 2016.11.03 185
308 centos 6에서 mariadb 5.1 to 10.0 으로 upgrade 2016.11.01 202
307 Spark Streaming 코드레벨단에서의 성능개선 2016.10.31 291
306 Flume과 Kafka를 사용한 초당 100만개 로그 수집 테스트 file 2016.10.31 1127
305 Flume을 이용한 데이타 수집시 HBase write 성능 튜닝 file 2016.10.31 724
304 How-to: Build a Complex Event Processing App on Apache Spark and Drools file 2016.10.31 360
303 How-to: Tune Your Apache Spark Jobs (Part 2) file 2016.10.31 221
302 mybatis와 spring을 org.apache.commons.dbcp2.BasicDataSource의 DataSource로 연동할때 DB설정(참고) 2016.10.31 1074
위로