하둡 기반 시스템에서 HBase를 구축하려고 하는데 이전에 설치했던 경험을 토대로 그대로 진행했는데 HMaster가 자꾸만 안올라간다.
로그를 찍어보니 다음과 같다.
(...중략)
2018-10-16 17:44:01,922 INFO [main] ipc.NettyRpcServer: Bind to /127.0.1.1:16000
2018-10-16 17:44:01,958 INFO [main] hfile.CacheConfig: Allocating onheap LruBlockCache size=1.54 GB, blockSize=64 KB
2018-10-16 17:44:01,962 INFO [main] hfile.CacheConfig: Created cacheConfig: blockCache=LruBlockCache{blockCount=0, currentSize=1.15 MB, freeSize=1.54 GB, maxSize=1.54 GB, heapSize=1.15 MB, minSize=1.46 GB, minFactor=0.95, multiSize=747.36 MB, multiFactor=0.5, singleSize=373.68 MB, singleFactor=0.25}, cacheDataOnRead=true, cacheDataOnWrite=false, cacheIndexesOnWrite=false, cacheBloomsOnWrite=false, cacheEvictOnClose=false, cacheDataCompressed=false, prefetchOnOpen=false
2018-10-16 17:44:01,963 INFO [main] hfile.CacheConfig: Created cacheConfig: blockCache=LruBlockCache{blockCount=0, currentSize=1.15 MB, freeSize=1.54 GB, maxSize=1.54 GB, heapSize=1.15 MB, minSize=1.46 GB, minFactor=0.95, multiSize=747.36 MB, multiFactor=0.5, singleSize=373.68 MB, singleFactor=0.25}, cacheDataOnRead=true, cacheDataOnWrite=false, cacheIndexesOnWrite=false, cacheBloomsOnWrite=false, cacheEvictOnClose=false, cacheDataCompressed=false, prefetchOnOpen=false
2018-10-16 17:44:02,076 ERROR [main] regionserver.HRegionServer: Failed construction RegionServer
java.lang.NoClassDefFoundError: org/apache/htrace/SamplerBuilder
at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:635)
at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:619)
at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:149)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2669)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295)
at org.apache.hadoop.hbase.util.CommonFSUtils.getRootDir(CommonFSUtils.java:358)
at org.apache.hadoop.hbase.util.CommonFSUtils.isValidWALRootDir(CommonFSUtils.java:407)
at org.apache.hadoop.hbase.util.CommonFSUtils.getWALRootDir(CommonFSUtils.java:383)
(...후략)
구글링 해서 나온 hortonworks, cloudera 쪽 해결법은 다 시도해봤는데 안되었다.
뭐가 문제일까 고민하던 중 stackoverflow의 질문답변 중 댓글에 적힌 내용이 있었다. (link)
htrace-어쩌구.jar 의 버전이 안맞아서 그렇다는 것이다. 그래서 hbase의 라이브러리 디렉토리에서 해당 jar를 찾아서 교체해주는 시도를 해봤는데 여전히 해결이 안되었다.
근데 잘 읽어보니 hadoop lib를 갖다 쓰는 모양이었다. 그래서 hadoop lib에서 바꿔주니 해결이 되었다.
Solution.
원인
HBase가 시작될 때 $HADOOP_HOME/share/hadoop/common/lib 에서 htrace-core-3.1.0-incubating.jar를 찾지 못할 때 발생
해결
$HBASE_HOME/lib/client-faicing-thirdparty/ 아래에 있는 htrace-core-3.1.0-incubating.jar 를 $HADOOP_HOME/share/hadoop/common/lib에 복사
'Cloud, Bigdata, AI > Big Data Analysis' 카테고리의 다른 글
[PySpark] PyCharm에서 PySpark 연동하여 사용하기 (2) | 2019.03.29 |
---|---|
[Bigdata] Hadoop, Spark, Zeppelin 연동 시스템 구축 (15) | 2018.10.15 |
[Hadoop] 하둡 예제 실행 삽질기 (1) | 2017.09.28 |
[Hadoop] 하둡 설치 삽질기 (1) | 2017.09.21 |