본문 바로가기
빅데이터 분석 환경 구축

Trouble Shooting

by pavi03 2022. 4. 25.

ssh_keygen 으로 인한 문제

  • 개념 이해
    • ssh-keygen 은 id_rsa (private key)와 id_rsa.pub: (public key)을 생성
      • A→B로 연결을 원할시, id_rsa.pub 의 내용은 B의 .ssh/authorized_keys 에 추가되어 있어야함. id_rsa.pub 파일 직접 사용되지는 않음
      • A → B 연결시, A는 id_rsa 키를 이용하여, B는 authorized_keys 파일에 append된 id_rsa.pub 내용을
      • 이 때, A의 .ssh/know_hosts에는 B를 처음 연결할 때, B를 연결하기 위한 signature를 남기는데, 이 때 B의 주소가 바뀌면 접속시 에러가 발생할 수 잇다.
    • 재시작할 경우도, private ip address는 바뀌지 않으므로 문제가 없고, 이 키파일이 유지되므로 문제없이 ssh로 상호 통신한다.
  • 문제1: ssh 로 타 호스트 로그인 불가
    • private ip간의 연결일 경우: 연결자체가 안되면, /etc/hosts 확인
  • 문제3: ssh로 localhost 로그인 불가
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:CkEqqI3Akx2US5xL46WQaX6zPf1f19/bRVPR3GrLovk.
Please contact your system administrator.
Add correct host key in /home/ubuntu/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/ubuntu/.ssh/known_hosts:1
  remove with:
  ssh-keygen -f "/home/ubuntu/.ssh/known_hosts" -R "localhost"
ECDSA host key for localhost has changed and you have requested strict checking.
Host key verification failed.

14강까지 중지/재시작한 경우 발생하는 문제

  • 서버의 public ip 변경으로 인한 조치 필요
    • local PC의 ~/.ssh/config 파일에 주소 변경
  • private ip는 변경되지 않으므로 별도 조치 불필요

14강까지 만든 5개의 AMI이미지 파일을 이용해 인스턴스 생성시 보완사항

  • 작업 윈도우 PC에서 .ssh/config 파일에 부여된 public ip로 변경
  • private ip가 모두 바뀌는 것에 대한 처리 사항
    • 5개 서버의 /etc/hosts 파일 변경 : 한 서버(nn1)에서 변경한 이후, rcp 등을 이용
  • private ip가 바뀌었지만 id_rsa, id_authorized_key에 추가된rsa.pub의 내용은 동일하나, know_hosts로 인한 문제발생
    • 5개 host에 know_hosts 파일을 삭제
  • ssh localhost의 내용이 known_hosts에 반영되도록 다음 명령 시행
    • ssh-keygen -f "~/.ssh/known_hosts" -R "localhost”

네임노드 포맷

  • 복잡한 문제 발생하므로 가급적 네임노드 포맷은 하지 말라.
  • journal node와 hdfs의 분산동기화를 위한 흔적들을 지워주어야함.
    • 1단계: 관련된 process를 다음순으로 종료
      • zeppelin 종료: zeppelin-deamon stop
      • spark → Yarn → Spark 종료
      • Zookeeper 종료
    • 2단게: 기존 분사동기화 흔적 종료
      • hdfs 분산동기화 흔적 삭제: 폴더 삭제
        • 분산파일시스템(journalnode) 삭젝 (5개 노드 모두) : /usr/local/hadoop/data/dfs
        • namenode 폴더 삭제(nn1, nn2): /usr/local/hadoop/data/namenode
        • /usr/local/hadoop/data 폴더 삭제
    • 3단계
      • zookeeper만 실행한 상태에서 5강의 내용 실행
      • 이후는 cluster-restart 실행