2 분 소요


노트북 환경
MacBook Pro - M1

하둡, 스파크 버전
자바(Java): 19.0.1
하둡(Hadoop): 3.3.4
스파크(Spark): 3.3.0



1. 자바(JDK 19) 설치

  • 하둡은 자바 기반의 오브 소스 프레임워크이므로, 자바를 먼저 설치해줘야 한다.
  • [ORACLE JAVA 19] 링크로 가 Arm 64 DMG Installer를 다운로드한다.
  • 스크린샷

    image


  • 또는 azul사의 zulu Open JDK도 맥 m1칩용을 제공한다. 둘 중 아무거나 받아도 상관없다.
  • [[AZUL Java 19(STS)]] 링크로 가 macOS arm64버전을 다운로드한다.
  • 스크린샷

    image


  • 그 후 vi ~/.zshrc 명령어를 통해 파일을 연 뒤, 아래처럼 java 경로를 export 해준다.
    • 또는 ~/.bashrc
  • 완료 후, source ~/.zshrc 명령어를 통해 파일을 실행한다.
export JAVA_HOME="/Library/Java/JavaVirtualMachines/zulu-19.jdk/Contents/Home"
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar
export PATH=${PATH}:$JAVA_HOME/bin
  • java -version 명령어로 아래처럼 나오면 정상적으로 설치가 됐다.

    image



2. ssh 설정

  • 하둡은 네임(마스터) 노드에서 여러 개의 데이터(워커) 노드와 서버 접속이 가능하게 해야 되기 때문에 ssh 통신에 사용할 키 교환을 수행해야 한다.
  • ssh localhost 명령어를 통해 ssh 설치 여부를 확인할 수 있다.
  • 키 수정은 다음과 같다.
    • 인증키를 미리 생성해서 ssh에 로그인할 때 비밀번호 대신 사용하는 방식이다. 1
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys



3. 하둡 설치

  • 맥에서 brew를 통해 쉽게 설치가 가능하지만, 나중에 리눅스 등 다른 OS에서도 원활히 설치하기 위해 하둡 홈페이지에서 설치를 진행해본다.
  • 마찬가지로, 해당 [Apache Hadoop - Download] 링크로 가 binary 파일을 다운받는다.
  • 스크린샷

    image


  • 보통 Downloads 경로에 다운로드 받아지므로 이를 root 경로로 변경해준다.
  • mv hadoop-3.3.4 ~/hadoop-3.3.4


  • 자바 경로처럼 하둡도 ~/.zshrc로 가 경로를 설정해준다.
    • 이는 하둡을 실행하기 전에 자바가 설치된 위치를 하둡에 알려주어야 하기 때문이다.
    • 하둡 데몬을 실행하는 스크립트는 sbin 디렉토리에 있다. 하둡 데몬을 로컬 컴퓨터에서 실행하려면 이 디렉토리를 PATH에 추가해줘야 한다.
export HADOOP_HOME="/Users/hyunseokjung/hadoop-3.3.4"
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop


3.1 그 외 환경설정

  • 하둡의 각 구성요소에 대한 설정은 XML 파일을 이용한다.
    • etc/hadoop/core-site.xml : 공통 속성
    • etc/hadoop/hdfs-site.xml : HDFS 속성
    • etc/hadoop/mapred-site.xml : 맵리듀스 속성
    • etc/hadoop/yarn-site.xml : YARN 속성


  • 가상 분산(Pseudo-Distributed) 모드는 모든 하둡 데몬을 로컬 머신에서 실행하는 방법이다. 지금은 이 모드를 사용해본다.
    • 하둡 데몬을 여러 대의 머신으로 구성된 클러스터에서 실행하는 방법은 추후에 쓰겠다.
  • etc/hadoop 디렉토리에 다음 내용이 담긴 환경 설정 파일을 만든다.

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


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


  • mapred-site.xml
<configuration>
  <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
  </property>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:8021</value>
  </property>
</configuration>


  • yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>


3.2 HDFS 파일시스템 포맷하기

  • HDFS를 사용하기 전에 먼저 파일시스템을 포맷해줘야 한다.
$ bin/hdfs namenode -format


3.3 데몬 시작과 중지

  • HDFS, 맵리듀스, YARN 데몬을 각각 구동하기 위한 명령어는 다음과 같다.
$ sbin/start-dfs.sh ## HDFS
$ sbin/mr-jobhistory-daemon.sh start historyserver ## 맵리듀스
$ sbin/start-yarn.sh ## YARN


  • http://locathost:9870 웹 UI를 통해 데몬 프로세스를 확인할 수 있다.
  • 결과

    image

  • 또한, 자바의 jps 명령어를 사용해 데몬 동작 여부를 파악할 수 있다.


  • 데몬 중지는 다음과 같다.
$ sbin/stop-dfs.sh ## HDFS
$ sbin/mr-jobhistory-daemon.sh stop historyserver ## 맵리듀스
$ sbin/stop-yarn.sh ## YARN


3.4 사용자 디렉토리 생성

  • 다음 명령어를 통해 홈 디렉토리를 생성한다.
$ hadoop fs -mkdir -p /user/hyunseokjung 



4. 스파크 설치

  • 스파크(Apahce Spark)는 빅데이터 처리를 위한 오픈 소스 분산 시스템이다.
  • 하둡과 마찬가지로 [Apache Spark Homepage - Download] 링크로 가 최신 버전을 설치해준다.
  • 스크린샷

    image


  • 보통 Downloads 경로에 다운로드 받아지므로 이를 root 경로로 변경해준다.
  • mv spark-3.3.0-bin-hadoop3 ~/spark-3.3.0
  • 그리고 ~/.zshrc 로 가 spark에 대한 환경설정을 해준다.
export SPARK_HOME="/Users/hyunseokjung/spark-3.3.0"
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
export SPARK_LOCAL_HOSTNAME=localhost

그 외 스파크에 대한 자세한 내용은 Category - SPARK 링크로 가 참조하면 된다.





References

댓글남기기