본문 바로가기
카테고리 없음

[Hadoop] 맥북 M1 하둡 설치

by sum_mit45 2023. 9. 25.
728x90
반응형

맥북 M1 에서 하둡(hadoop) 설치하기

0. ssh 설치 여부 및 권한 확인

ssh localhost

- 터미널에서 ssh 설치 여부를 확인한다.

 

Connection refuesed - "ssh: connect to host localhost port 22: Connection refused"

"ssh: connect to host localhost port 22: Connection refused"

- 이런 오류가 발생한다면, 원격 로그인을 허용하지 않은 것이므로 환경 설정에서 허용해준다.

- 환경설정 > 공유(sharing) > 원격 로그인(remote login) 에서 허용하면 된다.

환경설정 > 공유(sharing) > 원격 로그인(remote login)

 

1. 하둡 설치

brew install hadoop

brew install hadoop을 통해 하둡을 설치

 

2. 환경변수 설정

brew info hadoop #하둡의 버전과 설치 경로를 확인
cd /opt/homebrew/Cellar/hadoop/3.3.6 #위의 명령어로 확인한 경로로 이동

cd libexec/etc/hadoop

 

수정해야 할 파일 - 1. hadoop-env.sh

open hadoop-env.sh

 

파일을 열고 아래 명령어로 자바 경로를 추가해준다.

 

/usr/libexec/java_home #자바 경로 확인
/usr/libexec/java_home -v8 #버전이 여러개라면 버전 특정하기
export JAVA_HOME="/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home"

자바 경로를 추가해준다.

Single Node 지만 다음 3가지 모드가 지원된다. Pseudo-Distributed Mode를 위해 추가적으로 환경변수를 수정해야한다. 
(1) Local (Standalone) Mode (2) Pseudo-Distributed Mode (3) Fully-Distributed Mode

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

 

수정해야 할 파일 - 2. core-site.xml

open core-site.xml

위의 명령어로 파일을 열고, 아래 내용들을 태그에 넣어준다.

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

 

수정해야 할 파일 - 3. hdfs-site.xml

open hdfs-site.xml

위의 명령어로 파일을 열고, 아래 내용들을 태그에 넣어준다.

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

이 단계까지 마치면, 로컬에서 맵리듀스를 실행해 볼 수 있지만 YARN으로 맵리듀스 및 리로스 매니저와 노드 매니저 daemon을 실행해보기 위해서 추가적으로 환경변수를 수정해 주면 된다. 

 

수정해야 할 파일 - 4. mapred-site.xml

open 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>

 

수정해야 할 파일 - 5. yarn-site.xml

open 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>

 

3. 하둡 실행

아래 명령어를 입력했을 때 마지막 접속 시간이 뜨지 않으면 ssh 설치 여부 및 권환 확인을 해보아야 핞다.

ssh localhost

정상 작동하는 모습

 

이제 HDFS로 포맷한다.

cd /opt/homebrew/Cellar/hadoop/3.3.6 ##하둡 경로 들어가기
hdfs namenode -format ##파일시스템 포맷

 

본격적으로 하둡을 실행시키기 위해서 아래의 명령어들을 사용한다.

cd /opt/homebrew/Cellar/hadoop/3.3.6/libexec
sbin/start-all.sh
sbin/start-dfs.sh #로컬에서 맵리듀스 실행하는 방법
sbin/start-yarn.sh #yarn에서 맵리듀스 실행하는 방법

sbin/start-all.sh 을 활용하여 실행시킨 모습

 

또한 맵리듀스 실행을 위해 HDFS 디렉토리가 필요하므로 만든다.

#경로는 하둡 최상위 경로에서 실행
#cd /opt/homebrew/Cellar/hadoop/3.3.6
bin/hdfs dfs -mkdir /user
bin/hdfs dfs -mkdir /user/<username>

 

실행을 확인해보는 코드는 아래와 같다. 

jps

jps를 터미널에 입력하면 하둡이 정상 설치 및 실행되고 있음을 확인할 수 있다.

 

jps를 터미널에 입력하면 하둡이 정상 설치 및 실행되고 있음을 확인할 수 있다. 

localhost로 접속해서 확인해볼 수도 있다.

Cluster status : http://localhost:8088
HDFS status : http://localhost:9870

Secondary NameNode status http://localhost:9868

HDFS status 확인한 모습 / secondary namenode status 확인한 모습

실행 종료를 위해서는 아래 코드를 입력해주면 된다.

#만약 경로가 하둡 최상단 경로가 아니라면 다시 들어가준다.
#해당 경로에서 ./start-all.sh 로 실행 해 줬기 때문에 ./stop-all.sh만 실행해주면 된다.

#아래 코드 중에 해당하는 코드로 실행한다.
sbin/stop-all.sh
sbin/stop-dfs.sh
sbin/stop-yarn.sh

 

 

참고한 사이트:

 

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html#Execution

 

Apache Hadoop 3.3.6 – Hadoop: Setting up a Single Node Cluster.

<!--- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or a

hadoop.apache.org

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

 

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

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

key4920.github.io

 

728x90
반응형