ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Mac에 Hadoop 설치 / 실행 해보기
    💾 big data/🐘 hadoop 2022. 10. 3. 17:24

    Install / Setting

    $ wget <https://archive.apache.org/dist/hadoop/core/hadoop-2.7.6/hadoop-2.7.6.tar.gz>
    

    수정해야 하는 파일들

    1. hadoop-env.sh (하둡 사용)
    2. core-site.xml (Pseudo-Distributed Mode)
    3. hdfs-site.xml (Pseudo-Distributed Mode)
    4. mapred-site.xml (yarn)
    5. yarn-site.xml (yarn)

    Pseudo-Distributed Mode???

    • 각 하둡 daemon이 각각의 분리된 Java 프로세스에서 실행되는 모드
    • standalone 모드와 다르게 가상으로 분산시스템을 경험할 수 있다.

    hadoop-env.sh

    $ vi hadoop-env.sh
    
    ## Java 경로 설정
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.13.jdk/Contents/Home
    

     

    ⇒ 하둡 클러스터 사용할 준비 완료

    하둡 최상위 경로에서 아래 명령어를 입력하여 정상 실행 되는지 확인

     

    $ bin/hadoop
    

     

    core-site.xml 변경

    $ vi core-site.xml
    
    <configuration>
      <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
      </property>
    </configuration>
    

     

    hdfs-site.xml

    $ vi hdfs-site.xml
    
    <configuration>
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>
    </configuration>
    
    • yarn으로 mapreduce 및 resourceManager, nodeManager daemon을 실행할 수 있다.

     

    mapred-site.xml

    $ vi mapred-site.xml
    
    <configuration>
      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
      <property>
        <name>mapreduce.application.classpath</name>
        <value
          >$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value
        >
      </property>
    </configuration>
    

     

    yarn-site.xml

    $ vi yarn-site.xml
    
    <configuration>
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
      <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value
          >JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HOME</value
        >
      </property>
    </configuration>
    

    하둡 실행

    SSH

    ssh 설치 여부 및 권한 확인

    $ ssh localhost
    

    → password 입력하라고 뜬다면 권한을 부여해주어야 함.

    $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    $ chmod 0600 ~/.ssh/authorized_keys
    

    HDFS 포맷

    ## 파일 시스템 포맷
    $ bin/hdfs namenode -format
    

    실행

    $ sbin/start-all.sh
    
    ## 로컬에서 mapreduce 실행
    $ sbin/start-dfs.sh
    
    ## yarn에서 실행
    $ sbin/start-yarn.sh
    

    맵 리듀스를 실행하기 위해서 HDFS 디렉토리가 필요하다.

    bin/hdfs dfs -mkdir /user
    bin/hdfs dfs -mkdir /user/<username>
    

    실행 확인

    $ jps
    
    ## 결과
    46401 DataNode
    46307 NameNode
    45028 ResourceManager
    55415 Jps
    38792 Launcher
    46521 SecondaryNameNode
    474
    49517 NodeManager
    

    접속

    Cluster status : http://localhost:8088

    HDFS status : http://localhost:50070

    실행 종료

    sbin/stop-all.sh
    # 또는
    sbin/stop-dfs.sh
    # 또는
    sbin/stop-yarn.sh
    

    출처

    https://key4920.github.io/docs/bigdata_platform/Hadoop/hadoop_install_M1/

    https://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html

    댓글

Designed by Tistory.