본문 바로가기
  • 문과생의 백엔드 개발자 성장기
|Playdata_study/HADOOP

210709_HADOOP(설치 + Java설치)

by 케리's 2021. 7. 9.

 

자바 설치 전 yum (yum clean all ~) 을 모두 설치 했기 때문에 3번 바로 자바 설치를 했음!

(혹시 몰라 1, 2번 프로세서도 적어둠)

 

1. 프로그램 guest 및 그룹 추가

 

  : 안되면 두 번째와 같이 yum을 다시 설치 및 업데이트 하자

 

[root@hadoop01 ~]# yum install update
[root@hadoop01 ~]# sudo yum install update kernel*
[root@hadoop01 ~]# /etc/group
1.
yum clean all

2.
echo "https://vault.centos.org/6.10/os/x86_64/" > /var/cache/yum/x86_64/6/base/mirrorlist.txt
echo "https://vault.centos.org/6.10/extras/x86_64/" > /var/cache/yum/x86_64/6/extras/mirrorlist.txt
echo "https://vault.centos.org/6.10/updates/x86_64/" > /var/cache/yum/x86_64/6/updates/mirrorlist.txt

3.
yum install update

4.
yum install kernel*

5.
yum install gcc

6.
게스트 cd 설치(gas cd 오마클 자동으로실행)

7.
reboot

 

 

2. 특정 유저에 ROOT 권한 부여하기 

  :  퍼미션은 세자리 " r = 4 , w = 2 , x = 1 "의 숫자를 가진다. 
     rwxr-xr-x 이면 rwx  r-x  r-x 세 자리씩 끊고, 4+2+1  | 4+0+1 | 4+0+1  숫자변환 뒤

     합산하면 "755" 라는 퍼미션이 지정된다.  (이전 시간에 했기 때문에 하지 않음)

[root@hadoop01 ~]#ls  -al 
[root@hadoop01 ~]# chmod u+w /etc/sudoers

[root@hadoop01 ~]# vim /etc/sudoers
root    ALL=(ALL)       ALL
hadoop  ALL=(ALL)       ALL
[root@hadoop01 ~]#chmod u-w /etc/sudoers

 


2-1. 공유 폴더 권한  

 

[root@hadoop01 media]#  mount -t   vboxsf myhadoop  /media/sf_myhadoop

 

3 . 자바 확인

 

😎 설치 전 필독 !

 

** 혹시 아래와 같이 rpm 을 통해 jdk 설치가 불가하다면 아래의 사이트에서 jdk를 설치받아서 리눅스에 압축파일 (이미 실행파일 이기 때문에 압축을 풀지않고 바로 파일을 열 수 있다) 을 푼 후 직접 경로에 넣고 패스 지정을 해도 된다. 

  - 머신에서 아래 파일이 설치가 되지 않는다면 윈도우에서 받아서 공유파일에 넣고 설치하자!

  

 

내가 설치한 설치파일 : jdk-8u291-linux-x64.tar.gz 

https://www.oracle.com/kr/java/technologies/javase/javase-jdk8-downloads.html

 

설치했으면 바로 14번 PATH 설정으로 가도 된다.

 

 

** rpm 은 하나의 패키지 파일을 설치한다고 하였을 때 그 패키지 파일을 설치하기 위해 먼저 설치되어야 하는 패키지가 있다면 그 패키지를 먼저 설치 해야만 설치하고자 하는 페이지를 설치 할 수 있다. 

이것이 의존성인데, rpm 대신 yum을 사용하면 의존성 문제가 있을 때 자동으로 다운로드 해서 설치해준다.

 

[root@hadoop01 바탕화면]# rpm -qa | grep java
tzdata-java-2020d-1.el6.noarch
java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64
java-1.7.0-openjdk-1.7.0.181-2.6.14.10.el6.x86_64

[root@hadoop01 바탕화면]# yum list java*jdk-devel

 

4. 자바 지우기 (필수 아님)

[root@hadoop01 바탕화면]#yum remove tzdata-java-2020d-1.el6.noarch

 

5. OS확인 

[root@hadoop01 바탕화면]# getconf LONG_BIT
64

 

6. 자바 다운로드 및 압축 풀기

