ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Pyspark로 머신러닝 하기(2)_환경구축_hadoop설치
    Bigdata Management System 2019. 11. 19. 22:18

    Hadoop과 Spark는 Linux 환경에서 구동하기에 적합하다.

    Linux는 크게 Redhat 계열과 Debian 계열이 있다. 보통 서버용으로 Redhat 계열의 CentOS를 많이 사용하는데 빅데이터관리시스템 과목에서 CentOS 6를 계속 써왔기에 우리는 CentOS 7버전을 선택했다. Ubuntu도 다루기 쉽고 인기있는 OS이지만 앞으로 현업에서 사용 가능성이 높은 CentOS를 쓰기로 결정했다.

     

    분석환경은 이렇다.

    1. OS : CentOS Linux 7

    2. Java : 

    3. Python : 3.6 (Anaconda 5.2)

    4. Apache Spark : 2.3.2

    5. Hadoop : 2.7

     

    5. Hadoop 설치

    원래는 hadoop user를 따로 만들어서 hadoop을 설치하는게 좋다. 보안, 허가, 백업 등의 문제가 있기 때문에 실제 데이터 분석을 위해서는 따로 user를 설정하는 것을 추천한다.

     

    그래서 우리는 root user 위에 하둡을 설치한다.

     

     

    1) SSH키 설정

    SSH는 표준 공개 키 암호를 이용해 한 쌍의 키를 생성한다. Public key와 Private key가 생성되고 이 두개의 키를 가지고 접근을 시도한다.

     

    $ ssh-keygen -t rsa -P ''

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

     

     

    2) hadoop-2.7.3.tar.gz를 다운받는다. 

    $ tar xfz hadoop-2.7.3.tar.gz

     

     

    3) 하둡 환경변수를 변경

    $ gedit ~/.bashrc

    export HADOOP_HOME=/root/hadoop/

    export HADOOP_INSTALL=$HADOOP_HOME

    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_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

    export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

     

    # 변경사항 적용

    $source ~/.bashrc

     

    4) hadoop-env.sh 수정

    $ ~/hadoop/etc/hadoop/

    $ gedit hadoop-env.sh

    # The java implementation to use.
    export JAVA_HOME=/usr/java/default

     

    5) core-site.xml 수정

    $ gedit core-site.xml

    <configuration>

    <property>

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

            <value>hdfs://localhost:9000</value>

    </property>

    </configuration>

     

    6) hdfs-site.xml 수정

    수정하기 전에 미리 폴더를 만들어야 한다.

    mkdir -p /root/hadoop_store/hdfs/datanode

    mkdir -p /root/hadoop_store/hdfs/namenode

     

    $ gedit hdfs-site.xml
    <configuration>

    <property>

    <name>dfs.replication</name>

    <value>1</value>

    </property>

    <property>

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

    <value>file:/root/hadoop_store/hdfs/namenode</value>

    </property>

    <property>

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

    <value>file:/root/hadoop_store/hdfs/datanode</value>

    </property>

    </configuration>

     

    7) mapred-site.xml 수정

    $ gedit mapred-site.xml

    <configuration>

    <property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

    </property>

    </configuration>

     

    8) yarn-site.xml 수정

    $ gedit yarn-site.xml

    <configuration>

    <property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

    </property>

    </configuration>

     

     

    9) Namenode 포맷

    $ hdfs namenode -format

     

    10) node 실행

    $ start-dfs.sh

    $ start-yarn.sh

     

    # 실행 node 확인

    $ jps

    url -> (컴퓨터의 localhost ip):50070를 치면 hadoop 현재 상황을 파악할 수 있다.

     

     

    * 참고 sites

    https://www.youtube.com/watch?v=pa5cuH5iDBw   

    https://tecadmin.net/setup-hadoop-on-ubuntu/

    'Bigdata Management System' 카테고리의 다른 글

    Pyspark로 머신러닝 하기(1)_Project 소개  (0) 2019.11.19

    댓글

Designed by Tistory.