* 본 가이드는 필요 파일과 이전 포스팅까지 작업이 완료되었다는 가정하에 진행
주요 스펙
호스트OS - windows10 home
게스트OS들 - centOS7
Hadoop - 3.1.0
Zookeeper - 3.4.10
jdk - 1.8.0_191
공유기(WI-FI) 연결 환경
서버 6대를 활용한 하둡 HA 구성:
nn01: 액티브 네임노드, 저널노드 역할
rm01: 스탠바이 네임노드, 리소스 매니저, 저널노드 역할
jn01: 저널노드 역할
dn01: 데이터 노드 역할
dn02: 데이터 노드 역할
dn03: 데이터 노드 역할
실행 환경:
Action Server: 명령을 수행할 서버(hostname)
User: 명령을 수행할 계정
Pwd: 명령을 수행할 경로
앞선 과정들로 서버6대를 구축하고, 각 서버(게스트OS)가 호스트OS를 통해 외부 인터넷 접속까지 완료된 상황이다.
이번 포스팅에서는 기본적인 리눅스 환경 설정과 게스트OS간의 통신 과정을 거친다.
SELINUX 해제
* SELINUX란?:
SELINUX(Security Enhanced Linux)는 리눅스의 소스코드가 공개되어있는 환경이고 설치 이후 보안에 필요한 설정을 하지 않아 보안에 취약하다. 이러한 취약점을 보안하기위한 모델이 selinux이고 최초 리눅스 설치시 enforcing(적용)이 되어있다. 관리자라면 다른 보안 설정으로 취약점을 보완할 수 있기 때문에 selinux를 비활성화하여 사용하는 일이 많다.
하둡 구축 과정 중에서 이 selinux를 끈 채로 진행한다.
Action Server: all
User: root
Pwd: /root
# 모든 서버에서 실행 및 수정
vi /etc/sysconfig/selinux
# selinux=enforcing 를 selinux=disabled로 변경
* 주의!: 맨 하단에 SELINUXTYPE=targeted를 변경하지 않도록 주의! 이 부분을 변경할 경우 부팅이 안되는 오류 발생!
방화벽 해제
방화벽이란?:
허용된 접속을 제외하고 외부 사용자들이 내부 네트워크에 접근하지 못하게 하는 네트워크 방어 도구
하둡 클러스터 간(게스트OS) 원활한 통신을 위해 방화벽 기능을 끈 채 작업 진행
Action Server: all
User: root
Pwd: /root
# 모든 서버 실행 및 확인
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl restart network
firewall-cmd --state
필요 모듈들 설치
Action Server: all
User: root
Pwd: /root
# 모든 서버에서 실행
yum update
yum install wget
yum install ntp
ntp설정
NTP: (네트워크로 연결되어있는 컴퓨터들 끼리 클록 시각을 같게 동기화 시키는 프로토콜
하둡에 저장되는 데이터의 신뢰성을 위해 각 서버간 시각을 같게 동기화
[참조]mindnet.tistory.com/entry/NTP
Action Server: all
User: root
Pwd: /root
# 모든 서버에서 실행 및 수정
# 각 서버별로 수정 내용 다름!
vi /etc/ntp.conf
# 모든 서버 동일 - 주석 처리
# server 0.--.--.-- - 주석 처리
# server 1.--.--.-- - 주석 처리
# server 2.--.--.-- - 주석 처리
# server 3.--.--.-- - 주석 처리
# 모든 서버 동일 - 주석 해제
restrict 10.10.31.0 mask 255.255.0.0 nomodify notrap - 주석 해제
# nn01
server 127.127.1.0 - 추가
# rm01
server nn01 - 추가
server 127.127.1.0 - 추가
# jn01, dn01, dn02, dn03
server nn01 - 추가
server rm01 - 추가
ntp 구동
Action Server: all
User: root
Pwd: /root
# 모든 서버에서 실행
systemctl enable ntpd
systemctl start ntpd
ntpq -p
nn01
rm01
jn01, dn01, dn02, dn03
SSH 설정
SSH(Secure Shell Protocol)이란 네트워크 프로토콜 중 하나로 컴퓨터와 컴퓨터가 인터넷과 같은 pUbilc Network를 통해 데이터 전송, 원격 제어 등의 서로간의 통신을 보안적으로 안전하게 해주는 프로토콜
Action Server: all
User: root
Pwd: /root
# 모든 서버에서 실행
ssh-keygen # ssh 키 생성
# 빈 칸으로 나둔 채 계속 해서 enter
SSH 통신
Action Server: all
User: root
Pwd: /root
# 모든 서버에서 실행
ssh-copy-id -i .ssh/id_rsa.pub root@nn01
ssh-copy-id -i .ssh/id_rsa.pub root@rm01
ssh-copy-id -i .ssh/id_rsa.pub root@jn01
ssh-copy-id -i .ssh/id_rsa.pub root@dn01
ssh-copy-id -i .ssh/id_rsa.pub root@dn02
ssh-copy-id -i .ssh/id_rsa.pub root@dn03
# 비밀번호 물음 없이 원격 접속 되는지 확인
ssh nn01
exit
ssh rm01
exit
ssh jn01
exit
ssh dn01
exit
ssh dn02
exit
ssh dn03
ex)
이렇게 각 게스트OS간 통신까지 마쳤다.
다음 포스팅에서는 ep00에서 설치받았던 MobaXterm을 사용하여 보다 편리하게 작업하기 위한 UI와 로컬에서 가상 서버로의 파일 전송(SFTP)등을 사용할 것이다.
감사합니다!!
developer-woong.tistory.com/18
'BigData > Hadoop' 카테고리의 다른 글
(하둡 설치) ep06_하둡(hadoop), 주키퍼(zookeeper) 계정 생성 및 권한 설정, ssh 통신 (0) | 2021.02.25 |
---|---|
(하둡 설치) ep05_MobarXterm 원격 ssh접속 및 STFP 활용 centOS7 java(jdk) 환경 설정 (0) | 2021.02.25 |
(하둡 설치) ep03_가상 머신 서버 환경 설정(hostname, 고정 ip 할당) (0) | 2021.02.20 |
(하둡 설치) ep02_가상 머신 서버 실행 (0) | 2021.02.20 |
(하둡 설치) ep01_가상머신 서버 생성 (Virtual Machine, 네트워크 어댑터 설정) (0) | 2021.02.20 |