我最近安装了用
编译的hadoop-2.4.0和hbase-0.95.18sudo mvn clean package assembly:assembly -DskipTests -Dhadoop.profile=2.4
使用下面的pom.xml选项。
<protobuf.version>2.5.0</protobuf.version>
和
<id>hadoop-2.4</id>
<activation>
<property>
<name>hadoop.profile</name>
<value>2.4</value>
</property>
</activation>
<properties>
<hadoop.version>2.4.0</hadoop.version>
<slf4j.version>1.7.5</slf4j.version>
这是我的hbase-site.xml信息。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://big7:54310/hbase</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>big11,big1,big4</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2222</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hduser/hadoop/zookeeper</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>
HMaster&amp; Zookeepers正在成功启动,但区域服务器尚未启动。我在主日志中遇到了以下错误。
2014 -05-09 16:11:59,030 INFO org.apache.hadoop.hbase.master.ServerManager: Registering server=big11,60020,1399632116991
2014 -05-09 16:11:59,038 INFO org.apache.hadoop.conf.Configuration.deprecation: fs.default.name is deprecated. Instead, use fs.defaultFS
2014 -05-09 16:11:59,041 INFO org.apache.hadoop.hbase.master.ServerManager: Waiting for region servers count to settle; currently checked in 1, slept for 100 ms, expecting minimum of 1, maximum of 2147483647, timeout of 4500 ms, interval of 1500 ms.
2014 -05-09 16:11:59,058 **ERROR org.apache.hadoop.hbase.master.HMaster: Region server \00\00big11,60020,1399632116991 reported a fatal error**:
**ABORTING region server big11,60020,1399632116991: Unhandled exception: Region server startup failed
Cause:
java.io.IOException: Region server startup failed**
at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:1279)
at org.apache.hadoop.hbase.regionserver.HRegionServer.handleReportForDutyResponse(HRegionServer.java:1136)
at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:758)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.UnsupportedOperationException: **This is supposed to be overridden by subclasses.**
at com.google.protobuf.GeneratedMessage.getUnknownFields(GeneratedMessage.java:180)
at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$RegionServerInfo.getSerializedSize(HBaseProtos.java:883)
at com.google.protobuf.AbstractMessageLite.toByteArray(AbstractMessageLite.java:62)
at org.apache.hadoop.hbase.regionserver.HRegionServer.createMyEphemeralNode(HRegionServer.java:1148)
at org.apache.hadoop.hbase.regionserver.HRegionServer.handleReportForDutyResponse(HRegionServer.java:1109)
... 2 more
2014 -05-09 16:11:59,768 INFO org.apache.hadoop.hbase.master.ServerManager: Registering server=big1,60020,1399632116879
2014 -05-09 16:11:59,777 ERROR org.apache.hadoop.hbase.master.HMaster: Region server \00\00big9,60020,1399632116855 reported a fatal error:
ABORTING region server big9,60020,1399632116855: Unhandled exception: Region server startup failed
Cause:
java.io.IOException: Region server startup failed
at org.apache.hadoop.hbase.regionserver.HRegionServer.convertThrowableToIOE(HRegionServer.java:1279)
at org.apache.hadoop.hbase.regionserver.HRegionServer.handleReportForDutyResponse(HRegionServer.java:1136)
at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:758)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.UnsupportedOperationException: This is supposed to be overridden by subclasses.
at com.google.protobuf.GeneratedMessage.getUnknownFields(GeneratedMessage.java:180)
at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$RegionServerInfo.getSerializedSize(HBaseProtos.java:883)
at com.google.protobuf.AbstractMessageLite.toByteArray(AbstractMessageLite.java:62)
at org.apache.hadoop.hbase.regionserver.HRegionServer.createMyEphemeralNode(HRegionServer.java:1148)
at org.apache.hadoop.hbase.regionserver.HRegionServer.handleReportForDutyResponse(HRegionServer.java:1109)
... 2 more
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
有两个使用2.4.0编译的.proto文件
$ HBASE_HOME / SRC /主/ protobuf的/ ErrorHandling.proto $ HBASE_HOME / src / main / protobuf / hbase.proto
由于您更改了protobuf.version,您是否使用protobuf-compiler版本2.5.0从.proto文件重新生成.java文件。这可能是问题之一。
您可以使用以下步骤执行此操作。
在$ HBASE_HOME / src / main / protobuf文件夹中运行以下命令 -
$&gt; protoc -I./ --java_out = src / main / java ErrorHandling.proto
$&gt; protoc -I./ --java_out = src / main / java hbase.proto
您可以按照here进行讨论,了解更多信息。