메뉴 건너뛰기

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

번호 제목 날짜 조회 수
421 여러 홈페이지를 운영하거나 혹은 서버에 가입한 사용자들에게 홈페이지 계정을 나누어 줄수 있도록 설정/계정 생성방법 2018.01.23 535
420 원격의 origin/master를 기준으로 dev branch를 만들어 작업후 원격의 origin/dev에 push하는 방법 file 2016.11.22 534
419 halyard의 console스크립트에서 생성한 repository는 RDF4J Web Applications에서 공유가 되지 않는다. 2017.07.05 531
418 github에 있는 프로젝트와 로컬에서 작업한 프로젝트 합치기 2016.11.22 526
417 python실행시 ValueError: zero length field name in format오류 해결방법 2016.05.27 526
416 Could not configure server becase SASL configuration did not allow the Zookeeper server to authenticate itself properly: javax.security.auth.login.LoginException: Checksum failed 2019.05.18 523
415 hadoop 어플리케이션을 사용하는 사용자 변경시 바꿔줘야 하는 부분 2016.09.23 523
414 Error: E0501 : E0501: Could not perform authorization operation, User: hadoop is not allowed to impersonate hadoop 해결하는 방법 2015.06.07 520
413 AIX 7.1에서 hive실행시 "hive: line 86: readlink: command not found" 오류가 발생시 임시 조치사항 2016.09.25 519
412 Caused by: java.lang.ClassNotFoundException: org.apache.spark.Logging 발생시 조치사항 2017.04.19 517
411 서버중 slave,worker,regionserver만 재기동해야 할때 필요한 기동스크립트및 사용방법 2017.02.03 516
410 우분투 서버에 GUI로 접속하기 file 2018.05.27 514
409 [HIVESERVER2]프로세스의 thread및 stack trace를 덤프하는 방법(pstack, jstack) 2022.05.11 513
408 Soft memory limit exceeded (at 100.05% of capacity) 오류 조치 2022.01.17 512
407 elasticsearch 기동시 permission denied on key 'vm.max_map_count' 오류발생시 조치사항 2017.06.23 511
406 new Gson().toJson(new ObjectId())을 사용하면 값이 다르게 나오는 경우가 있음 2016.12.23 511
405 Elastic Search For Hadoop 2.2.0설치하기(5대 클러스터링) 2016.04.04 511
404 Windows7 64bit 환경에서 Apache Hadoop 2.7.1설치하기 2017.07.26 510
403 streaming작업시 입력된 값에 대한 사본을 만들게 되는데 이것이 실패했을때 발생하는 경고메세지 2017.04.03 510
402 Hadoop - 클러스터 세팅및 기동 2015.04.28 509
위로