최말짱 블로그

Mac OS M1에 하둡(Hadoop) 설치 및 환경설정 본문

카테고리 없음

Mac OS M1에 하둡(Hadoop) 설치 및 환경설정

최말짱 2023. 4. 16. 18:30
728x90

 

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

 

[M1] Mac OS에 하둡(Hadoop) 설치

맥북 Mac OS에 Hadoop을 설치해보자!

key4920.github.io

 

 

해당 블로그를 참고해서 설치했다.

정리가 아주 잘 돼 있다 ㅎㅎ

 

아래의 내용도 해당 블로그를 통해 실습한 코드이며, 약간의 설명을 덧 붙인 것이다.

 

 

 


 

 

 

 

 1. 하둡 설치 전 Java 사전 설치하기

하둡을 설치하면서 중요한 것이 있는데 그것은 자바 버전이다 !

 

 

공식 페이지를 읽어보면.

 

Apache Hadoop 3.3 이상은 Java 8 및 Java 11을 지원합니다(런타임만 해당)
Java 8로 Hadoop을 컴파일하십시오. Java 11을 사용한 Hadoop 컴파일은 지원되지 않습니다.

 

라고 한다.

 

근데 나는 Java8을 처음에 설치했었는데, 오류가 나서 Java11로 다시 설치를 했다. 

Java11도 실습하는데 아무런 문제가 없었다.

 

[ 자바11 설치 명령어 ]

brew install --cask adoptopenjdk11

 

 

자바설치 및 환경변수 설정은 아래 사이트를 참고했다.

https://llighter.github.io/install-java-on-mac/

 

맥에서 Brew로 자바 설치하기(feat. 자바버전 바꾸기)

 

llighter.github.io

 

 

 

그리고 아래 hadoop 공식 홈페이지에서 지원하는 자바 버전을 확인 할 수 있다. 

https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions 

 

Hadoop Java Versions - Hadoop - Apache Software Foundation

Supported Java Versions Apache Hadoop 3.3 and upper supports Java 8 and Java 11 (runtime only)Please compile Hadoop with Java 8. Compiling Hadoop with Java 11 is not supported:  HADOOP-16795 - 이슈 세부사항 가져오는 중... 상태 Apache Hadoop f

cwiki.apache.org

 

 

 

 

 

 

 

 

 

 

2. brew를 통해 터미널에서 하둡을 설치해준다. (자동으로 최신 버전 중 stable한 버전이 설치된다.)

나는 자동으로 hadoop 3.3.4 버전이 설치가 되었다.

brew install hadoop

 

설치가 다 되면 다음과 같은 화면을 볼 수 있다.

 

 

 

참고로 저기 보면 java버전이 11로 잘 깔려 Dependency에 문제가 없음을 알 수 있다. 

 

3. 5개의 파일을 수정해줘야 한다. 

 

(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)

 

 

xml파일이 있는 hadoop폴더로 이동해준다.

cd /opt/homebrew/Cellar/hadoop/3.3.4/libexec/etc/hadoop

1) hadoop-env.sh 수정하기

 

vi로 xml파일을 열어 맨 마지막 줄에 JAVA경로를 추가해준다.

나는 Java11 버전이라 해당 경로로 추가해주었다. 

 

그리고 open hadoop-env.sh를 통해서도 파일을 열 수 있다는데, 나는 에러가 났다...

자꾸 파일이 열리지 않아서 vi를 통해 파일을 열어서 수정해주었다.

vi hadoop-env.sh

JAVA경로는 다음과 같은 명령어로 확인할 수 있다. 

## 자바 경로 확인
/usr/libexec/java_home

 

# hadoop-env.sh 맨 마지막 줄에 추가할 것
export JAVA_HOME="/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home"

하둡 최상위 경로에서 아래 bin/hadoop을 치면 정상 실행되는지 확인 가능하다.

아래와 같이 나와야 함.

 

2) core-site.xml(Pseudo-Distributed Mode) 수정하기

vi core-site.xml

다음 내용을 xml에 추가해준다.

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

 

3) hdfs-site.xml(Pseudo-Distributed Mode)

vi hdfs-site.xml

다음 내용을 xml에 추가해준다.

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

4) mapred-site.xml(YARN)

vi mapred-site.xml

 

다음 내용을 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>

 

 

5) yarn-site.xml(YARN)

vi yarn-site.xml

다음 내용을 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>

 

 

 

5. 실행 전 다음 명령어를 입력해서 ssh 여부를 체크해준다.

ssh localhost

 

6. HDFS로 포맷해준다.

## 하둡 경로 접속
cd /opt/homebrew/Cellar/hadoop/3.3.4

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

 

7. 하둡을 실행해준다.

 

아래의 경로에서 하둡 실행 명령어를 입력해준다.

cd /opt/homebrew/Cellar/hadoop/3.3.4/libexec
하둡 실행
sbin/start-all.sh

 

 

jps명령어를 통해 실행되어 있는 노드들을 확인할 수 있다. 노드는 총 6개가 떠야 잘 성공적으로 실행된 것이다. 

나는 DataNode가 뜨지 않았는데, 하둡 재설치를 통해 해결할 수 있었다.

뭐든 간에 문제가 생기면 재설치 및 재부팅을 하길 추천한다. 

참고로 나는 하둡 설치하면서 재설치 4번이나 했다........ㅋㅋㅋ

jps

 

그러면 http://localhost:8088 로 하둡에 접속할 수 있다.

 

 

 

종료 명령어는 다음과 같다.

sbin/stop-all.sh

 

 

 

 

 

 

 


하둡을 설치하면서 많은 관문에 부딪혔지만, 결론은 재설치 및 재부팅이었다. (명심)

그리고 자바 버전을 잘 확인해보길 바란다.