회사에 입사하고 하둡 서버라고 불리는 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
/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
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>
<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>
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>
vi $HADOOP_CONFIG_HOME/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
hadoop namenode -format
start-all.sh
jps
====================
1074 NodeManager
1171 Jps
259 ResourceManager
885 SecondaryNameNode
619 NameNode
735 DataNode
====================
# 디렉토리 만들기
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/*