반응형

1. 리눅스 설치(CentOS)

$ docker search centos

$ docker pull centos

$ docker run -it --name hadoop centos /bin/bash

 

2. wget, vim 설치

[hadoop] yum install wget -y && yum install vim -y

 

아래와 동일한 에러가 발생할 경우 클릭

Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

 

3. Java 설치

$ yum install java-1.8.0-openjdk-devel.x86_64 -y

$ java -version

openjdk version "1.8.0_312"

OpenJDK Runtime Environment (build 1.8.0_312-b07)

OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

 

4. java 환경변수 설정

$ which java

/usr/bin/java

$ readlink -f $(which java)

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java

$ vi ~/.bashrc

# java
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_OPTS="-Dfile.encoding=UTF8"
export CLASSPATH="."

5. Hadoop 설치 (독립 실행 모드)

1) 폴더 만들기

$ mkdir /hadoop_home
$ cd /hadoop_home

 

2) 다운로드
$ wget https://mirrors.sonic.net/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz

 

3) 압축 풀기

$ tar xvzf hadoop-3.3.1.tar.gz

 

4) 환경변수 설정

$ vi ~/.bashrc

# hadoop
export HADOOP_HOME=/hadoop_home/hadoop-3.3.1
export HADOOP_CONFIG_HOME=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

5) 설치 확인

$ hadoop version

Hadoop 3.3.1
Source code repository https://github.com/apache/hadoop.git -r a3b9c37a397ad4188041dd80621bdeefc46885f2
Compiled by ubuntu on 2021-06-15T05:13Z
Compiled with protoc 3.7.1
From source with checksum 88a4ddb2299aca054416d6b7f81ca55
This command was run using /hadoop_home/hadoop-3.3.1/share/hadoop/common/hadoop-common-3.3.1.jar

6. Mapreduce 사용

$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount $HADOOP_HOME/LICENSE.txt wordcount_output

-> hadoop-mapreduce-examples-3.3.1.jar 파일에 wordcount를 이용하여, LICENSE.txt 의 파일내용의 단어를 count하여 결과값을 wordcount_output 폴더에 넣어 줄 것이다.

 

$ ls -ltr

drwxr-xr-x  2 root root      4096 Jun 21 12:48 wordcount_output

$ cd wordcount_output

$ ls -ltr

-rw-r--r-- 1 root root 9894 Jun 21 12:46 part-r-00000

-rw-r--r-- 1 root root    0 Jun 21 12:46 _SUCCESS

-> 결과 값은 part-r-00000에 존재한다.

 

7. 더 자세한 내용은 여기에서 확인

https://mungiyo.tistory.com/16

반응형

'BigData > Hadoop' 카테고리의 다른 글

hadoop 설치 & single node  (0) 2021.07.22
반응형

0. 환경

 - vmware fusion 12 (개인계정은 무료)

 - root 계정에서 작업함.

 

1. java 설치

- 호환성 관계로 Java 8 설치

- https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

- 압축을 푼 후 폴더명 변경(jdk-8u301-linux -> jdk1.8)

- /usr/local 로 통채로 폴더 이동

- jdk1.8 안에 바로 bin폴더가 있어야 함. 혹시 폴더를 한번 더 감싸고 있다면 전체 폴더및파일을 앞으로 가져오라

 

2. vi /etc/profile

export JAVA_HOME=/usr/local/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_OPTS=“-Dfile.encoding=UTF-8”
export CLASSPATH=“.”

$source /etc/profile

$java -version

 

3. hadoop 3.3.1 설치

- https://hadoop.apache.org/releases.html

- 압축을 푼 후 /home/사용자계정 으로 붙여넣기함.

 

4. vi /etc/profile

export HADOOP_HOME=/home/사용자계정/hadoop-3.3.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root -> SECONDARAYNAMENODE로 입력해서 계속 에러가 났었음
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

$source /etc/profile

$hadoop version

 

5. 단어세기 프로그램 실행

$hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount $HADOOP_HOME/etc/hadoop/hadoop-env.sh wordcount_output

$vi ./wordcount_output/part-r-00000

 

 

# Single Node Cluster

1. ssh 설치

$ yum install openssh

$ /usr/sbin/sshd

$ ssh-keygen -t rsa -P “”

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

$ ssh localhost

……systemctl enable —now cockpit.socket
Last login: Mon Aug 31 16:50:09 2021

위 처럼 나오면 접속 성공

$ exit 빠져 나오기

 

2. hadoop 환경설정

$ vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

# variable is REQUIRED on ALL platforms except OS X!
export JAVA_HOME=/usr/local/jdk1.8

$ vi $HADOOP_HOME/etc/hadoop/core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

$ vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

3. 하둡 실행

$ hdfs namenode -format

$ start-all.sh

$ jps -> 프로세스 확인 명령어

 

* 데이터 노드가 표기가 되지 않았다면 다시 실행한다.

$ rm -rf /tmp/hadoop-root/dfs/data/
$ stop-all.sh
$ start-all.sh
$ jps

4. hadoop 폴더 생성

$ hdfs dfs -mkdir /user

$ hdfs dfs -mkdir /user/root

$ hdfs dfs -mkdir /user/root/conf

$ hdfs dfs -mkdir /input ->분석할 파일넣는 곳

$ hdfs dfs -copyFromLocal /home/사용자계정/hadoop-3.3.1/README.txt /input -> README.txt 파일을 분석하기위해 input폴더에 넣음.

$ hdfs dfs -ls /input

 

5. wordcount 실행

$ hdfs jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /input/README.txt ~/wordcount-output

 

$ hdfs dfs -ls ~/wordcount-output

$ hdfs dfs -cat ~/wordcount-output

반응형

'BigData > Hadoop' 카테고리의 다른 글

[Docker] CentOS에 Hadoop 설치하기  (0) 2022.06.20

+ Recent posts