설치 환경
아래의 프로그램들이 준비되어야 합니다.
- 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
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의 IP와 Port가 됩니다.
$ 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로 옮겨주세요 !
WordCount.jar : txt 파일의 단어 개수를 mapreduce로 분류하여 출력해주는 프로그램.
HDFS에 파일 올리기
$ hadoop fs -mkdir -p /wordcount/input
$ hadoop fs - put CHANGES.txt /wordcount/input
$ hadoop fs -ls /wordcount/input
jar 실행
$ hadoop jar WordCount.jar com.care.WordCount.WordCount /wordcount/ouput
$ hadoop fs -cat /wordcount/output/part-00000
위의 사진처럼 나온다면 hadoop이 정상 설치되어 작동 되고 있음을 확인할 수 있습니다.
결과 파일은 part-00000파일로 생성됩니다.
[참조]
인하공업전문대학 컴퓨터정보과
'Study > clolud' 카테고리의 다른 글
[클라우드컴퓨팅] HDFS & MapReduce (0) | 2022.10.15 |
---|---|
[클라우드컴퓨팅] 클라우드 서비스 관련 개념 (2) | 2022.09.07 |