现象
今天社区有位同学在用Ambari安装Trafodion成功后,使用sqstart启动Trafodion死活启不来,通过日志发现tm_xxx.log里面有如下错误信息,
java.lang.IllegalStateException: Could not instantiate a region instance.sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:423)
。。。
分析
HBase本身工作正常,TM进程启不来,猜测与CLASSPATH或JAR包有关,查看CLASSPATH均正常。
解决
查看hbase/lib下面的JAR,发现hbase-trx-xxx.jar及trafodon-utility-xxx.jar包只存在于DataNode上,NameNode上没有相关的JAR。
复制上述JAR到到NameNode对应的hbaes/lib目录下并重启HBase后,启动Trafodion成功。