Hadoop ssh port 여러 포트 사용

suran choi·2022년 12월 26일
0

Hadoop

목록 보기
3/6

상황

Hadoop을 총 2대에 올렸고 두 서버 모두 같은 공유기에 연결되어 있었기에 ssh 통신을 다음과 같이 두 개의 포트로 하였다.
(아래 퍼블릭 아이피는 예시입니다)

hostnamepublic ipport
서버 1server11.2.3.45000
서버 2server21.2.3.45001

기존에는 Hadoop-env.sh에서 다음 코드를 추가해주어 서버들끼리 5000포트로 ssh 통신하도록 해주었으나, 현재는 ssh port가 각기 달라 새로운 방안을 찾아야 했음
sudo vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh

# 추가
export HADOOP_SSH_OPTS="-p 5000"

export HADOOP_SSH_OPTS="-p 5000"만 추가해줄 때는 다음과 같은 오류가 지속적으로 떴었음

server2: ssh: connect to host server2 port 5000: Connection refused




ssh config

vim ~/.ssh/config

-----
Host server1
    HostName 1.2.3.4
    User ubuntu
    Port 5000
Host server2
    HostName 1.2.3.4
    User ubuntu
    Port 5001
-----
  • AWS EC2 사용 시 (pem Key)

    vim ~/.ssh/config
    
    -----
    Host server1
        HostName 1.2.3.4
        User ubuntu
        Port 5000
        IdentityFile ~/.ssh/example1.pem
    
    Host server2
        HostName 1.2.3.4
        User ubuntu
        Port 5001
        IdentityFile ~/.ssh/example2.pem
    ----
  • 설정 옵션
    • Host
      • ssh 명령 시 사용할 이름
    • Hostname
      • public ip
    • Port
      • 연결할 서버의 port number
    • IdentityFile
      • pem Key를 사용할 경우 pem Key의 경로

ssh config 설정 파일을 적어두면 ssh 통신이 훨씬 간편해진다.

예를 들어, public ip나 port를 따로 적지 않아도 ssh 통신이 가능하다.

# ssh config 설정하기 전
ssh ubuntu@1.2.3.4 -p 5000

# ssh config 설정한 후
ssh server1

ssh 포트를 여러 개 쓰시는 분들은 hadoop-env.sh 설정이 아닌 ssh config 파일로 설정 추가를 해주시면 됩니다.



참고

How to setup different SSH ports for different Hadoop workers?

0개의 댓글