[root@hadoop01 바탕화면]# wget https://www.java.com/ko/download/linux_manual.jsp/jdk-8u291-linux-x64.rpm

[root@hadoop01 바탕화면]# rpm -Uvh jdk-8u231-linux-x64.rpm

 

7. 설치된 패키지 확인 (버전확인)

[root@hadoop01 바탕화면]# rpm -qa | grep jdk
copy-jdk-configs-3.3-9.el6.noarch
jdk1.8-1.8.0_291-fcs.x86_64

 

8. 설치된 패키지 확인 (버전확인2)

[root@hadoop01 바탕화면]# rpm -qi jdk1.8-1.8.0_291
Name        : jdk1.8                       Relocations: /usr/java 
Version     : 1.8.0_291                         Vendor: Oracle Corporation
Release     : fcs                           Build Date: 
Install Date:                                  Build Host: java.com
Group       : Development/Tools             Source RPM: jdk1.8-1.8.0_291-fcs.src.rpm
Size        : 264057897                        License: https://java.com/otnlicense
Signature   : RSA/8, 2021년 04월 08일 (목) 오전 05시 20분 17초, Key ID 72f97b74ec551f03
URL         : http://www.oracle.com/technetwork/java/javase/overview/index.html
Summary     : Java Platform Standard Edition Development Kit
Description :
The Java Platform Standard Edition Development Kit (JDK) includes both
the runtime environment (Java virtual machine, the Java platform classes
and supporting files) and development tools (compilers, debuggers,
tool libraries and other tools).

The JDK is a development environment for building applications, applets
and components that can be deployed with the Java Platform Standard
Edition Runtime Environment.

 

 

9. 추가로 패키지에서 설치된 모든 파일 리스트를 출력하려면 -ql 옵션

[root@hadoop01 바탕화면]# rpm -ql jdk1.8-1.8.0_291

 

 

10. 자바 버전 확인 

 

[root@hadoop01 바탕화면]# java -version
java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)

 

 

11. rpm은 설정 파일 및 심볼릭 링크 걸려 있음

  : 굳이 안해도 됨, 심볼릭 링크는 원본 파일의 바로가기 같은 개념

[root@hadoop01 바탕화면]# ls -la /usr/java
합계 12
drwxr-xr-x.  3 root root 4096 2021-07-09 11:02 .
drwxr-xr-x. 14 root root 4096 2021-07-09 11:02 ..
lrwxrwxrwx.  1 root root   16 2021-07-09 11:02 default -> /usr/java/latest
drwxr-xr-x.  9 root root 4096 2021-07-09 11:02 jdk1.8.0_291-amd64
lrwxrwxrwx.  1 root root   28 2021-07-09 11:02 latest -> /usr/java/jdk1.8.0_291-amd64

[root@hadoop01 바탕화면]# readlink -f /usr/bin/javac

 

 

12. 자바 명령 설치된 곳 확인 

[root@hadoop01 바탕화면]# whereis java
java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java /usr/share/man/man1/java.1

 

13. 자바 설치된 폴더 확인 

 

[root@hadoop01 바탕화면]# ls -la /usr/bin/java
lrwxrwxrwx. 1 root root 22 2021-07-09 11:02 /usr/bin/java -> /etc/alternatives/java
[root@hadoop01 바탕화면]# ls -la /etc/alternatives/java
lrwxrwxrwx. 1 root root 37 2021-07-09 11:02 /etc/alternatives/java -> /usr/java/jdk1.8.0_291-amd64/bin/java

 

14. JAVA_HOME 환경변수 등록 

  : 혹시 경로를 못찾을 경우 20번에 HADOOP_HOME 환경변수 설정할 때 하면되니까 넘어가자 

[root@hadoop01 sf_myhadoop]# export
[root@hadoop01 sf_myhadoop]# echo $PATH
// JAVA_HOME은 등록이 안되어 있으므로 등록 현재 터미널에서만 사용
[root@hadoop01 sf_myhadoop]# export JAVA_HOME=/usr/local/default

위의 export 직접 등록이 잘 되지 않으면 비주얼로 아래와 같이 찾아서 주면된다. 

