java.lang.RuntimeException: HRegionServer Aborted问题

HBase时间同步异常处理
本文详细记录了一次HBase集群因时间不同步导致服务异常的案例,通过检查集群时间、配置时间服务器并重启HBase,成功解决了问题。
2018-10-20 20:38:01,799 INFO  [regionserver/linux02/192.168.3.21:16020] regionserver.HRegionServer: STOPPED: Unhandled: org.apache.hadoop.hbase.ClockOutOfSyncException: Server linux02,16020,1540039076246 has been rejected; Reported time is too far out of sync with master.  Time difference of 447463ms > max allowed of 30000ms
	at org.apache.hadoop.hbase.master.ServerManager.checkClockSkew(ServerManager.java:410)
	at org.apache.hadoop.hbase.master.ServerManager.regionServerStartup(ServerManager.java:276)
	at org.apache.hadoop.hbase.master.MasterRpcServices.regionServerStartup(MasterRpcServices.java:363)
	at org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos$RegionServerStatusService$2.callBlockingMethod(RegionServerStatusProtos.java:8615)
	at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2339)
	at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:123)
	at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:188)
	at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:168)

2018-10-20 20:38:01,799 INFO  [regionserver/linux02/192.168.3.21:16020] regionserver.HRegionServer: Stopping infoServer
2018-10-20 20:38:01,810 INFO  [regionserver/linux02/192.168.3.21:16020] mortbay.log: Stopped SelectChannelConnector@0.0.0.0:16030
2018-10-20 20:38:01,814 INFO  [regionserver/linux02/192.168.3.21:16020] flush.RegionServerFlushTableProcedureManager: Stopping region server flush procedure manager abruptly.
2018-10-20 20:38:01,814 INFO  [regionserver/linux02/192.168.3.21:16020] snapshot.RegionServerSnapshotManager: Stopping RegionServerSnapshotManager abruptly.
2018-10-20 20:38:01,815 INFO  [regionserver/linux02/192.168.3.21:16020] regionserver.HRegionServer: aborting server linux02,16020,1540039076246
2018-10-20 20:38:01,815 INFO  [regionserver/linux02/192.168.3.21:16020] client.ConnectionManager$HConnectionImplementation: Closing zookeeper sessionid=0x266917799a70004
2018-10-20 20:38:01,819 INFO  [regionserver/linux02/192.168.3.21:16020-EventThread] zookeeper.ClientCnxn: EventThread shut down
2018-10-20 20:38:01,819 INFO  [regionserver/linux02/192.168.3.21:16020] zookeeper.ZooKeeper: Session: 0x266917799a70004 closed
2018-10-20 20:38:01,822 INFO  [regionserver/linux02/192.168.3.21:16020] regionserver.HRegionServer: stopping server linux02,16020,1540039076246; all regions closed.
2018-10-20 20:38:01,824 INFO  [regionserver/linux02/192.168.3.21:16020] regionserver.Leases: regionserver/linux02/192.168.3.21:16020 closing leases
2018-10-20 20:38:01,824 INFO  [regionserver/linux02/192.168.3.21:16020] regionserver.Leases: regionserver/linux02/192.168.3.21:16020 closed leases
2018-10-20 20:38:01,826 INFO  [regionserver/linux02/192.168.3.21:16020] hbase.ChoreService: Chore service for: linux02,16020,1540039076246 had [[ScheduledChore: Name: CompactedHFilesCleaner Period: 120000 Unit: MILLISECONDS]] on shutdown
2018-10-20 20:38:01,827 INFO  [regionserver/linux02/192.168.3.21:16020] regionserver.CompactSplitThread: Waiting for Split Thread to finish...
2018-10-20 20:38:01,827 INFO  [regionserver/linux02/192.168.3.21:16020] regionserver.CompactSplitThread: Waiting for Merge Thread to finish...
2018-10-20 20:38:01,827 INFO  [regionserver/linux02/192.168.3.21:16020] regionserver.CompactSplitThread: Waiting for Large Compaction Thread to finish...
2018-10-20 20:38:01,827 INFO  [regionserver/linux02/192.168.3.21:16020] regionserver.CompactSplitThread: Waiting for Small Compaction Thread to finish...
2018-10-20 20:38:01,827 INFO  [regionserver/linux02/192.168.3.21:16020] ipc.RpcServer: Stopping server on 16020
2018-10-20 20:38:01,828 INFO  [RpcServer.listener,port=16020] ipc.RpcServer: RpcServer.listener,port=16020: stopping
2018-10-20 20:38:01,830 INFO  [RpcServer.responder] ipc.RpcServer: RpcServer.responder: stopped
2018-10-20 20:38:01,830 INFO  [RpcServer.responder] ipc.RpcServer: RpcServer.responder: stopping
2018-10-20 20:38:01,877 INFO  [main-EventThread] zookeeper.ClientCnxn: EventThread shut down
2018-10-20 20:38:01,877 INFO  [regionserver/linux02/192.168.3.21:16020] zookeeper.ZooKeeper: Session: 0x166917e6c350006 closed
2018-10-20 20:38:01,877 INFO  [regionserver/linux02/192.168.3.21:16020] regionserver.HRegionServer: stopping server linux02,16020,1540039076246; zookeeper connection closed.
2018-10-20 20:38:01,877 INFO  [regionserver/linux02/192.168.3.21:16020] regionserver.HRegionServer: regionserver/linux02/192.168.3.21:16020 exiting
2018-10-20 20:38:01,877 ERROR [main] regionserver.HRegionServerCommandLine: Region server exiting
java.lang.RuntimeException: HRegionServer Aborted
	at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.start(HRegionServerCommandLine.java:68)
	at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.run(HRegionServerCommandLine.java:87)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
	at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
	at org.apache.hadoop.hbase.regionserver.HRegionServer.main(HRegionServer.java:2721)
