본문 바로가기

Linux 리눅스 & 하둡 & hive/하둡

Linux 가상환경 내 하둡 설치

하둡 설치 시 큰 틀 

1. java 설치 -> 하둡이 자바로 이루어져있어서 자바를 설치해야합니다.

2. keygen 생성 -> 여러 컴퓨터들을 묶어서 마치 하나의 컴퓨터 처럼 보이도록하는게 목표이므로, -> 컴퓨터들끼리 접속 할대 패스워드 물어보는데 할때마다 비밀번호를 입력하려면 번거롭기때문에 패스워드를 암호화 해서 저장해놓고 패스워드 없이 접속할 수 있게 셋팅해 주는 작업

3. 하둡 설치 -> 4개의 파일의 내용만 수정해 주면 된다.

1. [hadoop.env.sh](<http://hadoop.env.sh/>) : 자바 홈디렉토리와 하둡 홈디렉토리가 어딘지 지정
2. core-site.xml : 하둡의 네임노드가 어느 서버인지를 지정
3. mapred-site.xml : java 로 만들어진 mapreduce 프레임워크와 관련된 정보를 지정하는 파일
4. hdfs-site.xml : 하둡파일시스템인 HDFS와 관련된 정보를 저장하는 파일
※ 설치시 주의사항 1

혹시 실패했을때를 대비해서 지금 현재 리눅스 가상환경을 복제하고 시작하세요

※ 설치시 주의사항 2

앞에 프롬프트 표시가 # 은 root 유져이고 
앞에 프롬프트 표시가 $  는 oracle 유져입니다. 

이 표시를 잘 보고 설치하여야합니다. 안지키게 되면 설치가 실패하게 됩니다. 잘지켜서 꼭 설치에 성공하세요 ~

설치시작 

설치 파일 다운로드받고 압축을 풀게 되면 (centos 에 하둡설치 파일 이라는 이름폴더 ) 아래에 3개의 파일이 있습니다. - 현재 위치는 배경화면 - big data 폴더

1. jdk-7u60-linux-i586.gz : 자바설치 파일 (하둡이 자바로 이루어져있어서 먼저 설치해야합니다) 2. hadoop-1.2.1.tar.gz : 하둡 설치 파일 3. protobuf-2.5.0.tar.gz : 서버간의 통신을 위한 프로그램 설치 파일 (하나의 서버로 보이기 위한)

https://drive.google.com/file/d/1lmvc9C_jULfrxqeihLzGKx-_jO9v6gVr/viewhttps://drive.google.com/u/0/uc?id=1lmvc9C_jULfrxqeihLzGKx-_jO9v6gVr&export=download

(1) 먼저 모바텀을 이용하여 설치 파일 압축 푼것(총3개)을 리눅스 시스템에 /root 밑에 업로드하기

jdk-7u60-linux-i586.gz
hadoop-1.2.1.tar.gz
protobuf-2.5.0.tar.gz

# 푸티 root 에서 파일이 잘 업로드 됐는지 확인할것
[root@localhost ~]# **ls -l *.gz**
-rw-r--r--. 1 root root  63851630  3월 22 14:55 hadoop-1.2.1.tar.gz
-rw-r--r--. 1 root root 143607445  3월 22 14:55 jdk-7u60-linux-i586.gz
-rw-r--r--. 1 root root   2401901  3월 22 14:55 protobuf-2.5.0.tar.gz

(2) 네트워크 설정을 변경합니다.

먼저 리눅스가 인터넷이 가능한지 확인합니다. firefox 를 열어서 네이버에 접속해봅니다.

[root@localhost ~]# **ifconfig**

# 결과 
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        **inet 10.0.2.15**  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fe80::f5d8:46b:e8db:fea3  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:de:49:cc  txqueuelen 1000  (Ethernet)
        RX packets 169102  bytes 245458413 (234.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 15778  bytes 1368836 (1.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        **inet 127.0.0.1**  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        **inet 192.168.122.1**  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:82:83:dd  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

# ip주소가 3개가 보입니다.   캡쳐 1

(3) hostname( 윈도우로 치면 내 컴퓨터 이름) 을 변경합니다.

[root@localhost ~]# vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

위의 내용을 다 지우고 아래의 내용(아래 한줄) 을 적고 저장합니다. ( 확실한 ip 주소를 셋팅하는것 ) 

################################
192.168.122.1 centos
################################
이제 위의 아이피 정보로 접속을 하게 되고 호스트 이름은 centos 가 됩니다. 
보통 호스트 이름은 유니크 합니다 
다른 컴퓨터와 연결하려면 각각 호스트 네임과 아이피 주소가 달라야 합니다. 

반영된 호스트 이름으로 적용시키기 
[root@localhost ~]# hostnamectl set-hostname centos
 
[root@localhost ~]# hostname
centos

네트워크 서비스를 재시작 합니다. 재시작하게 되면 localhost 가 centos 로 변경된것 확인 가능해집니다. 


# 네트워크 정보를 리셋팅 해야합니다 (ip주소를 바꾸었기 때문에~ ) 
[root@localhost ~]# service network restart

 

Restarting network (via systemctl):                        [  OK  ]

 

혹시 여기서 네트워크를 다시 시작했는데 ok 가 안나오면 인터넷 연결이 끊겼는지 확인해보세요

service network restart 명령어를 수행했을때 자꾸 인터넷이 끊어진다면 인터넷이 자동연결되게 설정하세요

아래의 링크를 참고하세요 ~

 

https://cafe.daum.net/oracleoracle/Sho9/232

# 캡처 2 
[root@localhost ~]# ifconfig

(4) 서로 접속을 원활하게 하기 위한 방화벽을 해지 합니다.

[root@localhost ~]# iptables -F
[root@localhost ~]# iptables -L


Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

(5) ld-linux.so.2 를 설치 합니다. (네트워크 통신을 원활하게 하기위함)

[root@localhost ~]#  yum install ld-linux.so.2 

중간에 y 입력 엔터! 

마지막에 
Complete!
나오면 정상 설치

(6) 자바를 설치 합니다. (기존에 자바가 있습니다. )

기존 자바 버전 확인 
[root@centos ~]# java -version
openjdk version "1.8.0_322"
OpenJDK Runtime Environment (build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

# 다시 root 로 돌아가기                          
[root@localhost ~]# cd ~

# 폴더 만들고 
[root@localhost ~]#  mkdir -p /u01/app/java

# 아까 다운 받았고 모바텀에서 root 로 옮긴 파일  위에 폴더 만든곳으로 옮기기 
[root@localhost ~]# mv /root/jdk-7u60-linux-i586.gz /u01/app/java/

# 해당 위치로 가기 
[root@localhost ~]#  cd /u01/app/java/

# 압축 풀기 
[root@localhost java]# tar xvzf jdk-7u60-linux-i586.gz

# 소유자 권한 변경하기 ( 최상위 계정) 
[root@centos java]# chown -R root:root jdk1.7.0_60

 여기까지가 root 에서 하는 작업 이였습니다.
 
 
oracle 유져로 접속합니다. 
(하둡은 오라클에 설치 할 것) 왜 오라클에 까느냐 ~? 자바 같은 파일은 어떤 프로그램이든 사용하기때문에 루트에서 깔지만, 
하둡은 가급적이면 root 에서 작업하지 않고 oracle 에서 작업합니다. 
(root 는 rm 으로 어느 파일이든 지울수 있는 강력한 권한이 있고, 프로세스도 다운시키고 하기 때문에 위험성이 있어 root 보다는 oracle 에서 합니다. ) 

[root@centos java]# su - oracle

# 오라클 유저의 환경설정 파일 ( 카카오톡의 환경설정 같이 알림울리게 한다, ~ 뭐 이런 세부 사항 설정이다_ 
[oracle@centos ~]$ vi .bash_profile

맨 밑에 아래의 3가지 내용을 추가합니다. (자바 홈 , 자바가 설치된곳이 어디인지 알려주는 내용입니다. ) -> 이 내용을 oracle 유저가 알고 있어야합니다. 
#===============================================================
export JAVA_HOME=/u01/app/java/jdk1.7.0_60               # 자바가 설치된 위치를 알려준다. 
export PATH=/u01/app/java/jdk1.7.0_60/bin:$PATH          # 자 홈디렉토리 bin 디렉토리에 자바 실행파일이 위치한다. :$PATH 
export CLASSPATH=.:/usr/java/jdk1.7.0_60/lib:$CLASSPATH  # :$CLASSPATH 자바의 클래스 파일들 위치 (자바코드를 컴파일 하기위해 이 위치를 알아야합니다. ) 
#===============================================================

# 변경한 내용을 반영하려면 환경 설정 .bash_profile 를 실행합니다~ 
# . 의 의미는 숨김파일이라는 의미입니다. -> 너무 중요한 파일이라 숨겨놓음 
# . 파일은 ls 해도 보이지 않는 파일입니다
# ls. -al 해야 숨김파일까지 모두 볼 수 있다. 

[oracle@centos ~]$ source .bash_profile

# 만약 source 가 안된다면 

[oracle@centos ~]$ . .bash_profile 로 실행 해 볼것 


[oracle@centos ~]$ java -version

java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)         
Java HotSpot(TM) Server VM (build 24.60-b09, mixed mode)

# 자바 1.7버전이 필요합니다

(7) protobuf 를 설치 합니다. (서로 통신할 때 쓰는 프로그램 ) 예전에 군대에서 썼었습니다.

다시 root 로 접속합니다. 
[oracle@centos ~]$ su - root 
Password:1234
# -v 는 카피 되는 과정을 보여(view)  달라는 의미 
[root@centos ~]# cp -v /root/protobuf-2.5.0.tar.gz  /usr/local/
[root@centos ~]# cd /usr/local
# ll = ls -l 의 알리어스입니다. 카피 잘 되었는지 확인 
[root@centos local]# ll


# 압축 풀기 
[root@centos local]# tar xvfz protobuf-2.5.0.tar.gz 

# 폴더가 하나 생겼습니다. -> 그 폴더로 이동합니다. 
[root@centos local]# cd protobuf-2.5.0

# configure 이라는 파일을 실행합니다(./) 설치 프로그램을 까는것 
[root@centos protobuf-2.5.0]# ./configure

# make 를 해야 완성됩니다. ( 꽤 오래걸림 ) 
[root@centos protobuf-2.5.0]# make

# make install 까지 해야 완성됩니다. 
[root@centos protobuf-2.5.0]# make install

[root@centos protobuf-2.5.0]# protoc --version 
libprotoc 2.5.0

시스템을 reboot 합니다. 

[root@centos protobuf-2.5.0]# reboot 

끊겼다는 창이 하나 뜨는데 확인 하고 그냥 냅둡니다. (putty는 끄지말고 가만히 두기_)
reboot 후에는 oracle 유져로 putty 로 접속합니다. 캡처  보기 
putty 창 위에 오른쪽 버튼 눌러서 ~~~ 캡처 화면 확인하기 

# 여기까지가 네트워크 통신을 하기 위한 프로그램 설치 였습니다~

(8) keygen 생성

설치 개념 설명

하둡은 SSH 프로토컬을 이용해 하둡 클러스트간의 내부 통신을 수행한다. 하둡을 다 설치하고 나서 하둡을 시작하는 명령어인 start-all.sh 쉘 스크립트를 수행하면 네임노드가 설치된 서버에서 데이터 노드가 설치된 서버로 접근해 데이터 노드와 테스크 트래커를 구동하게 된다.

그런데 이때 ssh 를 이용할 수 없다면 하둡을 실행할 수 없다. 우리는 지금 패스워드를 물어보지 않기 위해 keygen 을 쓰는것이기때문에 공개키를 save 하는것이다. 네임노드에서 공개키를 설정하고 이 공개키(authorized_keys) 를 다른 데이터 노드에 다 복사해줘야한다. 이 키를 가지고 있으면 ssh 로 다른 노드에 접속할때 패스워드 없이 접속할 수 있다.

프로토컬 ? 네트워크끼리 서로 통신하기 위한 언어

■ ssh 설정

secure shell 의 줄임말입니다.
원격 호스트에 접속하기 위해 사용되는 보안 프로토컬

## 공개키 생성 
# 기존에 있었을 지도 모를 ssh 날리기 
[oracle@centos ~]$ **rm -rf .ssh** 

# 키젠 수행하기 그냥 엔터 치기 3번 수행 ! 
[oracle@centos ~]$ **ssh-keygen**
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa):  **그냥 엔터**
Created directory '/home/oracle/.ssh'.
Enter passphrase (empty for no passphrase): **그냥 엔터**
Enter same passphrase again: **그냥 엔터**
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
b8:e5:55:fd:f9:72:4d:48:e6:47:22:bd:44:cb:41:7d oracle@centos
The key's randomart image is:
+--[ RSA 2048]----+
|             .+. |
|             = oE|
|            o X o|
|       .   . * *.|
|      . S .   +.+|
|       + .     oo|
|      . .     . +|
|               o |
|                 |
+-----------------+

'**↑ 네트워크 지문임! ㅋㅋ  유니크한것이라 서로 다를 수 있습니다~** 

# 두컴퓨터를 붙이게 된다면 아이피 주소 두개를 모두 묶어주어야하지만 지금은 한대만 가지고 하기 때문에 아이피는 1개 입니다. 
[oracle@centos ~]$ **ssh-copy-id -i /home/oracle/.ssh/id_rsa.pub oracle@192.168.122.1**
The authenticity of host '192.168.56.101 (192.168.56.101)' can't be established.
ECDSA key fingerprint is 6b:de:64:c5:27:c4:c6:d7:62:2a:9c:fa:83:d5:65:13.
Are you sure you want to continue connecting (yes/no)? **yes <- 입력**
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
oracle@192.168.122.1's password: **1234 <- 패스워드입력**

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'oracle@192.168.122.1'"
and check to make sure that only the key(s) you wanted were added.

# 공개키 잘 생성되었는지 확인
[oracle@centos ~]$ **find /home/oracle/.ssh -name author***
/home/oracle/.ssh/authorized_keys  # 오라클 유져의 비밀번호가 저장된 파일입니다. 

[oracle@centos ~]$ **ssh oracle@192.168.122.1**
Last login: Thu Aug  6 22:17:11 2020

※ 중요: 여기서 접속시 패스워드를 물어보면 안됩니다. 
만약 패스워드를 물어봤다면 8번부터 다시 진행합니다.

(9) hadoop 디렉토리를 만들고 거기에 하둡설치 파일 압축을 풉니다.

[oracle@centos ~]$ cd 
[oracle@centos ~]$ mkdir  hadoop
[oracle@centos ~]$ cd hadoop


root 유져로 접속하여 /root 밑에 있는 hadoop-1.2.1.tar.gz의 권한을 777 로 올립니다.
(base) [oracle@centos hadoop]$ su - root
암호: 1234
# 오라클 같은 유저도 하둡을 읽고 쓰고 할 수 있도록 권한 올려주기 
[root@centos ~]# chmod 777 hadoop-1.2.1.tar.gz

# 소유자도 oracle 유져로 변경합니다.
[root@centos ~]# chown -R oracle:oracle hadoop-1.2.1.tar.gz

# 그리고 /root/ 밑에 있는  hadoop-1.2.1.tar.gz 를  /home/oracle/hadoop/ 밑으로 복사합니다.
[root@centos ~]# cp /root/hadoop-1.2.1.tar.gz  /home/oracle/hadoop/

# 확인 해 보기 (권한과 소유자) 
[root@centos ~]# ls -l hadoop-1.2.1.tar.gz
-rwxrwxrwx. 1 oracle oracle 63851630  3월 22 14:55 hadoop-1.2.1.tar.gz


이제 다시 oracle 유져로 접속합니다. (오라클에 하둡 설치 위해) 

[root@centos ~]# su - oracle

hadoop 디렉토리로 이동합니다. (cp 나 mv 상관없음) 
[oracle@centos]$ cd hadoop

[oracle@centos hadoop]$ pwd

oracle 유져에서 hadoop-1.2.1.tar.gz 의 압축을 풉니다. 

[oracle@centos]$ tar xvzf hadoop-1.2.1.tar.gz
...
# 기존의 압축파일 지우기( 선택사항) 
[oracle@centos]$ rm hadoop-1.2.1.tar.gz

(10) 하둡 홈 디렉토리를 설정한다. 오라클의 환경설정에다가

다시 oracle 의 홈디렉토리로 옵니다.

[oracle@centos]$  cd

.bash_profile (오라클의 환경설정) 을 열어 맨 아래에 아래의 내용을 추가합니다.

[oracle@centos ~]$ vi .bash_profile
# 하둡의 위치 
#=====================================================
export HADOOP_HOME=/home/oracle/hadoop/hadoop-1.2.1     # 하둡을 설치한 위치
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH    # 하둡의 실행파일의 위치 
#=====================================================
# 바뀐 환경설정 적용하기 
[oracle@centos ~]$ source .bash_profile

# 잘 된건지 확인하기 
(base) [oracle@centos ~]$ echo $HADOOP_HOME
/home/oracle/hadoop/hadoop-1.2.1          # 이게 나오면 잘 된겁니다~

(11) 하둡 환경설정을 하기 위해 아래의 4개의 파일을 셋팅해야 합니다.

1. hadoop-env.sh : 자바 홈디렉토리와 hadoop 홈디렉토리가 어딘지 지정한다. 

2. core-site.xml : 하둡의 네임노드가 어느 서버인지를 지정한다.

3. mapred-site.xml : java 로 만들어진 mapreduce 프레임워크와 관련된 정보를 지정하는 파일 

4. hdfs-site.xml : 하둡 파일 시스템인 HDFS(Hadoop Distributed File System) 와 관련된 정보를 저장하는 파일 

앞으로 4개의 파일을 수정하는 부분이 정말 중요합니다. 하나씩 차근차근 진행하세요
# 하둡 위치로 이동하기
[oracle@centos ~]$ cd $HADOOP_HOME/conf

[oracle@centos conf]$ vi hadoop-env.sh
밑의 내용 추가하기 
:set nu 해서 10번째 라인 에다가 아래 내용 추가합니다. 
#=====================================================
# The java implementation to use. Required.
# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
export JAVA_HOME=/u01/app/java/jdk1.7.0_60
export HADOOP_HOME=/home/oracle/hadoop/hadoop-1.2.1
export HADOOP_HOME_WARN_SUPPRESS=1
#=====================================================

[oracle@centos conf]$ vi core-site.xml

#<configuration> 이 두 명령어 사이의 내용을 그대로 삽입 해 주기 

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/oracle/hadoop/hadoop-1.2.1/hadoop-${user.name}</value>
  </property>
</configuration>

[oracle@centos conf]$ vi mapred-site.xml

<configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
  </property>
  <property>
    <name>mapred.local.dir</name>
    <value>${hadoop.tmp.dir}/mapred/local</value>
  </property>
  <property>
    <name>mapred.system.dir</name>
    <value>${hadoop.tmp.dir}/mapred/system</value>
  </property>
</configuration>

정보를 다 저장하고 나왔다면 ~~~~ 

# 마지막 파일 수정 ! 
# 디렉토리 3개를 만들어 주어야합니다. 

# 하둡 분산 파일 시스템 운영하기 위한 데이터를 저장할 홈디렉토리 위치  
[oracle@centos conf]$ mkdir /home/oracle/hadoop/hadoop-1.2.1/dfs
# 네임 노드에 관련된 데이터(로그데이터등..)를 저장할 위치 
[oracle@centos conf]$ mkdir /home/oracle/hadoop/hadoop-1.2.1/dfs/name
# 데이터 노드에 관련된 데이터를 저장할 위치 
[oracle@centos conf]$ mkdir /home/oracle/hadoop/hadoop-1.2.1/dfs/data

# 이렇게 만든 디렉토리 위치 정보를 넣어 주어야합니다. 
[oracle@centos conf]$ vi hdfs-site.xml

<configuration>
  <property>
    <name>dfs.name.dir</name>
    <value>/home/oracle/hadoop/hadoop-1.2.1/dfs/name</value> # 네임노드 
  </property>
  <property>
    <name>dfs.name.edits.dir</name>
    <value>${dfs.name.dir}</value>
  </property>
  <property>
    <name>dfs.data.dir</name>
    <value>/home/oracle/hadoop/hadoop-1.2.1/dfs/data</value> # 데이터 노드 
  </property>
</configuration>

# data 와 name 디렉토리의 권한을 조정합니다. 

[oracle@centos conf]$ cd /home/oracle/hadoop/hadoop-1.2.1/dfs
[oracle@centos dfs]$ chmod 755 data
[oracle@centos dfs]$ chmod 755 name
[oracle@centos dfs]$ ls -l
total 0
drwxr-xr-x. 2 oracle oracle 6 Jan  6 09:01 data
drwxr-xr-x. 2 oracle oracle 6 Jan  6 09:07 name

(12) 하둡 네임노드를 포멧한다.

[oracle@centos dfs]$ cd
[oracle@centos ~]$ hadoop namenode -format

14/08/06 00:28:19 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = edydr1p2.us.oracle.com/192.168.100.102
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 1.2.1
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013
STARTUP_MSG: java = 1.7.0_60
************************************************************/
Re-format filesystem in /u01/app/hadoop/hadoop-1.2.1/dfs/name ? (Y or N) Y (대문자)
...
14/08/06 00:28:28 INFO namenode.FSEditLog: closing edit log: position=4, editlog=/u01/app/hadoop/hadoop-1.2.1/dfs/name/current/edits
14/08/06 00:28:28 INFO namenode.FSEditLog: close success: truncate to 4, editlog=/u01/app/hadoop/hadoop-1.2.1/dfs/name/current/edits
14/08/06 00:28:28 INFO common.Storage: Storage directory /u01/app/hadoop/hadoop-1.2.1/dfs/name has been successfully formatted.
14/08/06 00:28:28 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at edydr1p2.us.oracle.com/192.168.100.102
************************************************************/

(13) 하둡파일 시스템을 올린다.

[oracle@centos ~]$ start-all.sh

yes 나오면 yes 하세요

 

(14) 하둡파일 시스템의 데몬이 잘 올라왔는지 확인한다.

[oracle@centos ~]$ jps
9167 SecondaryNameNode
9030 DataNode
9402 TaskTracker
9250 JobTracker
9494 Jps
8883 NameNode

위의 6개의 프로세서들이 잘 떠있으면 설치를 성공한것입니다. ( 순서는 상관 없음 )

 

 

 

* 만약 설치가 제대로 안됐다면 

1. 하둡을 모두 내립니다. 

[oracle@centos conf]$ stop-all.sh

 2.하둡 네임노드를 포멧한다. 

[oracle@centos conf]$ cd
[oracle@centos ~]$ hadoop namenode -format

 3. 하둡 데이터 노드와 네임노드의 데이터를 다 지웁니다. 

[oracle@centos dfs]$ pwd
/home/oracle/hadoop/hadoop-1.2.1/dfs
[oracle@centos dfs]$ ls
data  name
[oracle@centos dfs]$ cd data
[oracle@centos data]$ rm -rf *
[oracle@centos data]$ cd ../name
[oracle@centos name]$ rm -rf *

13번 부터 다시 하둡파일 시스템을 올린다.

[oracle@centos ~]$ start-all.sh

[oracle@centos ~]$ jps
9167 SecondaryNameNode
9030 DataNode
9402 TaskTracker
9250 JobTracker
9494 Jps
8883 NameNode

'Linux 리눅스 & 하둡 & hive > 하둡' 카테고리의 다른 글

하둡 시스템 구조와 순서  (0) 2022.03.23