Big Ben
Big Ben's Log
Big Ben
전체 방문자
오늘
어제
  • 전체 글 (80)
    • 파이썬 (23)
      • 파이썬 기초 (5)
      • 클래스 (6)
      • 자료구조 (4)
      • Tensorflow (3)
      • PyTorch (2)
      • konlpy (1)
      • anaconda (1)
    • 머신러닝 (3)
      • 선형회귀 (1)
      • Tree 기반 (1)
    • 딥러닝 (6)
      • NLP (2)
      • VISION (2)
      • TABULAR (0)
      • 딥러닝 서버 구축 (2)
    • 그래프 이론 (1)
      • 그래프마이닝 (1)
      • GNN (0)
    • 강화학습 (3)
      • 강화학습 기본 (3)
    • 인공지능 (5)
    • 추천시스템 (2)
      • 추천시스템 기초 (2)
    • Competitions (1)
    • 빅데이터 (8)
      • 하둡 (3)
      • 스파크 (4)
      • 클라우드 (1)
    • SQL (7)
      • MariaDB (2)
    • 논문 리뷰 (2)
    • 대학원 (0)
      • 데이터 사이언스 (0)
      • 경제학 (0)
    • 선형대수학 (7)
      • 선형대수 ICE BREAKING (1)
      • 벡터 (5)
      • 고윳값 (1)
    • 개인프로젝트 (0)
      • 포트폴리오 대시보드 + AI기반 주식 자동매매 (0)
    • 재테크 (1)
    • 자동차 (0)
    • 알고리즘 (11)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 객체지향
  • TensorFlow
  • 인공지능
  • 데이터사이언스
  • 자료구조
  • 빅데이터
  • AI
  • MariaDB
  • 파이썬
  • 데이터
  • 파이썬기초
  • mysql
  • sql
  • Baekjoon
  • 코딩테스트
  • 백준
  • PYTHON
  • 선형대수학
  • 객체
  • 머신러닝
  • class
  • 알고리즘
  • 딥러닝
  • pytorch
  • 데이터베이스
  • 하둡
  • 프로그래밍
  • 코테
  • 선형대수
  • 프로그래머스

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Big Ben

Big Ben's Log

[M1 맥북] 하둡(hadoop) 설치
빅데이터/하둡

[M1 맥북] 하둡(hadoop) 설치

2023. 2. 16. 16:00
반응형

안녕하세요. 

 

M1 맥북으로 하둡 설치하는 과정에 대해 다뤄보겠습니다. 

 

상당히 복잡하게 느껴질 수 있으나, 아래의 흐름대로 설치하신다면 정상 작동하리라 생각됩니다.

 

1. 자바 설치 & 경로 설정

하둡을 정상적으로 구동하기 위해서는 자바가 설치되어 있어야 합니다.

또한 아무 버전의 자바가 아닌, 현재 시점 기준에서는 Java 8 또는 11 버전을 설치해야 합니다.

만약에 본인의 자바 버전이 둘중 하나가 아닐 경우 재설치가 필요합니다. 결국에는 하둡을 설치해도 정상적으로 작동할 수 없기 때문이죠. 

자세한 내용은 아파치 하둡 공식 도큐먼트를 참고하시면 되겠습니다.

 

또한 m1맥북의 자바 재설치 방법은 제 블로그 내에도 기재된 포스팅이 있으니 참고하시면 도움이 되리라 생각됩니다.

 

아래는 자바와 관련된 체크리스트 입니다.

  • ~/.zshrc 내 JAVA_HOME 경로 설정 명확하게 표기
  • JAVA_HOME의 PATH 명시
export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
export PATH=${PATH}:$JAVA_HOME/bin:

 

2. localhost 암호 해제 (ssh key 생성)

hadoop 계정에 등록되어있는 유저가 로컬 시스템에 접근할 때 암호가 걸려있으면 상당히 복잡해집니다. 따라서 암호를 해제할 필요가 있습니다.

 

터미널에서 ssh localhost 명령어를 입력합니다.

그러면 localhost password 를 입력하라고 나오는데요. 

password 없이 로긴하기 위해서는 ssh 키를 생성해야 합니다. 

키 생성 코맨드는 아래와 같습니다.

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

맨 뒤 id_rsa는 제가 임의로 생성한 이름입니다. 아이디는 다르게 생성하셔도 문제가 없습니다.

 

그러면 다음의 이미지와 같이 키가 생성된 것을 확인하실 수 있습니다.

이제 cd ~/.ssh 위치로 이동하여 키가 생성되었는지 확인합니다.  (id_rsa.pub 이 퍼블릭 키 입니다.) 

자세한 내용은 아래 이미지를 참고하시면 되겠습니다.

다음은 생성된 퍼블릭 키를 authorized 에 추가할 필요가 있습니다. 아래 코드 블럭을 터미널에서 실행하면 됩니다.

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

# authorized_keys에 추가되었는지 확인
vim authorized_keys  

# 권한 부여
chmod 0600 ~/.ssh/authorized_keys

