现象
Trafodion安装完成后,做数据库初始化直接退出,如下
>>initialize trafodion;
Killed
通过查看日志,从trafodion.dtm.log中发现以下错误,
Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.DoNotRetryIOException): org.apache.hadoop.hbase.DoNotRetryIOException: Class org.apache.hadoop.hbase.coprocessor.transactional.TrxRegionEndpoint cannot be loaded Set hbase.table.sanity.checks to false at conf or table descriptor if you want to bypass sanity checks
at org.apache.hadoop.hbase.master.HMaster.warnOrThrowExceptionForFailure(HMaster.java:1707)
at org.apache.hadoop.hbase.master.HMaster.sanityCheckTableDescriptor(HMaster.java:1568)
at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1497)
at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:468)
at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:55682)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2170)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:109)
at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)
at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)
at java.lang.Thread.run(Thread.java:745)
分析
上述错误信息已经很明显了,“Set hbase.table.sanity.checks to false at conf or table descriptor if you want to bypass sanity checks”,和hbase sanity check有关
解决
从CDH Manager的HBase配置下添加以下配置,也可以直接在hbase-site.xml中添加以下配置
<property>
<name>hbase.table.sanity.checks</name>
<value>false</value>
</property>