하둡 클러스터 도전기(1) - stand alone 설치

code_able·2023년 2월 10일
0

hadoop

목록 보기
1/1

회사에 입사하고 하둡 서버라고 불리는 4대의 서버가 있었다.
하둡이 있었지만 내 예상으로 이미 5년 전 쯤 RIP한 상태였다.
상냥하게도 5년이 지난 지금도 사람들은 하둡 서버라고 불러 주고 있다.

그래서

5년만에 쓰잘데기 없는 하둡 에코시스템 관련 프로세스를 전부 처리하고
DOCKER로 새 인생을 창조해 주고자 한다.

까불지 말았어야 했다.

먼저 개인 노트북에 STAND ALONE을 해보고자 한다.

기본 이미지 설치 및 실행

sudo docker pull ubuntu:20.04
sudo docker run -ti --name hadoop-base ubuntu:20.04 /bin/bash

패키지 설치

apt-get update
apt-get -y install language-pack-ko -y
apt-get install vim -y
apt-get install wget -y
apt-get install openssh-server -y
apt-get install openssh-client -y
apt-get install  openssh-askpass -y
apt-get install openjdk-8-jdk -y

환경 변수 설정

vi ~/.bashrc

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
export HADOOP_HOME=/hadoop_home/hadoop-2.7.7
export HADOOP_CONFIG_HOME=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

source ~/.bashrc

ssh 실행

/usr/sbin/sshd

폴더 구성

mkdir /hadoop_home
cd /hadoop_home
mkdir temp
mkdir namenode
mkdir datanode

하둡 설치

wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
tar -xvzf hadoop-2.7.7.tar.gz
rm hadoop-2.7.7.tar.gz

core-site.xml

vi $HADOOP_CONFIG_HOME/core-site.xml

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/hadoop_home/temp</value>
    </property>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://master:9000</value>
        <final>true</final>
    </property>
		<property>
			  <name>hadoop.proxyuser.hadoop.groups</name>
			  <value>*</value>
		</property>
		<property>
			  <name>hadoop.proxyuser.hadoop.hosts</name>
			  <value>*</value>
		</property>
</configuration>

hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
        <final>true</final>
    </property>

    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/hadoop_home/namenode</value>
        <final>true</final>
    </property>

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/hadoop_home/datanode</value>
        <final>true</final>
    </property>
</configuration>

mapred-site.xml

cp $HADOOP_CONFIG_HOME/mapred-site.xml.template $HADOOP_CONFIG_HOME/mapred-site.xml
vi $HADOOP_CONFIG_HOME/mapred-site.xml

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>localhost:9001</value>
    </property>
</configuration>

hadoop-env.sh

vi $HADOOP_CONFIG_HOME/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64

namenode 포맷

hadoop namenode -format

하둡 실행

start-all.sh

프로세스 확인

jps 

====================
1074 NodeManager
1171 Jps
259 ResourceManager
885 SecondaryNameNode
619 NameNode
735 DataNode
====================

word coount 실행하기

# 디렉토리 만들기
hadoop fs -mkdir -p /test
# 데이터 넣기
hadoop fs -put LICENSE.txt /test
# 데이터 확인하기
hadoop fs -ls /test
# 맵리듀스 확인
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /test /test_out
# 결과 확인
hadoop fs -cat /test_out/*
profile
할수 있다! code able

0개의 댓글