[Hadoop] 맵리듀스 프로그래밍 실행, hdfs 명령어 정리

프로그램 실행

bin/hadoop jar [jar파일 위치.jar] [프로그램이름] input output

bin/hadoop은 bin/yarn과 같은 명령어

bin/yarn jar ~. 형식으로도 실행가능

HDFS 입력/출력 살펴보기

bin/hdfs dfs -ls input
bin/hdfs dfs -ls output

 

hdfs 명령어는 리눅스 명령어와 유사하게 사용

# hdfs상에 input이 들어갈 폴더 만들기
# 하둡 폴더로 이동
cd hadoop-3.3.4/
# hdfs [subcommand] [
bin/hdfs dfs -mkdir input
# 'hdfs://127.0.0.1:9000/user/[username]':No such file or directory 에러 발생
# 초기화한 뒤 아직 아무 작업도 하지 않은 상태
# admin역할을 할 user 폴더 만들기
bin/hdfs dfs -mkdir /user
bin/hdfs dfs -mkdir /user/[username]
bin/hdfs dfs -mkdir input
# 파일 생성 확인
bin/hdfs dfs -ls  # 내 홈디렉토리 밑에 생성
# 테스트용 입력파일 만들기
vi words.txt
the brave yellow lion the lion ate the cow now the lion is happy
# 로컬 시스템에 있는 파일을 hdfs로 업로드(input 디렉토리)
bin/hdfs dfs -put words.txt input
# 잘 옮겨졌는지 nput디렉토리에서 확인
bin/hdfs dfs -ls input
# WordCount프로그램(내가 미리 만들어둔 파일) 실행
bin/hadoop jar [jar파일 위치.jar] [프로그램이름] input output # 개발자의 홈디렉토리 기준
# mapreduce.job 실행됨
# 결과 확인
/bin/hdfs dfs -ls output
# output/_SUCCESS
# output/part-r-00000	 # 실제 출력이 들어간 파일
bin/hdfs dfs -cat output/part-r-00000

 

참고

https://wooono.tistory.com/344

https://blog.voidmainvoid.net/175