1. hdfs namenode -format
오류
오류: JAVA_HOME is not set and could not be found
해결: hadoop/etc/hadoop
의 hadoop-env.sh
에서 JAVA_HOME
경로 설정 (경로 설정에서도 여러 번의 시도가 있었음)
2. jps
했을 때 5개가 아닌 1개만 보임
다음과 같이 ResourceManager
만 나옴
원인: start-dfs.sh
와 start-yarn.sh
할 때 오류가 발생했었음
3. dfs
실행시 아래와 같이 가 발생
오류: rcmd socket permission denied
해결: ~/.bashrc 에 export PDSH_RCMD_TYPE=ssh 추가
(시행착오)-> 그 후에도 똑같음 => source ~/.bashrc 통해 적용 했어야함
여기까지 했을 때 Namenode에서 오류가 났음을 볼 수 있음
4. namenode
만 뜨지 않음
해결: bin 에서 hdfs namenode -format 다시 진행 -> sbin에서 stop-all.sh로 다 종료 시킨 후에 다시 실행
성공!
5. Wordcount를 실행하였을 때 output에 파일 형성되지 않음
이런 오류 뜨는거 같지만 output 폴더는 만들어짐
오류: could not find or load main class org.apache.hadoop.mapred.yarnchild
=> output 폴더가 비어있음. 잘 안된거지
해결: mapred-site.xml 에
넣어서 해결
=> 이렇게 하면 작은 사이즈의 데이터로는 wordcount 실행 가능
6. 672MB 크기 정도의 대용량 데이터 wordcount 실행하였을 때 오류
hadoop jar ./wordcount.jar WordCount /user/jiyeon/wordcount/input /user/jiyeon/wordcount/output
WordCount 실행 코드
원인: YARN이 컨테이너를 할당함으로써 각 애플리케이션에 처리 용량을 제공. 현재는 컨테이너에 메모리가 부족하여 YARN이 자동으로 컨테이너를 종료. 이로 인한 오류 발생.
오류: Container killed on request. Exit code is 137
해결: yarn-site.xml 파일에 다음을 추가
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
처음 추가하였을 때는 오류가 해결되지 않았어서 헤맸었음
stop-all.sh
로 종료하고 start-all.sh
로 다시 hadoop을 실행한 후 wordcount 작업을 하였더니 첨부한 것과 같이 문제 없이 mapreduce가 작동