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

Reply via email to