본문 바로가기

Hadoop

Hadoop - ubuntu에 하둡 설치하기

1] ubuntu에 open-jdk 설치하기

  •  hadoop 2.x 대 사용시, jdk 7version 설치 필수! (8은 hadoop 3.0 이상부터 지원)
$ sudo apt update

# 상황에따라 다른 open jdk를 사용할 수도 있음 (ex) julu-openjdk-8 등..)
$ sudo apt install openjdk-8-jdk -y

# Java 설치확인
$ java -version
$ javac -version

 

2] 계정 생성 (선택)

=> 클러스터를 효과적으로 관리할 수도 있고, 보안에도 좋기에 하둡만을 위한 계정을 생성. (상황에따라 다른 계정도 사용)

# localhost랑 ssh통신을 위한 openssh-server openssh-client 설치
# window os에서 ubuntu shell에 접속하기 위한 조치이므로, 필요한 경우에 설치 및 적용
$ sudo apt install openssh-server openssh-client -y

# 계정 추가 및 비밀번호 설정
$ sudo adduser hdoop[계정명]

$ su hdoop[계정명]

# /home/hdoop[계정명]에서 비밀번호없는 ssh통신 가능하도록 변경
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id-rsa
$ cat ~/.ssh/id-rsa.pub >> ~/.ssh/authorized-keys
$ chmod 0600 ~/.ssh/authorized-keys
$ ssh localhost

= 결과

 

3] 하둡 설치

# 하둡 다운로드
$ wget https://archive.apache.org/dist/hadoop/core/hadoop-3.2.2/hadoop-3.2.2.tar.gz

# 압축풀기
$ tar xvfz hadoop-3.2.2.tar.gz

 

4] Configuration Files Set Up

  • bashrc

(가장 아래부분에 추가)

#Hadoop Related Options
export HADOOP_HOME=/home/hdoop/hadoop-3.2.2 # 설치경로 계정명
export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
$ source ~/.bashrc

 

  • hadoop-env.sh
# yarn, HDFS, MapReduce 하둡프로젝트 관련 프로젝트 세팅 관련 파일

# JAVA_HOME 설정

........
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
........
# Java Path 확인
$ which javac
/usr/bin/javac

$ readlink -f /usr/bin/javac
/usr/lib/jvm/java-8-openjdk-amd-64/bin/javac

 

  • core-site.xml
    : HDFS와 Hadoop 핵심 property들을 정의하는 파일
# localhost 기준 기본 설정
<configuration>
<property>
  <name>hadoop.tmp.dir</name>
  <value>/home/hdoop/tmpdata</value> # 설치경로 계정명
</property>
<property>
  <name>fs.default.name</name> # Deprecated. Use [fs.defaultFS]
  <value>hdfs://127.0.0.1:9000</value>
</property>
</configuration>

속성관련 name, default value 공식문서: https://hadoop.apache.org/docs/r3.2.2/hadoop-project-dist/hadoop-common/core-default.xml

 

  • hdfs-site.xml
    : DataNode와 NameNode의 저장소 디렉터리를 설정하는 파일 (파일 별도 문의)
# localhost 기준 기본 설정
<configuration>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/home/hdoop/dfsdata/namenode</value> # 설치경로 계정명
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/home/hdoop/dfsdata/datanode</value> # 설치경로 계정명
</property>
<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
</configuration>

속성관련 name, default value 공식문서: https://hadoop.apache.org/docs/r3.2.2/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

 

  • mapred-site.xml
    : MapReduce 파일의 값을 정의하기 위한 파일
# localhost 기준 기본 설정
<configuration>
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>
</configuration>

속성관련 name, default value 공식문서: https://hadoop.apache.org/docs/r3.2.2/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

 

  • yarn-site.xml
    : YARN에 관련된 세팅을 정의하는 파일
# localhost 기준 기본 설정
<configuration>
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
  <name>yarn.resourcemanager.hostname</name>
  <value>127.0.0.1</value>
</property>
<property>
  <name>yarn.acl.enable</name>
  <value>0</value>
</property>
<property>
  <name>yarn.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PERPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>

속성관련 name, default value 공식문서: https://hadoop.apache.org/docs/r3.2.2/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

 

5] Format HDFS NameNode

# Hadoop 서비스를 처음 시작하기전, NameNode를 초기화
$ hdfs namenode -format

 

6] 하둡 클러스터 시작하기

$ hadoop-3.2.2/sbin/start-dfs.sh
$ hadoop-3.2.2/sbin/start.yarn.sh
$ jps

 

7] Hadoop UI Browser 접속

=> [서버 domain]:9870

 

= 참고자료

'Hadoop' 카테고리의 다른 글

Hadoop - HDFS 명령어  (0) 2021.09.13
Hadoop - MapReduce 프로그래밍  (0) 2021.09.13
Hadoop - 하둡이란??  (0) 2021.09.13