2018-10-20 20:38:01,882 INFO  [Thread-4] regionserver.ShutdownHook: Shutdown hook starting; hbase.shutdown.hook=true; fsShutdownHook=org.apache.hadoop.fs.FileSystem$Cache$ClientFinalizer@7ca33c24
2018-10-20 20:38:01,883 INFO  [Thread-4] regionserver.ShutdownHook: Starting fs shutdown hook thread.
2018-10-20 20:38:01,886 INFO  [Thread-4] regionserver.ShutdownHook: Shutdown hook finished.。。。

造成的原因:时间同步问题,hbase集群必须要进行时间同步,否则响应时间超过30000ms时,节点会自动挂掉。
网上查了好久,说什么的都有,有添加配置文件的操作,试过了没用,可以先查看一下自己集群的时间是否同步,如果不同步那就一定是时间同步问题。
操作步骤如下:
先查看自己的集群时间是否同步,使用如下命令:

$ date

配置时间服务器
1.检查时区

$ date -R

+0800东八区区时
2.检查软件包
如果ntp工具不存在,则需要使用yum安装

$ sudo rpm -qa | grep ntp

如果不存在则安装

$ sudo yum -y install ntp

3.先以网络时间为标准,纠正集群的时间服务器的时间

$ sudo ntpdate pool.ntp.org

最后重启hbase即可。。。 ^ - ^

### JavaRuntimeException 异常带有失败代码 -1010 的解决方案 对于 `java.lang.RuntimeException` 并伴随特定失败代码 `-1010` 的情况,通常意味着应用程序遇到了未预期的状态或操作。这类异常可能由多种原因引起,具体取决于上下文环境。 #### 分析与排查思路 为了有效解决此问题,建议采取以下措施: - **日志记录增强**:确保应用中有足够的日志记录机制来捕获详细的堆栈跟踪信息以及发生异常前后的状态变化。这有助于更精确地定位问题根源[^1]。 - **检查外部依赖和服务调用**:如果该错误发生在涉及网络请求或其他服务交互的过程中,则需确认这些组件的工作状况良好,并且能够正常响应客户端请求。特别是当涉及到第三方API时,应查阅其文档了解是否有特殊的返回码定义[^2]。 - **验证输入参数合法性**:某些情况下,非法的数据传递可能会触发此类异常。因此,在函数入口处加入必要的校验逻辑可以预防潜在的风险点[^3]。 - **资源管理不当**:特别是在多线程环境下工作时,如果没有正确初始化Looper或者在非UI线程尝试更新UI控件都会抛出类似的异常。务必遵循Android开发的最佳实践指南来进行跨线程通信和事件分发[^4]。 - **回调处理中的空指针防护**:类似于Activity生命周期内的异步任务完成之后的结果回传场景下,应当谨慎对待Intent等载体是否为空的情况,避免不必要的崩溃风险[^5]。 ```java // 示例代码展示如何安全地处理ActivityResult @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // 防御性编程:先检查data不为null再继续下一步操作 if (requestCode == PHOTO_REQUEST && resultCode == RESULT_OK && data != null){ Bundle extras = data.getExtras(); Bitmap imageBitmap = (Bitmap) extras.get("data"); imageView.setImageBitmap(imageBitmap); } } ``` 通过上述方法论的应用,应该可以帮助识别并修复导致 `java.lang.RuntimeException: failure code -1010` 的根本原因。值得注意的是,具体的修正策略还需结合实际业务逻辑和个人项目特点灵活调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值