본문 바로가기

Tech/Hadoop

[Hadoop] hadoop 3.3.3 버전 docker로 설치하기

 

GitHub - kangprog/hadoop_cluster_tutorial: 하둡클러스터 튜토리얼

하둡클러스터 튜토리얼. Contribute to kangprog/hadoop_cluster_tutorial development by creating an account on GitHub.

github.com

 

예전에 docker 형태로 구축했었던 hadoop을 가지고, 버전업데이트를 해보면서

  • hadoop 2.9.2 버전 → 3.3.3 버전
  • zookeeper 3.4.9 버전 → 3.8.0 버전

마주한 문제는 아래와 같다.

 

zookeeper 설치 시 압축 파일명이 바꼈다.

3.4.9 버전에서는 zookeeper-$ZOOKEEPER_VERSION.tar.gz이였는데,

3.8.0 버전에서는 apache-zookeeper-$ZOOKEEPER_VERSION.tar.gz으로 바뀌었다.

 

버전 업 후, hadoop cluster를 실행시키는데

namenode, HQuorumPeer, DFSZKFailoverController가 정상적으로 실행되지 않았다.

로그들을 확인해보니, zookeeper 로그 중에 아래와 같은 로그를 확인했다.

 

Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain

구글링을 좀 해보니, 해결 방법 중에

apache-zookeeper-$ZOOKEEPER_VERSION.tar.gzapache-zookeeper-$ZOOKEEPER_VERSION-bin.tar.gz

으로 설치를 하면 해결이 된다는 글이 있었다.

그래서 Dockerfile을 수정하고 다시 설치 후, 동작 시켰더니 실행 잘됨.

 

Starting Zookeeper Cluster. Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain

(I'm running on CentOS 5.8). I've been following the direction for a Clustered (Multiserver) Zookeeper Set-up, but getting an error when I try to start up my server. When I run the command as descr...

stackoverflow.com

 

namenode, datanode 컨테이너들이 올라온것을 확인하고,

yarn UI로 들어가서 확인했더니, Active Nodes가 1인것을 확인했다.

(실제 띄운 노드는 namenode 2, datanode 3)

이유를 확인해보니, nodemanager가 datanode에서 다 실행되고 있지 않았다.

그래서 $HADOOP_HOME/sbin/yarn-daemon.sh start nodemanager 를 사용하여 실행 시켜줌.

(entrypoint.sh에 추가)

 

이렇게 정상적으로 전부 실행되었다.!

반응형