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 |