Hi everyone, I am currently trying to set up an Hbase 0.98.9 cluster to run against a Hadoop 2.6.0 HDFS filesystem. The problem is, according to http://hbase.apache.org/book.html#basic.prerequisites :
In distributed mode, it is critical that the version of Hadoop that is out on your cluster match what is under HBase. Replace the hadoop jar found in the HBase lib directory with the hadoop jar you are running on your cluster to avoid version mismatch issues. Make sure you replace the jar in HBase everywhere on your cluster. Hadoop version mismatch issues have various manifestations but often all looks like its hung up. When I tried replacing the lib/hadoop.*.jar files that came with Hbase, and which are labeled as version 2.2.0, with their 2.6.0 counterparts, I encountered this error starting up a brand new Hbase master: @4000000054d9777010e182a4 2015-02-10T03:13:42.283+0000 DEBUG master.ActiveMasterManager A master is now available @4000000054d97770113b9d0c 2015-02-10T03:13:42.288+0000 INFO Configuration.deprecation fs.default.name is deprecated. Instead, use fs.defaultFS @4000000054d97770140e50c4 2015-02-10T03:13:42.334+0000 FATAL master.HMaster Unhandled exception. Starting shutdown. @4000000054d97770140e54ac java.lang.IllegalStateException @4000000054d97770140e5894 at com.google.common.base.Preconditions.checkState(Preconditions.java:133) @4000000054d97770140e5894 at org.apache.hadoop.ipc.Client.setCallIdAndRetryCount(Client.java:117) @4000000054d97770140e5c7c at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:99) @4000000054d97770140e5c7c at com.sun.proxy.$Proxy19.setSafeMode(Unknown Source) @4000000054d97770140eaa9c at org.apache.hadoop.hdfs.DFSClient.setSafeMode(DFSClient.java:2430) @4000000054d97770140eae84 at org.apache.hadoop.hdfs.DistributedFileSystem.setSafeMode(DistributedFileSystem.java:1036) @4000000054d97770140eae84 at org.apache.hadoop.hdfs.DistributedFileSystem.setSafeMode(DistributedFileSystem.java:1020) @4000000054d97770140eb26c at org.apache.hadoop.hbase.util.FSUtils.isInSafeMode(FSUtils.java:447) @4000000054d97770140ebe24 at org.apache.hadoop.hbase.util.FSUtils.waitOnSafeMode(FSUtils.java:895) @4000000054d97770140ec20c at org.apache.hadoop.hbase.master.MasterFileSystem.checkRootDir(MasterFileSystem.java:442) @4000000054d97770140ec20c at org.apache.hadoop.hbase.master.MasterFileSystem.createInitialFileSystemLayout(MasterFileSystem.java:153) @4000000054d97770140ed97c at org.apache.hadoop.hbase.master.MasterFileSystem.<init>(MasterFileSystem.java:129) @4000000054d97770140edd64 at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:881) @4000000054d97770140edd64 at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:684) @4000000054d97770140edd64 at java.lang.Thread.run(Thread.java:724) @4000000054d97770140ee14c 2015-02-10T03:13:42.336+0000 INFO master.HMaster Aborting @4000000054d977701410d934 2015-02-10T03:13:42.336+0000 DEBUG master.HMaster Stopping service threads Putting the 2.2.0 Hadoop jars back into HBase’s lib/ directory to replace the 2.6.0 ones allowed HBase master to run again. The documentation does not mention that 0.98.9 supports 2.6.0 (it lists ’S’ for up to 2.5.x). Does this mean that we cannot run HBase against 2.6.0 HDFS at the moment? Has anyone managed to do this? I’ve also tried building HBase from source against 2.6.0, and then replacing the lib/hbase*.jar files accordingly whilst keeping those hadoop.*2.6.0.jar files, but I still have the same problem. Thank you! Regards, Tong
