본문 바로가기

Hadoop_Ubuntu 18.04

master 설정_싱글 노드 모드

-- JDK 설치 --
~$ sudo apt-get update
~$ sudo apt-get install default-jdk -y
        만약 이게 안 되면 sudo apt-get install openjdk-8-jdk 입력

        그래도 안 되면 장비 재부팅 후 다시 시도
~$ java -version
        openjdk version "11.0.4" 2019-07-16 버전 확인. 경우에 따라 다른 버전일 수 있다. 
~$ which java

        /usr/bin/java 확인
~$ readlink -f /usr/bin/java

        /usr/bin/java의 원본 위치 확인
        /usr/lib/jvm/java-11-openjdk-amd64/bin/java 확인
~$ sudo vim /etc/profile
        가장 아래에 다음 내용 추가 후 저장
        export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
~$ source /etc/profile
        변경 내용 적용

 


-- Hadoop 설치 --
www.apache.org 접속
아래쪽 APACHE PROJECT LIST 에서 Hadoop 클릭
Download 클릭
Version 3.2.0 binary 클릭
처음에 나오는 주소(~~.tar.zg)를 복사하여 putty에서 wget 명령어로 다운받는다
~$ wget http://mirror.apache-kr.org/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz
~$ tar xvzf hadoop-3.2.0.tar.gz
        압축 보관 풀기
~$ sudo mkdir -p /usr/local/hadoop/

        /usr/local/hadoop/ 디렉터리 생성

~$ sudo mv hadoop-3.2.0/* /usr/local/hadoop/

        압축 푼 디렉터리 내의 내용을 /usr/local/hadoop/으로 복사
~$ rm -rf hadoop*


-- 사용자 등록 및 Hadoop 소유권 변경 --
~$ sudo addgroup hadoop
        hadoop 이라는 이름의 그룹 생성
~$ sudo adduser --ingroup hadoop manager
        hadoop 그룹에 속하는 manager 라는 사용자 생성
        암호는 1
        나머지는 기본값으로 엔터
        정보가 올바릅니까? y
~$ groups manager
        manager : hadoop 확인
~$ sudo adduser manager sudo
        manager를 sudo 목록에 추가
~$ sudo chown -R manager:hadoop /usr/local/hadoop/
        /usr/local/hadoop/의 소유권 변경
~$ ls -l /usr/local/

        변경 확인


-- ~/.bashrc 수정 --
~$ su manager
        암호 입력
        프롬프트가 manager@master:/home/kim$ 으로 변경된다
~$ cd ~

        kim 계정의 홈 디렉터리로 이동
~$ sudo vim .bashrc
        가장 아래에 다음 내용을 추가 후 저장

        #HADOOP VARIABLES START
        export HADOOP_HOME=/usr/local/hadoop
        export PATH=$PATH:$HADOOP_HOME/bin
        export PATH=$PATH:$HADOOP_HOME/sbin
        export HADOOP_MAPRED_HOME=$HADOOP_HOME
        export HADOOP_COMMON_HOME=$HADOOP_HOME
        export HADOOP_HDFS_HOME=$HADOOP_HOME
        #HADOOP VARIABLES END

~$ source .bashrc

** 여기까지는 싱글노드모드, 완전분산모드 공통사항 **

 


-- core-site --
~$ sudo mkdir /usr/local/hadoop/tmp/
~$ sudo chown -R manager:hadoop /usr/local/hadoop/tmp/
~$ sudo vim /usr/local/hadoop/etc/hadoop/core-site.xml
        <configuration>와 </configuration> 사이에 아래 내용을 입력하고 저장

        <configuration>

                <property>

                        <name>hadoop.tmp.dir</name>

                        <value>/usr/local/hadoop/tmp</value>

                </property>

                <property>

                        <name>fs.default.name</name>

                        <value> hdfs://localhost:62350</value>

                </property>

        </configuration>

        hadoop.tmp.dir
        : 하둡에서 발생하는 임시 데이터를 저장하는 공간
        fs.default.name
        : HDFS의 기본 이름. URI 형태로 사용
        : 데이터노드는 여러 작업을 진행하기 위해 반드시 네임노드의 주소를 알고 있어야 함


-- mapred-site --
~$ sudo vim /usr/local/hadoop/etc/hadoop/mapred-site.xml
        <configuration>와 </configuration>사이에 다음 내용을 입력 후 저장

        <configuration>

                <property>

                        <name>mapred.job.tracker</name>

                        <value>localhost:62351</value>

                </property>

        </configuration>



-- hdfs-site --
~$ sudo mkdir -p /usr/local/hadoop/hdfs/namenode
~$ sudo mkdir -p /usr/local/hadoop/hdfs/datanode
~$ sudo chown -R manager:hadoop /usr/local/hadoop/
~$ sudo vim /usr/local/hadoop/etc/hadoop/hdfs-site-xml
        다음 내용 입력 후 저장
                <property>

                        <name>dfs.replication</name>

                        <value>1</value>

                </property>

                <property>

                        <name>dfs.namenode.name.dir</name>

                        <value>file:/usr/local/hadoop/hdfs/namenode</value>
                </property>

                <property>

                        <name>dfs.datanode.data.dir</name>

                        <value>file:/usr/local/hadoop/hdfs/datanode</value>

                </property>


-- 인증키 설정 --
~$ ssh-keygen -t rsa
        질문에 다 엔터
~$ ssh-copy-id -i .ssh/id_rsa.pub manager@localhost
~$ sudo reboot


-- hadoop 실행 --
~$ su manager
~$ cd ~
~$ hadoop namenode -format
~$ start-dfs.sh
~$ jps
        jvm 위에서 돌아가는 프로세스 확인

 


-- hadoop 초기화 --
~$ stop-dfs.sh
~$ rm -rf /usr/local/hadoop/hdfs/datanode/
~$ rm -rf /usr/local/hadoop/hdfs/namenode/*

'Hadoop_Ubuntu 18.04' 카테고리의 다른 글

master 설정_완전 분산 모드  (0) 2019.08.13
slave 설정_완전 분산 모드  (0) 2019.08.12
우분투 18.04 IP 설정  (0) 2019.08.10
우분투 18.04 설치  (0) 2019.08.10