본문 바로가기

HDFS

Cluster 설정

1. SSH 구성

 

 

기본적인 SSH 연결

 

 

bigpi1 에서 bigpi2 으로 연결하려면 초기에 설정한 비밀번호 bigdata 필요

 

 

$ ssh 10.0.2.101

bigpi1 -> bigpi2 로 연결

 

Cluster 내에서 여러 서버에 자주 접속할 것이므로 SSH의 alias를 지정하고, 서버 간 공개키를 사용해서

비밀번호 없이 접속이 가능하도록 설정

 

 

SSH 연결 간편화 1

 

 

cluster에 있는 모든 서버에서 SSH alias 설정

 

$ nano ~/.ssh/config

 

 

Host bigpi1
User pi
Hostname 10.0.2.100

Host bigpi2
User pi
Hostname 10.0.2.101

Host bigpi3
User pi
Hostname 10.0.2.102

Host bigpi4
User pi
Hostname 10.0.2.103

 

수정 후 bigpi2 접속

 

 

$ ssh bigpi2

이제 alias로 접속 가능

 

 

SSH 연결 간편화 2

 

Cluster의 모든 서버에서 비대칭 key-pair를 생성(ed25519 타입)

 

 

$ ssh-keygen -t ed25519

엔터만 누르면 된다

 

 

bigpi1 뿐만 아니라 bigpi2, bigpi3, bigpi4도 비대칭 키 pair 생성

 

$ ssh-keygen -t ed25519

 

 

모든 서버의 공개키를 bigpi1의 .ssh/authorized_keys 파일에 추가

 

bigpi2 ~ bigpi4 모든 서버에서 코드 수행

 

$ cat ~/.ssh/id_ed25519.pub | ssh pi@10.0.2.100 ‘cat >> .ssh/authorized_keys’

 

 

bigpi1에서 bigpi1 공개키도 .ssh/authorized_keys 파일에 추가

 

$ cat .ssh/id_ed25519.pub >> .ssh/authorized_keys

 

 

 

$ cat .ssh/authorized_keys

 

bigpi1의 .ssh/authorized_keys 파일에 모든 서버의 공개키가 추가 되었음을 확인

 

 

 

$ ssh bigpi1

 

이제 간편하게 bigpi1으로 접속 가능

 

 

bigpi1의 .ssh/authorized_keys 파일, config 파일을 나머지 모든 서버에 복사

 

 

$ scp ~/.ssh/authorized_keys bigpi2:~/.ssh/authorized_keys

$ scp ~/.ssh/authorized_keys bigpi3:~/.ssh/authorized_keys

$ scp ~/.ssh/authorized_keys bigpi4:~/.ssh/authorized_keys

$ scp ~/.ssh/config bigpi2:~/.ssh/config

$ scp ~/.ssh/config bigpi3:~/.ssh/config

$ scp ~/.ssh/config bigpi4:~/.ssh/config

 

이제 cluster 내의 모든 서버 간에 ssh로 간단한 연결 가능

 

 

2. 명령어 추가

 

 

cluster 내의 다른 서버의 hostname 목록 얻기

 

 

~/.bashrc 파일에 others 함수 추가

 

$ nano .bashrc

 

 

function others {
	grep "pi" /etc/hosts | awk '{print $2}' | grep –v $(hostname)
}

 

$ source .bashrc

 

 

$ others

 

정상적으로 목록 불러옴

 

 

 

cluster 전체에 같은 명령어 보내기

 

 

~.bashrc 파일에 cluster_reboot, cluster_shutdown, cluster_scp 함수 추가

 

 

function cluster_reboot {
	cluster_run sudo shutdown –r now
}

function cluster_shutdown {
	cluster_run sudo shutdown now
}

function cluster_scp {
	for x in $(others); do
		cat $1 | ssh $x "sudo tee $1" > /dev/null 2>&1
	done
}

 

 

 

변경 후 적용

 

$ source .bashrc

 

 

cluster scp 실행

 

 

bigpi2 에서  $ cat .bashrc

 

bigpi2에서 변경된 .bashrc 내용 확인

 

 

bigpi2 ~ bigpi4 모든 서버에서 적용

 

$ source .bashrc

'HDFS' 카테고리의 다른 글

Sqoop  (0) 2021.12.22
Apache Flume  (0) 2021.12.22
HDFS Cluster 설정  (0) 2021.12.20
Single Node 설정  (2) 2021.12.20
가상환경 설치(virtual hadoop cluster 구성)  (0) 2021.12.16