Hadoop Installation on Ubuntu (나의 하둡 설치 삽질기)

    하둡?

    Hadoop은 여러 클러스터에서 대규모 데이터 셋을 분산 처리할 수 있게 하는 프레임워크입니다. 아마 빅데이터 수업이나 데이터마이닝 수업을 하실 때 하둡을 설치할 일이 생기실텐데, 저 또한 이러한 이유로 설치를 하게 되었습니다. 이 포스팅을 보는 분들은 적어도 저처럼 힘들게 깔지 않기를 바라면서 포스팅을 합니다! (VMware설치를 선행하시고 진행하시기 바랍니다)

     

     

    1. JAVA 8 설치

     

    1) apt 업데이트

    sudo apt-get update

     

    2) JAVA 8 설치

    sudo apt-get install openjdk-8-jdk openjdk-8-jre

     

    3) 설치 확인

    java -version

     

     

    2. SSH 설정

     

    1) Openssh Server 설치

    sudo apt-get install openssh-server
    sudo apt-get install pdsh

     

    2) ssh키 생성

    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

     

    3) ssh키 비밀번호 해제

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

     

    4) 키가 포함된 파일의 권한 변경

    chmod 0600 ~/.ssh/authorized_keys

     

    5) ssh 확인

    ssh localhost

     

    3. 하둡 설치

     

    1) 하둡 다운로드

    : http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz

    원하는 버전을 선택하셔서 설치하셔도 무관합니다.

    wget https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz

     

    2) 압축풀기

    tar -xzvf hadoop-3.1.3.tar.gz

     

    3) 디렉토리 이동

    본인 계정이름을 넣어주면 되는데, 다음부터는 편의상 yejin(제 이름)으로 작성하겠습니다.

    mv hadoop-3.1.3 /home/본인계정이름/hadoop

     

    4. 하둡 설정

     

    1) 환경 변수 설정창으로 진입

    sudo nano ~/.bashrc

     

    2) 환경 변수 설정

    export HADOOP_HOME="/home/yejin/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}
    export YARN_HOME=${HADOOP_HOME}
    export HADOOP_CLASSPATH=$(hadoop classpath)

     

    3) 적용

    source ~/.bashrc

     

    4) env.sh 수정

    하둡 관련 파일들을 수정할 때 HADOOP_HOME/etc/hadoop 으로 이동 후에 진행하셔야 하며, 자신의 jdk 경로를 입력한 후 저장합니다.

    cd /home/yejin/hadoop/etc/hadoop
    sudo nano hadoop-env.sh
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

     

    5) core-site.xml 수정

    sudo nano core-site.xml
    <configuration>
    	<property>
    		<name>fs.defaultFS</name>
    		<value>hdfs://localhost:9000</value>
    	</property>
    	<property>
    		<name>hadoop.tmp.dir</name>
    		<value>/home/yejin/hadoop_tmp</value>
    	</property>
    </configuration>

     

    6) hdfs-site.xml 수정

    sudo nano hdfs-site.xml
    <configuration>
    	<property>
    		<name>dfs.replication</name>
    		<value>1</value>
    	</property>
    </configuration>

     

    7) mapred-site.xml 수정

    sudo nano mapred-site.xml
    <configuration>
    	<property>
    		<name>mapreduce.framework.name</name>
    		<value>yarn</value>
    	</property>
    	<property>
    		<name>yarn.app.mapreduce.am.env</name>
    		<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
    	</property>
    	<property>
    		<name>mapreduce.map.env</name>
    		<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
    	</property>
    	<property>
    		<name>mapreduce.reduce.env</name>
    		<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
    	</property>
    </configuration>

     

    8) yarn-site.xml 수정

    sudo nano yarn-site.xml
    <configuration>
    	<property>
    		<name>yarn.nodemanager.aux-services</name>
    		<value>mapreduce_shuffle</value>
    	</property>
    	<property>
    		<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    		<value>org.apache.hadoop.mapred.ShuffleHandler</value>
    	</property>
    </configuration>

     

    9) 적용

    cd
    source ~/.bashrc

     

     

    5. 하둡 실행

     

    1) namenode 포맷

    cd /home/yejin/hadoop/bin
    hdfs namenode -format

     

    2) hdfs , yarn 실행

    cd /home/yejin/hadoop/sbin
    start-dfs.sh
    start-yarn.sh

     

    start-dfs.sh를 입력했을 때 아래처럼 permission deny가 발생하면 해당 명령어를 입력해주고 다시 start-dfs.sh를 수행하면 됩니다.

    echo "ssh" | sudo tee /etc/pdsh/rcmd_default

     

    3) 확인

    jps
    2961 ResourceManager
    2482 DataNode
    3077 NodeManager
    2366 NameNode
    2686 SecondaryNameNode
    3199 Jps

     

    끝!!

    제가 하둡을 설치하면서 발생했던 오류를 해결하기 위해서 참고했던 사이트입니다. 참고하시고 도움을 받으셨으면 좋겠습니다!

    https://beelinekim.tistory.com/15

     

    xming 오류 (Could not connect: Connection refused)

    얼마동안 윈도우 리눅스를 켜지 않다가 필요할 일이 있어서 eog를 띄웠는데 되지 않았다. 오류는 (eog:285): EOG-WARNING **: 22:04:22.333: EOG could not save some of your preferences in its settings direct..

    beelinekim.tistory.com

    https://gethlemn.tistory.com/33

     

    [hadoop] start-all.sh 실행 후 jps 검색 시 Namenode, Datanode, Nodemanager 등이 실행되지 않을 때 해결 방법

    하둡을 start-all.sh로 실행시키고 jps를 통해 job을 확인해 보면 보통 아래와 같이 6가지의 job들이 조회되어야 한다. start와 stop을 반복시키다 보면 제대로 실행되지 않을 경우가 있다. 1. start-all.sh와

    gethlemn.tistory.com

     

    'Data Mining' 카테고리의 다른 글

    Naive Bayes classifier  (0) 2022.04.01
    K-Nearest Neighbor Algorithm (KNN 알고리즘)  (0) 2022.01.02
    Cloud Computing  (0) 2021.11.25
    CURE Algorithm (Clustering Using REpresentatives)  (0) 2021.11.22
    BFR Algorithm  (0) 2021.11.22

    댓글