본문 바로가기
Study/clolud

[클라우드컴퓨팅] 클라우데라 하둡 싱글노드 설치

by hapuripo_po 2022. 10. 14.

설치 환경


 

아래의 프로그램들이 준비되어야 합니다.

  • VirtualBox 6.0.10
  • Ubuntu 18.04
  • XShell 6
  • XFTP 6
  • Java 11.04

 

 

하둡 설치


 

공식 문서를 통해서도 진행 가능합니다.

https://hadoop.apache.org/docs/r2.10.2/

 

1. Hadoop 다운로드

하둡은 아파치 프로젝트에 속해 있습니다. >> https://www.apache.org/

 

Welcome to The Apache Software Foundation!

Official ASF reports and statements, including Quarterly and Annual Reports, Vision Statement, "Apache is Open", 5-Year Strategic Plan, and more.

www.apache.org

Project > Project List > hadoop
Download > binary > HTTP 링크 복사

 

2. 서버에 하둡 설치

복사한 링크를 붙여넣어 하둡 설치 파일을 다운받습니다.

다운받은 파일을 설치하고 설치 파일은 삭제 했습니다.

$ wget https://dlcdn.apache.org/hadoop/common/hadoop-2.10.2/hadoop-2.10.2.tar.gz
$ tar zxcf hadoop-2.10.2.tar.gz
$ sudo cp -rf hadoop-2.10.2 /usr/local/hadoop
$ rm -rf hadoop-2.10.2*

 

3. 하둡 사용자 등록 및 하둡 소유권 변경

하둡을 관리하는 사용자를 따로 만들어 권한 설정하는 과정입니다.

[사용자 이름]을 "manager"로 설정했습니다.

아래의 코드를 진행하시면 암호를 입력하라고 나오는데, 원하는 암호로 설정하면 됩니다.

$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop manager

 

"manager" 사용자에게 관리자 권한을 부여하고, 하둡의 소유권을 부여하는 명령어입니다.

$ sudo adduser manager sudo
$ sudo chown -R manager:hadoop /usr/local/hadoop
$ ls -l /usr/local

 

4. 하둡 환경설정

"manager" 사용자로 접속하여 계속 진행 해주세요 !

$ sudo su - manager
$ vim ~/.bashrc
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME

 

$ source ~/.bashrc
$ sudo vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

파일 하나가 열리는데, 가장 밑에 아래의 코드를 추가 해주세요.

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

 

 

하둡 구성 설정


core-site

클러스터 내에 namenode 에서 실행되는 하둡 데몬에 관한 설정입니다.

HDFS와 Mapreduce에서 공통적으로 사용할 환경 정보들을 설정합니다.

아래의 "localhost:62350"은 분산 컴퓨팅을 구현 시 master의 IPPort가 됩니다.

$ sudo mkdir -p /usr/local/hadoop/tmp
$ sudo chown -R manager:hadoop /usr/local/hadoop/tmp
$ sudo vim /usr/local/hadoop/etc/hadoop/core-site.xml
<configuration>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/usr/local/hadoop/tmp</value>
	</property>
	<property>
		<name>fs.default.name</name>
		<value>hdfs://localhost:62350</value>
	</property>
</configuration>

 

mapred-site

Mapreduce 어플리케이션 설정입니다.

$ cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml
$ sudo vim /usr/local/hadoop/etc/hadoop/mapred-site.xml
<configuration>
	<property>
		<name>mapred.job.tracker</name>
		<value>localhost:62351</value>
	</property>
<configuration>

 

hdfs-site

하둡 파일시스템(HDFS)과 관련된 환경 정보들을 설정합니다.

replication 값 '1'은 싱글 보드를 뜻합니다. '3'은 분산 모드입니다.

$ sudo mkdir -p /usr/local/hadoop/hdfs/namenode
$ sudo mkdir -p /usr/local/hadoop/hdfs/datanode
$ sudo chown -R manager:hadoop /usr/local/hadoop/hdfs
$ sudo vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	<property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:/usr/local/hadoop/hdfs/namenode</value>
	<property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:/usr/local/hadoop/hdfs/datanode</value>
	<property>
<configuration>

 

인증키 생성 & 하둡 실행

인증키를 생성 후 하둡을 실행했습니다.

"jps" 명령어로 node 프로세스가 동작하는 것을 확인 할 수 있습니다.

$ ssh-copy-id -i .ssh/id_rsa.pub manager@localhost
$ hadoop namenode -format
$ start-dfs.sh
$ jps

 

 

Hadoop 테스트 예제


 

Hadoop 정상 작동 테스트 예제에 사용 할 파일입니다 !

하둡이 설치된 서버에 해당 파일이 있어야 합니다.

XFTP로 옮겨주세요 !

CHANGES.txt
0.43MB
WordCount.jar
0.00MB

 

 

WordCount.jar : txt 파일의 단어 개수를 mapreduce로 분류하여 출력해주는 프로그램.

 

HDFS에 파일 올리기

$ hadoop fs -mkdir -p /wordcount/input
$ hadoop fs - put CHANGES.txt /wordcount/input
$ hadoop fs -ls  /wordcount/input

CHANGES.txt 파일이 올라간 것을 확인.

 

jar 실행

$ hadoop jar WordCount.jar com.care.WordCount.WordCount /wordcount/ouput
$ hadoop fs -cat /wordcount/output/part-00000

part-0000

위의 사진처럼 나온다면 hadoop이 정상 설치되어 작동 되고 있음을 확인할 수 있습니다.

결과 파일은 part-00000파일로 생성됩니다.

 

 

 

[참조]

인하공업전문대학 컴퓨터정보과