/home/hadoop/hadoop/etc/hadoop 의 yarn-env.sh 와 hadoop-env.sh 파일을 아래와 같이 수정한다. 

JAVA_HOME 은 자바가 설치된 경로를 주면된다. 

 

 

 

 

 

15.  /etc/profile 에 아래와같이 맨 마지막줄에 작성

 

export JAVA_HOME=/usr/local/default/jdk1.8.0_291
export JRE_HOME=/usr/local/jdk1.8.0_291/jre
export PATH=$PATH:/usr/local/jdk1.8.0_291/bin:/usr/local/jdk1.8.0_291/jre/bin

 

 

16.  호스트 등록 됨을 확인하고 없으면 추가 

/etc/hosts

ip주소는 추 후 각각 머신 복제 후 ifconfig로 ip 확인 후 추가 변경 해줘야 한다.

 

192.168.56.101 hadoop01
192.168.56.102 hadoop02
192.168.56.103 hadoop03
192.168.56.104 hadoop04

 

 

 

17. 공용 키 작업 

 

하둡.pdf (p70 참고하자)

- ssh localhost : 공용 키를 만드는 작업 

 

 

1. 열쇠 + 자물쇠 생성

 

[root@hadoop01 바탕화면]# su hadoop
[hadoop@hadoop01 바탕화면]$ cd ~
[hadoop@hadoop01 ~]$ssh-keygen -t dsa

<비밀번호 입력하지 말고 3번 엔터>

 

 

 2. 인증키박스에 자물쇠 등록

 

[hadoop@hadoop01 ~]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

       → 왼쪽파일을 오른쪽파일에 넣어라

 

 

2-1. 작업 후 꼭 열어서 확인해라, 안 나온다고 계속 위의 값 입력하면 계속 append 되서 오류 생김

 

[hadoop@hadoop01 ~]$ cat ~/.ssh/id_dsa.pub
[hadoop@hadoop01 ~]$ chmod 400 ~/.ssh/authorized_keys

 

3.  확인하기 (localhost, hadoop01 모두 확인 해야함)

 

[hadoop@hadoop01 ~]$ ssh localhost
[hadoop@hadoop01 ~]$ exit
logout
Connection to localhost closed.

[hadoop@hadoop01 ~]$ ssh hadoop01
The authenticity of host 'hadoop01 (10.0.2.15)' can't be established. 
RSA key fingerprint is 78:28:9d:9e:0e:4f:03:9c:fd:8d:60:d1:78:13:8d:33.
Are you sure you want to continue connecting (yes/no)? yes 
[hadoop@hadoop01 ~]$ exit

 

18. HADOOP 계정 설치 

https://downloads.apache.org/hadoop/common/hadoop-2.10.1/

위 링크 에서 밑에서 3번째 390M, 파일명 hadoop-2.10.1.tar.gz  다운받고 공용폴더에 넣은 후 아래 2번과 같이 압축해제

 

1. 아래 명령어가 안된다면 위에처럼 직접 설치하고 받는다 (위에 직접설치가 더 쉬웠음)

[hadoop@hadoop01 ~]$ wget http://apache.mirror.cdnetworks.com/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz

 

 

2. 압축 해제

[hadoop@hadoop01 ~]$ tar xvzf hadoop-2.10.0.tar.gz

 

3. 심벌릭 링크 (직접 아래의 경로로 옮겨도 된다, 하둡 폴더가 없는경우 만들었던 듯..)

 

[hadoop@hadoop01 ~]$ ln -s /home/hadoop/hadoop-2.10.0 /home/hadoop/hadoop

 

 

19. Masters 와 Slaves 추가

 

아래의 폴더 경로에 들어가 slaves 를 하나복사 후 masters 파일로 만들자

marsters 에는 hadoop01, slaves 에는 hadoop02, hadoop03, hadoop04 를 지정한다.

 

 

 

 

 

 

 

20.  환경변수 등록

 p72 . 아래와 같이 찾아서 환경 변수 주면된다. 

/home/hadoop/hadoop/etc/hadoop 의 yarn-env.sh 와 hadoop-env.sh 파일을 아래와 같이 수정한다. 

JAVA_HOME, HADOOP_HOME 설치된 경로를 주면된다. 

 

 

 

 

 

