8. Hadoop - Hadoop 설치 하기
hadoop : 리눅스컴퓨터 여러대로 데이터를 병렬처리 분석해주는 .jar 파일
설치 -> 압축풀어서, 상황에 맞게 설정파일 수정(vi) -> 오타 -> 실패
Hadoop에 참여할 컴퓨터
DataNode
NameNode : DataNode 중에 대장 역활
ex) 3대를 할 경우
a : namenode / datanode
b : datanode
c : datanode
1. Datanode 준비
Linux 필요하다.
datanode들끼리는 id/pw가 같아야한다.
![](https://blog.kakaocdn.net/dn/k7onL/btqYTNvOsbv/cRGk9FmvjHK2pTQgLXIk9k/img.png)
![](https://blog.kakaocdn.net/dn/zVVFU/btqYW1UL5H6/E4XkBrma2kJCPLHPtJ60wK/img.png)
3대 준비 완료
아이디 / 비밀번호 : sdedu / 1
ifconfig로 ip주소 확인
192.168.56.102 - NameNode
192.168.56.103 - DataNode
192.168.56.104 - DataNode
2. DataNode들끼리 데이터를 주고 받을때 PW생락하는 SSH를 사용
Linux에서 ctrl + alt + t 눌러서 터미널 열고
openssh-server 모두 설치
sudo apt-get install openssh-server
NameNode로 접속
102번으로 접속 후 ssh ip주소를 사용해서 다른 DateNode로 접속 가능한지 확인
ex) ssh 192.168.56.103 -> ssh 192.168.56.104 -> ssh 192.168.56.102
전부 연결되어 있는지 확인
항상 내가 사용하고 있는 컴퓨터가 어디인지 잘 확인해야함
ifconfig사용해서 확인
![](https://blog.kakaocdn.net/dn/tJuvf/btqYTOuJLOp/f0BvQwCW0U9PxxRwCecbmk/img.png)
연결 확인 후
NameNode만 putty 접속하기
192.168.56.102
![](https://blog.kakaocdn.net/dn/xxbHk/btqY5Lp7go7/gPUMH1UakWbwMb1ufkm8Z1/img.png)
현재는 password를 써야 접속이 가능
DataNode끼리의 ssh는 pw입력을 하지 않는 ssh가 필요하다.
각 DataNode에서 인증서를 만들어야한다.
3대의 DataNode가 있다면 각 DataNode에 3대의 인증서가 모두 있어야한다.
인증서 만들기
192.168.56.102 컴퓨터
ssh-keygen -t rsa
![](https://blog.kakaocdn.net/dn/GAYAi/btqYW2e9LNw/nMNjou6nxINHXjEzlgSrTk/img.png)
엔터 쳐주면 인증서가 발급
인증서를 다른 컴퓨터로 전송하기
102 컴퓨터에서 만든 인증서를 102, 103, 104로 보내주기
@ 중요 본인 컴퓨터에도 보내줘야함 @
ssh-copy-id -i ~/.ssh/id_rsa.pub 아이디@받을컴퓨터 IP
ssh-copy-id -i ~/.ssh/id_rsa.pub sdedu@192.168.56.102
순서 잘 확인
102에서 인증서 만든뒤 102,103,104 컴퓨터에 넣어주기
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub sdedu@192.168.56.102
ssh-copy-id -i ~/.ssh/id_rsa.pub sdedu@192.168.56.103
ssh-copy-id -i ~/.ssh/id_rsa.pub sdedu@192.168.56.104
이걸 모든 컴퓨터에서 반복
![](https://blog.kakaocdn.net/dn/ciaEuo/btqY90mxxoE/DkqjpOYRilrKByEAfKmyU0/img.png)
ssh 192.168.56.102~4
로 넘어다니면서 비밀번호 안써도 넘어가는지 확인
3. vim-tiny -> vim
NameNode만
sudo apt-get removw vim-tiny
sudo apt-get install vim
4. FTP서버로 만들기
NameaNode만
sudo apt-get install vsftpd
sudo vi /etc/vsftpd.conf
a 눌러서 #write_enable=YES로 가서 # 지워주고 esc 눌러주고 :wq!
sudo service vsftpd restart
5. JDK 설치
sudo add-apt-reopsitory ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
NN에서 알드라이브로 테스트
.jar 파일과 .py 파일 올려서 확인
@공통 확인 사항
java -version (자바 깔려있는거 확인)
java -jar test.jar ( 자바 파일 실행 확인)
python3 test.py ( 파이썬 파일 실행 확인)
![](https://blog.kakaocdn.net/dn/KR5UJ/btqYQxz5Xil/70fMEtwGbCZJhJa52gOqgK/img.png)
6. Hadoop 설치
www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz
linux에서 하려면 터미널에서
wget https://downloads.apache.org/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz
window에서 받아서 NameNode쪽으로 알드라이브로 넘기기
NameNode
@중요 ls, ll로 파일과 용량 확인 395400571
압축 풀어서 상태에 맞게 설정 파일을 수정
사이트에 들어가서 받으면 설정파일에 내용이 하나도 없음
나한테 있는 hadoop-3.2.2.tar.gz 설정파일에 써놓았음 필요한 것만 바꿔야함
![](https://blog.kakaocdn.net/dn/JFLbn/btqZcspzE4s/LCKmyKGXqJi3Ld0wv4Cngk/img.png)
cd~ - 밖으로 나오기
pwd로 지금 위치 확인
mkdir hadoop - 하둡 폴더 만들기
mv hadoop-3.2.2.tar.gz hadoop 다운 받은 .gz파일을 hadoop파일 안으로 옮기기
![](https://blog.kakaocdn.net/dn/bcUbvg/btqY90UpJXE/mpAJjDgyhyvhlxLIAetPCk/img.png)
cd hadoop -만들어 놓은 hadoop폴더 안으로 이동
![](https://blog.kakaocdn.net/dn/ujRBj/btqY7oBr6b7/lqExjoPOGL2vrutXHfFPqK/img.png)
그 폴더 안에서 압축 풀기
tar xvzf hadoop-3.2.2.tar.gz
![](https://blog.kakaocdn.net/dn/KqwAU/btqY7oBr9hI/1vuaj9sqa3KKkF9CTBbQiK/img.png)
압축 푼뒤 ls로 잘 풀려있는지 확인
압축파일 지우기
rm -rf hadoop-3.2.2.tar.gz
![](https://blog.kakaocdn.net/dn/baC8cb/btqY8GPpreN/sDgXaFnhlLuaxxij01CFJk/img.png)
설정파일 있는곳으로 이동하기
cd hadoop-3.2.2/etc/hadoop
이동해서 ls로 보기
![](https://blog.kakaocdn.net/dn/nnCpl/btqY8G2VYy1/IQK6LXaY6jfflQ3XKh3U6K/img.png)
vi hadoop-env.sh -JDK 위치 찾기
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 추가
나는 추가할 필요 없음 이미 되어있음
![](https://blog.kakaocdn.net/dn/bkmNG2/btqYZ6VSJHy/wZ7SOwfWkHMiJpdLGAfuY1/img.png)
vi core-site.xml - 기본설정
NameNode IP 주소
NameNode 아이디
확인
![](https://blog.kakaocdn.net/dn/c4qpx5/btqY7oaq5tV/gMYFqNirAgMPusqkFCftUk/img.png)
vi hdfs-site.xml - 하둡 파일시스템 관련 설정 파일
![](https://blog.kakaocdn.net/dn/dnHxzc/btqYTOatIiU/GmZkALvkPdeBhwEqrYJTk1/img.png)
가장 위에 컴퓨터 사용 대수
NameNode 컴퓨터 ip 주소
NameNode가 죽었을때 사용할 다른 컴퓨터 ip 주소
vi mapred-site.xml - MapReduce작업 관련 설정
![](https://blog.kakaocdn.net/dn/b8GFRk/btqY91eJ9Su/jM20gksxt9wJpP2ay2d3LK/img.png)
NameNode IP 주소 쓰기
vi workers
![](https://blog.kakaocdn.net/dn/BY5kx/btqYQxtkK76/blwfK3XJjSpxCQIjJNSYUK/img.png)
내가 사용할 ip 주소 전부 사용
NameNode에 다 설정해 놓은 파일을 나머지 컴퓨터로 전송하기
cd ~ 밖으로 나가기
tar cvzf myHadoop.tar.gz hadoop - 설정해 놓은 파일을 압축하기
![](https://blog.kakaocdn.net/dn/CSazY/btqYTOVUQSq/L0nniuHGTlRiobKD8vGvWK/img.png)
이걸 나머지 컴퓨터로 보내기
scp myHadoop.tar.gz 아이디@받을컴퓨터IP:/home/아이디/myHadoop.tar.gz
scp myHadoop.tar.gz sdedu@192.168.56.103:/home/sdedu/myHadoop.tar.gz
scp myHadoop.tar.gz sdedu@192.168.56.104:/home/sdedu/myHadoop.tar.gz
나머지 컴퓨터로 이동해서 압축 풀어주기
ssh 192.168.56.103
tar xvzf myHadoop.tar.gz
ssh 192.168.56.104
tar xvzf myHadoop.tar.gz
7. Hadoop 실행하기
NameNode에서
1. 찌꺼기 폴더 삭제
전부 rm -rf ~/hadoopTmpData
2.하둡 시스템 포맷
NameNode
cd ~/hadoop/hadoop-3.2.2
bin/hadoop namenode -format - 하둡 실행폴더
bin/hadoop datanode -format - 하둡 실행폴더
3. 하둡 시작
sbin/start-all.sh
하둡 끄는 방법
sbin/stop-all.sh
서버라서 끌일이 없음
NodeName 102 컴퓨터
NameNode
DataNode
ResourceManager
NodeManager
Jps
SecondaryNameNode 103 컴퓨터
DataNode
SecindaryNameNode
NodeManager
Jps
DataNode 104 컴퓨터
DataNode
Jps
NodeManager
'Hadoop' 카테고리의 다른 글
10 (0) | 2021.03.04 |
---|---|
9. Hadoop - 맛보기 (0) | 2021.03.04 |
7. Hadoop - 종료관련 (0) | 2021.03.02 |
시험 관련 (0) | 2021.03.02 |
6. Hadoop - Linux에 openJDK 설치하기 (0) | 2021.03.02 |