얼마전 네이버 mongodb 웨비나를 듣다가 누군가 채팅창에 질문하길, 네이버 로그 서버는 뭘 쓰시나요? 물었더니 담당자가 hbase 를 쓴다고 했다. 하둡 기반의 nosql db인데 마침 새로 개발중인 시스템에도 로그 서버 도입을 검토중이기도 하고 네이버도 쓴다니 관심이 가서 테스트 해 보기로 했다.
설치가 어렵지는 않다. 파일 다운 받아서 압축 풀고 설정만 맞춰주면 된다. 설치 방법이 세 가지 정도 있던데 가장 기본이 서버 한대, 데몬 하나에서 돌아가는 Standalone 모드가 있고Pseudo-Distributed, Fully Distributed 모드가 있다고 한다. 테스트 단계이니 당연히 standalone 모드로 설치했다.
그런데 설치하고 나서 데몬을 올리면 얼마후 데몬이 자꾸 죽는다. 로그를 보면 region server 를 못 찾는다는 알 수 없는 에러만 계속 나온다. standalone 모드에서는 서버 한대에서 돌아가는거라 region server 가 필요없는데, 오류 내용을 검색해봐도 원일을 찾을 수가 없다.
이것 저것 해 봐도 잘 안된다. /etc/hosts 를 맞춰줘야 한다고 해서 해 봐도 안된다. hbase 못 쓰겠네 하고 포기하려다 마지막으로 혹시 os 문제일지 모르니 centos7에 설치해 보기로 했다. 테스트 하던 os는 ubuntu 이다.
그런데 왠걸, centos7 에서는 아주 잘 된다. os 문제인가? 그럴리가. ubuntu 가 centos 보다 나쁜 os 도 아닌데. 공식 문서를 좀 더 찾아보니 아래와 같은 내용이 있다.
음, 이걸 보고 확인해 보니 아래와 같은 차이가 있었다.
ubuntu : openJDK 16centos : openJDK 8
데몬이 죽던 ubuntu 의 openjdk를 8로 다운그레이드하고 hbase 데몬을 실행하니 잘 된다. 이래서 공식 문서를 끝까지 잘 봐야 된다.
원인 : openJDK 버전 문제
# 참조