다음으로 ssh localhost를 입력합니다.

 

3. 하둡 다운로드 & 경로 설정

하둡은 아파치 공식홈페이지에서 다운받을 수 있습니다 (https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz)

 

위 링크에 들어가셔서 다운로드 페이지로 이동을 하게 되면, 링크 주소를 복사할 수 있는데요. 링크 주소를 복사하여 wget 커맨드를 통해 다운받겠습니다.

wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz

 

이후 적절한 하둡 디렉토리를 생성하여 (또는 현재 폴더에) tar zxcf hadoop-3.3.4.tar.gz 명령어를 입력하여 설치를 진행합니다.

tar zxcf hadoop-3.3.4.tar.gz

하둡 디렉토리로 이동하여줍니다. cd hadoop-3.3.4 

 

이제 하둡 경로를 설정해주어야 합니다.

vim ~/.zshrc를 실행하여줍니다. 다음과 같이 HADOOP_HOME과 PATH 경로를 표기하여 줍니다.

# hadoop 
export HADOOP_HOME=/Users/ben/hadoop/hadoop-3.3.4

export PATH=$PATH:$HADOOP_HOME/bin

 

터미널에 source ~/.zshrc 명령어를 입력하여 변경사항을 반영해줍니다.

 

설정된 경로는 echo $HADOOP_HOME 명령어를 통해 확인할 수 있습니다.

 

이제 그냥 terminal에 hadoop 을 입력하고 실행해봅시다.

hadoop에 Commands에 관한 간략한 설명이 나온다면 정상적으로 설치가 된 것입니다.

 

4. 하둡 구동을 위한 환경설정 파일 설정

이젠 하둡 구동을 위한 최소한의 환경설정 파일 설정이 필요합니다. 

 

설정 방법은 다음과 같습니다. 

 

hadoop-3.3.4/etc/hadoop 경로로 이동하여줍니다.

 

ls 명령어를 통해 환경설정 파일들이 존재하는지 확인해봅니다.

 

문제가 없다면 xml파일 설정을 하겠습니다.

 

아래는 그림으로 대체하겠습니다. 

 

1) core-site.xml 설정

2) hdfs-site.xml 설정

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

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

 

5. 하둡 실행

하둡 실행에 앞서 hdfs namenode 포맷을 진행하겠습니다. 아래 명령어를 실행해주세요.

hdfs namenode -format

위 명령어를 실행시키면 아래와 같은 로그들이 보일 것입니다.

 

이 다음으로는 dfs를 실행해봅시다.

sbin/start-dfs.sh

이렇게 되면 아래와 같은 메세지를 터미널에서 볼 수 있을 것입니다.

Starting namenodes on [localhost]
Starting datanodes
Starting secondary namenodes [Girims-MacBook-Pro.local]
2023-02-15 14:17:43,000 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

정상적으로 네임노드와 데이터노드가 실행된 것을 확인할 수 있습니다.

 

또한 이후에는 jps를 입력하여 실행중인 노드를 확인할 수 있습니다.

jps 명령어를 이용해서 NameNode, DataNode, SecondaryNameNode 가 정상적으로 동작하고 있음을 확인해야함 (jps를 이용하면 해당 노드들이 동작중인지 확인할 수 있음)

 

다음으로

hadoop fs -ls /

  명령어를 입력하여 하둡내 디렉토리나 파일일 있는지 확인합니다.

 

최초 설치하신거라면 어떠한 디렉토리도 존재하지 않을 것입니다.

다음과 같은 명령어를 입력하여 샘플 디렉토리를 만들어보겠습니다.

hadoop fs -mkdir /user      # 유저 디렉토리 생성
hadoop fs -mkdir /user/ben  # 유저 디렉토리 내 본인 디렉토리 생성

 

이후에 리스트 명령어로 디렉토리가 생성되었음을 확인할 수 있을 겁니다.

 

다음으로는 하둡의 sbin 디렉토리로 이동하여 하둡을 구동시켜보겠습니다.

 

start-dfs.sh

start-dfs.sh # dfs 실행

jps # jps를 통해 데이터 노드, 네임 노드, 세컨더리 네임노드 실행 확인


start-yarn.sh # yarn 실행 
jps           # 리소스매니저, 노드매니저 실행 확인

 

정상적으로 작동하는 것을 확인할 수 있습니다.

localhost:9870에 접속하셔서, HDFS웹 UI를 이용할 수 있다는 점도 참고하시면 됩니다.

반응형
저작자표시 (새창열림)

'빅데이터 > 하둡' 카테고리의 다른 글

[하둡] MapReduce란? (MapReduce기초1)  (0) 2023.02.16
[M1 맥북] Java 설치 / 재설치 방법 / 삭제 방법  (0) 2023.02.16
    '빅데이터/하둡' 카테고리의 다른 글
    • [하둡] MapReduce란? (MapReduce기초1)
    • [M1 맥북] Java 설치 / 재설치 방법 / 삭제 방법
    Big Ben
    Big Ben
    Data Scientist

    티스토리툴바