제가 hadoop을 10번 넘게 깔았다 지웠다 한 사람으로 보이나요?
네..
버전 호환이 너무 안되고,, datanode에서 자꾸 오류가 나길래 homebrew가 아닌.. wget을 사용해주었습니다
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가 정상적으로 수행된 것을 알 수 있습니다. 성공!!