메뉴 건너뛰기

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

번호 제목 날짜 조회 수
741 bananapi 5대(ubuntu계열 리눅스)에 yarn(hadoop 2.6.0)설치하기-ResourceManager HA/HDFS HA포함, JobHistory포함 2015.04.24 19290
740 mapreduce appliction을 실행시 "is running beyond virtual memory limits" 오류 발생시 조치사항 2017.05.04 17060
739 org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /tmp/hadoop-root/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible. 2013.03.11 14837
738 Hive Query Examples from test code (2 of 2) 2014.03.26 11465
737 drop table로 삭제했으나 tablet server에는 여전히 존재하는 테이블 삭제방법 2021.07.09 7941
736 Resource temporarily unavailable(자원이 일시적으로 사용 불가능함) 오류조치 2015.11.19 7707
735 insert hbase by hive ... error occured after 5 hours..HMaster가 뜨지 않는 장애에 대한 복구 방법 2014.04.29 7244
734 [DataNode]org.apache.hadoop.security.KerberosAuthException: failure to login: for principal: hdfs/datanode03@GOOPER.COM from keytab hdfs.keytab오류 2023.04.18 6132
733 [Decommission]시 시간이 많이 걸리면서(수일) Decommission이 완료되지 않는 경우 조치 2018.01.03 6059
732 cumulusRDF 1.0.1설치및 "KeyspaceCumulus" keyspace확인하기 file 2016.04.15 5945
731 HBase shell로 작업하기 2013.03.15 5924
730 dr.who로 공격들어오는 경우 조치방법 file 2018.06.09 5712
729 하둡 분산 파일 시스템을 기반으로 색인하고 검색하기 2013.03.15 5688
728 Ubuntu 16.04LTS 설치후 초기에 주어야 하는 작업(php, apache, mariadb설치및 OS보안설정등) file 2017.05.23 5631
727 hive 2.0.1 설치및 mariadb로 metastore 설정 2016.06.03 5294
726 Spark에서 Serializable관련 오류및 조치사항 2017.04.21 5029
725 [gson]mongodb의 api를 이용하여 데이타를 가져올때 "com.google.gson.stream.MalformedJsonException: Unterminated object at line..." 오류발생시 조치사항 2017.12.11 4807
724 .git폴더를 삭제하고 다시 git에 추가하고 서버에 반영하는 방법 2017.06.19 4531
723 import 혹은 export할때 hive파일의 default 구분자는 --input-fields-terminated-by "x01"와 같이 지정해야함 2014.05.20 4345
722 sqoop작업시 hdfs의 개수보다 더많은 값이 중복되어 oracle에 입력되는 경우가 있음 2014.09.02 4213
위로