Database - Hadoop 다시 깔고^^ wordcount 예제 실행(homebrew 사용 안 함)

HyojinKo·2022년 11월 1일
0

Database

목록 보기
2/2

제가 hadoop을 10번 넘게 깔았다 지웠다 한 사람으로 보이나요?
네..
버전 호환이 너무 안되고,, datanode에서 자꾸 오류가 나길래 homebrew가 아닌.. wget을 사용해주었습니다

1. hadoop tar file 다운로드

https://archive.apache.org/dist/hadoop/common/
이 링크로 접속하시면

이런 어지러운 사이트가 뜨는데요
저는 가장 최신 버전인 hadoop-3.3.4를 다운 받아 줬습니다.
hadoop-3.3.4/를 클릭해준 후,

위 리스트에서 원하는 파일의 "링크"를 복사해줍니다!!
그 이후, 터미널에서 wget을 사용해 다운 받아줄건데요, 아래 코드의 3.3.4 부분엔 각자 다운 받으신 버전을 넣어주면 됩니당

# tar.gz 파일 다운
$ wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz

# 압축해제
$ tar xvfz hadoop-3.3.4.tar.gz

# 경로 설정
# mv hadoop-[버전] [원하는 경로]
$ mv hadoop-3.3.4 /Users/kohyojin/Desktop/SoftWare/software2022/semester2/Database2/Hadoop/hadoop-3.3.4

# tar.gz 파일 삭제
# rm hadoop-[버전].tar.gz
$ rm hadoop-3.3.4.tar.gz

환경 구축

다시 cd를 눌러 터미널로 돌아와서, 경로를 설정해줍니다.

$ vi ~/.zshrc

앞 포스트에서 JAVA_HOME의 위치는 확인 하셨죠? 그 위치를 다시 가져와 사용해줍니다!
zshrc 파일을 수정하기 위해서는 i(insert) 버튼을 누르고 맨 마지막 줄에 밑의 코드를 추가해 줍니다.

# export JAVA_HOME = [JAVA 경로] 
# export HADOOP_HOME = [앞서 HADOOP의 압축을 해제한 경로]

$ export JAVA_HOME="/Users/kohyojin/Library/Java/JavaVirtualMachines/openjdk-16.0.1/Contents/Home"
$ export CLASS_PATH="."

$ export HADOOP_HOME="/Users/kohyojin/Desktop/SoftWare/software2022/semester2/Database2/Hadoop/hadoop-3.3.4"
$ export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

위 코드를 추가했으면 esc 누르고 :wq로 저장!
다음으로

$ source ~/.zshrc

로 설정을 마쳐줍니다

실행

위에서 HADOOP_HOME 경로를 설정해 주었기 때문에 그대로 실행을 해주는데요, 그 전에 input directory를 생성해줍니다

$ cd $HADOOP_HOME

# input directory 생성
$ mkdir input
$ cp etc/hadoop/*.xml input

이후 wordcount 예제를 수행할 text file을 input dir에 넣어줍니다

# hdfs dfs -put [텍스트 파일 이름].txt ../input
$ hdfs dfs -put news.txt ../input

wordcount 실행!(여기서 꼭 각자 버전으로 바꿔주기)

$ hadoop har share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount ../input ../output

output 파일 확인

$ hdfs dfs -ls ../output

위 코드를 입력해주면 part-r-00000라는 파일이 생성된 것을 볼 수 있는데요,
이걸 확인해볼까요?

$ hdfs dfs -cat ../output/part-r-00000

아직 text cleaning이 진행되지 않은 파일이라 그런지 결과가 깔끔하진 않지만, word count가 정상적으로 수행된 것을 알 수 있습니다. 성공!!

profile
재밌나?

0개의 댓글