[de] Hadoop 설치

2023. 9. 5. 23:05data engineer/big data

약 1년 전 1개월의 짧은 빅데이터 인력 양성교육 과정이 끝나고

추가적으로 빅데이터 저장 처리하는 Hadoop + Spark 에 대해 알려주신적 있다!

아니나 다를까, 설치과정부터 에러나서 포기했는데 

 

이번에 KDT를 들으면서 엔지니어링의 하이라이트 !!!

Ubuntu + Linux + Hadoop + Spark + ...  실습을 열나게 하는중이다~~  

 

그래서 오늘 정리할 내용은 

리눅스서버에 hadoop 설치하고 실행하는 과정
(java, python 사전 설치 필요)

1단계

  • apt update & upgrade
  • Key 발급 받기
  • java와 python 설치 후 확인 
sudo apt update //업데이트
sudo apt install openssh-server -y //

//sudo apt install openssh-client -y

sudo apt install ssh-askpass -y

// -P 뒤에 single quatation 2개 (키 생성)
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 
chmod 0600 ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

//java 확인
java --version
javac --version

//python 설치
python -V
python3 -V

키 발급 완료

2단계

  • 하둡 설치 후 압축해제
  • 하둡 symbolic link 걸어주기
    • 링크가 잘 걸렸다면 하늘색 색상으로 바뀜
//하둡 설치 및 압축 풀기
wget [하둡주소]
tar xvzf hadoop[풀네임 자동완성]

//심볼릭 링크 걸기
ln -s hadoop-3.3.6 hadoop

 

3단계

part 1. Hadoop 관련 경로 설정하기 (추가중)

//hadoop, hadoop user PATH 설정
vim ~/.bashrc

# hadoop
export

# hadoop user
export 


//경로파일 저장 후 적용
source ~/.bashrc

 

 

part2. HADOOP_CONF_DIR

경로 설정 이후 HADOOP_CONF_DIR dir에서 각 파일(5개, 4개:spark 연결시)에 들어가서

<configuration>

여기에

</cofiguration> 아래  내용 추가

(해당 코드에서 계정명은 guest로 지정했습니다)

  • hadoop-env.sh
  • core-site.xml
  • hdfs-site.xml
  • mapred-site.xml
  • yarn-site.xml

 

1. hadoop-env.sh

vim hadoop-env.sh
//54th line
export JAVA_HOME=/home/guest/java
//58th line
export HADOOP_HOME=/home/guest/hadoop
//68th line 주석해제
//198th line
export HADOOP_PID_DIR=$HADOOP_HOME/pids

2. core-site.xml

vim core-site.xml

<property>
		<name>fs.defaultFS</name>
		<value>hdfs://localhost:9000</value>
</property>

주석아님

 

3. hdfs-site.xml

vim hdfs-site.xml

<property>
		<name>dfs.replication</name>
		<value>1</value>
</property>
<property>
		<name>dfs.namenode.name.dir</name>
		<value>/home/guest/hadoop/namenode_dir</value>
</property>
<property>
		<name>dfs.datanode.data.dir</name>
		<value>/home/guest/hadoop/datanode_dir</value>
</property>
<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>localhost:9868</value>
</property>

4. mapred-site.xml

vim mapred-site.xml

<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
</property>
<property>
		<name>yarn.app.mapreduce.am.env</name>
		<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
		<name>mapreduce.map.env</name>
		<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
		<name>mapreduce.reduce.env</name>
		<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>

5. yarn-site.xml

<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
</property>
<property>
		<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
		<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

모든 파일 저장 후 

 

4단계

  • namenode 올리기
  • datanode 올리기
  • start-all.sh
  • jps
//home directory로 
cd

//namenode, datanode 올리기
hdfs namenode -format
hdfs datanode -format

//시간걸림
start-dfs.sh
start-yarn.sh
start-all.sh //위에 두 코드를 한번에

//jps 포함 6개 뜨면 성공
jps

stop-dfs.sh
stop-yarn.sh
stop-all.sh

연결 성공하면 Live datanodes (1)

웹에서 localhost:9870, 8088 실행하면 해당 페이지가 보임

 

5단계 : 제일 중요!!

  • 실습하는 학생들에게만 해당
  • 안전하게 끄기!!
stop-dfs.sh
stop-yarn.sh
stop-all.sh //한번에 처리

 

'data engineer > big data' 카테고리의 다른 글

[de] Spark on hadoop  (0) 2023.09.10