Yarn architecture(State Machine)
우선 "State Machine"이 무엇인지는 다른 좋은 블로그에서 충분히 봤을것 같다는 생각이 들어 바로 본론으로 들어갑니다.
시간이 없으신분들을 위해 완성된 .png 파일을 첨부합니다.
1. 하둡 소스코드의 최상단 디렉토리에서 다음의 명령어를 입력합니다.
mvn -Pvisualize compile
위 코드를 통해 ".gv" 파일이 생성됐을텐데 위 파일은 명령어를 실행시킨 폴더에 생성됩니다.
하지만, 아래와 같은 오류가 뜬다면 게시글 밑으로 가셔서 오류 고치시고 다시 하시면 됩니다.
"org.apache.maven.plugin.MojoExecutionException: protoc version is 'libprotoc 2.6.1', expected version is '2.5.0'"
build 끝난 후 그 자리에서 "ls" 입력하시면 다음과 같이 파일이 보입니다.
이게 ".gv" 파일은 ".png" 파일로 변환해주면 끝입니다. 명령어는 다음과 같습니다.
dot -Tpng MapReduce.gv > MapReduce.png #MapReduce
dot -Tpng NodeManager.gv > NodeManager.png #NodeManager
dot -Tpng ResourceManager.gv > ResourceManager.png #ResourceManager
끝! 다음은 하둡 state machine 이미지입니다.
1. MapReduce
2. NodeManager
3. ResourcerManager
오류해결법
"org.apache.maven.plugin.MojoExecutionException: protoc version is 'libprotoc 2.6.1', expected version is '2.5.0'"
위 오류는 protobuf의 낮은 버전(2.5.0)을 쓰지 않아서 생기는 오류입니다. (어이없.....)
protoc --version
위 명령어를 통해 protobuf의 버전을 확인해보시고, "libprotoc 2.5.0" 이런 글이 아닌 "libprotoc 2.6.1" 뜨신다면 다시 까셔야 합니다.
1. 우선 protobuf 가 설치돼있는 폴더로 이동합니다.
2. 다음의 명령어를 입력합니다.
sudo rm `which protoc`
(저는 테스트겸 2.5.0 을 삭제했지만, 오류가 발생하신분들은 기존에 깔려있던 폴더에서 명령어를 입력하시면됩니다.)
위 화면처럼 "protoc --version" 명령어를 입력했을 때 저런 문구가 나온다면 정상적으로 삭제된겁니다.
(사실 저는 삭제하고 다시 깔았는데, 삭제 안하고 깔아도 되는지는 잘 모르겠습니다.)
3. protobuf 2.5.0 버전 설치
아래 순서대로 진행하시면 됩니다.
wget http://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
tar xzvf protobuf-2.5.0.tar.gz
./autogen.sh #저는 이 명령어 입력안해서 계속 설치를 못했었습니다. 다른 블로그에는 없더라구요....
cd protobuf-2.5.0/
./configure --prefix=/usr
여기서 오류가 나시면(저 포함) 다음 명령어 입력하시면 됩니다.(오류 안나면 건너뛰고 make 명령어부터 다시 시작 하시면됩니다.)
apt-get install g++ pentium-builder #위 명령어에서 오류났을 때 설치
sudo make
sudo make install
여기까지 하시고 "protoc --version" 입력하시면 다음과 같이 나와야만 합니다.
'Hadoop' 카테고리의 다른 글
[Hadoop] 하둡 빌드하기(pom.xml) (0) | 2024.04.30 |
---|