터널링을 이용한 웹 UI 접속

Cloud Hadoop 서비스의 클러스터 관리 중 터널링을 통해 관리 UI페이지에 접속하는 방법에 대해 설명합니다.

기본적으로 클러스터 생성 시 입력한 클러스터 관리자 계정 및 패스워드를 통해 Ambari 웹 UI 접속이 가능합니다. 그렇지만 HDFS NameNode UI등 일부 메뉴는 SSH 터널링을 통해서만 접속이 가능합니다.

다음 web UI에 접속하기 위해서는 SSH 터널링 설정 작업이 필요합니다.

  • HDFS NameNode UI
  • YARN Resource Manager UI
  • Spark JobHistory UI
  • Oozie web UI
  • HBase Master UI

사전 작업

SSH 터널링 연결을 하기 위해서는 다음과 같은 사전 작업이 필요합니다.

Step 1. 해당 클러스터 내에 공인 IP가 할당된 노드가 있어야 합니다.

Cloud Hadoop 경우 클러스터 생성 시 ambari server가 수행되는 마스터 노드에 공인 IP가 할당됩니다. 콘솔에서 클러스터 상세보기 화면에서 공인IP가 할당되어 있는지 확인이 가능합니다.

Step 2. 클러스터 ACG에 사용자의 IP와 22번 포트가 등록되어 있어야 합니다.

ACG 설정 변경은 클러스터 상세 정보 화면에서 ACG 메뉴를 통해 가능합니다. 접근소스는 브라우저를 사용할 컴퓨터의 ip이므로 ACG 규칙 설정 화면에서 my ip 버튼을 클릭해서 입력 할 수 있습니다.

프로토콜 접근소스 허용포트 비고
TCP my ip 22 ssh 터널링 접속용

터널을 만들기 위해서는 아래 두 가지 방법 중 사용자 환경에 따라 선택해서 진행할 수 있습니다. 터널링 이 완료되면 로컬 컴퓨터에서 9876 포트로 전송되는 트래픽이 클러스터의 마스터 노드로 라우팅됩니다.

[Case 1] SSH 명령을 사용하여 터널 만들기

SSH(Secure Shell) 터널링은 로컬 컴퓨터의 포트를 Cloud Hadoop 클러스터의 이전에 공인 IP 주소 할당 및 포트 오픈된 마스터 노드에 연결합니다.

로컬 포트로 전송된 트래픽은 SSH 연결을 통해 해당 마스터 노드로 라우팅됩니다. 마치 마스터 노드에서 시작된 것처럼 보이고 응답은 터널을 통해 다시 라우팅됩니다.

SSH 명령을 사용하여 SSH 터널을 만들려면 다음 명령을 사용합니다. Cloud Hadoop에서 생성한 클러스터의 SSH 사용자는 sshuser이며 변경할 수 없습니다. 사전작업에서 만든 공인IP와 클러스터 생성할 때 설정한 인증키가 필요합니다.

# ssh -i <PEM-FILE-PATH> -C2qTnNf -D 9876 sshuser@<PUBLIC_IP>
ssh -i ~/Download/sample-key.pem -C2qTnNf -D 9876 sshuser@10.10.10.10

이 명령은 로컬 포트 9876에서 SSH를 통해 클러스터에 트래픽을 라우팅하는 연결을 만듭니다. 옵션은 다음과 같습니다.

  • D 9876: 터널을 통해 트래픽을 라우팅하는 로컬 포트
  • C: 웹 트래픽은 대부분 텍스트이므로 모든 데이터 압축
  • 2: SSH가 프로토콜 버전 2만 시도하도록 강요
  • q: 자동 모드
  • T: 포트 전달 후 허위 tty 할당 비활성화
  • n: 포트 전달 후 STDIN 읽지 않음
  • N: 포트 전달 후 원격 명령 실행 안 함
  • f: 백그라운드에서 실행

[Case 2] PuTTY를 사용하여 터널 만들기

PuTTY는 Windows용 그래픽 SSH 클라이언트입니다(참고: PuTTY Documentation Page).

  1. PuTTY를 열고 연결 정보 입력합니다.

  2. 대화 상자 왼쪽에 있는 Category 창에서 Connection > SSH > Tunnels를 선택합니다.

  3. Options controlling SSH port forwarding 양식에 다음 정보를 제공합니다.

    • Source port: 전달하려는 클라이언트의 포트(예: 9876)
    • Destination: 해당 클러스터의 공인 IP 주소 또는 Public 도메인 주소
    • Dynamic: 동적 SOCKS 프록시 라우팅 활성화
  4. SSH key에서 클러스터 인증키를 입력해 줍니다. PuTTY에서 .pem키를 변환하여 불러오는 것은 서버 직접 접속 가이드를 참고하세요.

  5. Add 클릭 후 Open을 클릭하여 서버에 로그인합니다.

  6. 한번 만들어진 터널은 PuTTY에서 해당 세션을 저장해두고 필요할 때 로드하여 접속할 수 있습니다.

브라우저에서 터널 사용

이 단계에서는 Mozilla Firefox 브라우저 사용을 권장합니다. 이 브라우저는 모든 플랫폼에서 동일한 프록시 설정을 제공합니다. Google Chrome 등의 다른 최신 브라우저에는 터널에서 작동하기 위해 FoxyProxy 등의 확장이 필요할 수 있습니다.

localhost와 SOCKS v5 프록시 터널을 만들 때 사용한 포트를 사용하도록 브라우저를 구성합니다.

Firefox

설정 > 네트워크 프록시에서 다음과 같이 설정합니다.

macOS Chrome

cmd에서 /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --proxy server="socks5://127.0.0.1:9876"을 실행합니다.

Windows Chrome

  1. Chrome 아이콘을 마우스 오른쪽 버튼으로 클릭하여 속성을 선택합니다.

  2. 바로 가기 탭의 대상 마지막에 --proxy-server="socks5://127.0.0.1:9876"을 추가합니다.

브라우저에서 관리 UI접속하기

주의 proxy-server를 설정한 후 해당 웹 브라우저를 모두 다시 실행해야 정상 동작합니다.

터널링 설정 전에는 Ambari Quick Links에 있는 페이지에 접속이 되지 않았을 것입니다. 이제 프록시 설정을 한 브라우저를 통해 기타 관리 UI에 접속 할 수 있는것을 확인할 수 있습니다. 예를 들어, Active ResourceManager 컴포넌트가 호스트m-002-cluster-test-hd에 있다면 http://m-002-cluster-test-hd:8088/cluster에서 Resource Manager UI에 접근 할 수 있을 것입니다.

기존에 터널링 없이 접속 됬던 UI의 경우, 기존 주소에서 공인 IP 주소 부분을 공인 IP 주소가 할당된 노드의 사설 IP 주소 또는 호스트 네임으 수정 후 접속해야 합니다. 예를들어, 원래 터널링 없이 Ambari UI에 http://pub-1vo2v.hadoop.ntruss.com:8080/#/login 이 주소로 접근 했다면, 터널링 작업 후에는 http://m-001-cluster-test-hd:8080/#/login에서 접근 할 수 있습니다.

연관 정보 바로가기

Hadoop 클러스터 생성, 관리 및 사용 관련하여 아래 사용 가이드를 참고하실 수 있습니다.

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...