21. 배치 프로파일 경로도 확인하자

 

(추후 다시 hadoop 설치시 21번을 굳이 주지 않았는데  왜 기본 실행이 되었는지 모르겠으니 재 확인 해보자)

[hadoop@hadoop01 ~]$ vim ~/.bash_profile

 

위 명령어 입력 후 i 누르면 수정 가능 

모두 입력 후 esc → :wq 하면 저장 된다. 

 

 

[참고]

 

export JAVA_HOME=/usr/local/java  -> 자신의 자바주소
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/local/java -> 자신의 하둡주소
export PATH=$PATH:$HADOOP_HOME/bin

 

 

22.  복제를 해보자 

VM VirtualBox 에서 복사할 Hadoop 오른쪽 마우스 클릭 → 복제 후 4개를 만들자

 

 

 

 

 

23.  복제 후 각 머신을 켜서 hostname 과 ip 주소를 수정한다

 

hostname 변경 : /etc/sysconfig/network → 각 머신(2,3,4) 변경수정 후 reboot 잊지말기! 

 

 

ip 주소 변경 

etc/sysconfig/networt-scripts 에 ifcfg-eth0 or 2 or 3을 수정할 것이다. 

나는 eth3을 파일을 만들어서 아래와 같이 수정했다.

모두 수정 후 각 머신(2,3,4) 도 수정해야 한다. 

 

 

[참고] : 아래내용 참고용, 위의 내용이 더 정확함 

 

각각의 머신 파일에 /etc/sysconfig/network-scripts/ifcfg-eth0 에서  IPADDR 추가하자
DEVICE=eth0 ◀ 네트워크랑 네임일치하게
HWADDR=08:00:27:38:16:C8
TYPE=Ethernet
UUID=690b59ed-0607-4d79-8142-f917a23180ca
ONBOOT=yes
NM_CONTROLLED=yes
IPADDR=192.168.56.101 ◀ ifconfig 들어가서 확인 후 변경
ONBOOT=yes
BOOTPROTO=static ◀ static으로 바꿔라
IPADDR=192.168.56.102

 

 

 

ip 주소 변경 

/etc/hosts : 이전에 적어두었던 host 파일도 ip가 변경 될 수있으니 각 머신 확인 후 수정한다. 

 

 

 

 

24. 

  $HADOOP_HOME/etc/hadoop/core-site.xml 수정 (p.73)

  $HADOOP_HOME/etc /hadoop/hdfs -site.xml 수정 (p.74)

  $HADOOP_HOME/etc/hadoop/mapred-site.xml 수정 (p.75)

  $HADOOP_HOME/etc/hadoop/yarn-site.xml 수정 (p.76)

 

   아래처럼 xml 파일 수정시 gedit으로 열어서 pdf에 있는 태그를 붙여 넣으면 된다 

 

 

 

 

 

25.  ssh 키가 전체 머신과 맞는지 확인

 

cd .ssh
scp id_dsa.pub /home/hadoop/.ssh/authorized_keys
scp id_dsa.pub hadoop@hadoop02:/home/hadoop/.ssh/authorized_keys
scp id_dsa.pub hadoop@hadoop03:/home/hadoop/.ssh/authorized_keys
scp id_dsa.pub hadoop@hadoop04:/home/hadoop/.ssh/authorized_keys

 

 

26.  전체적으로 연결 되었는지 Ping 작업

 

모든 네트워크를 잘 맞춰 준다.  예) eth0 으로 4대를 맞춰준다 ! 

 

 

 

ping hadoop01, hadoop02, hadoop03, hadoop04 로 각 머신에서 다른 머신으로 ping을 날려보자.

16번 실행이 다 된다면 잘 연결 된 것!

 

'|Playdata_study > HADOOP' 카테고리의 다른 글

210715_HADOOP(HDFS3 연결최종)  (0) 2021.07.15
210714_HADOOP (MapReduce 2)  (0) 2021.07.14
210713_HADOOP (HDFS Format)  (0) 2021.07.14
210712_HADOOP (환경설정 및 WordCount2 예제1)  (0) 2021.07.12
210708_HADOOP (개요)  (0) 2021.07.08

댓글