There is nothing OOM or overload error in region server log. Our Hbase version is 1.2.0-cdh
> 在 2018年4月24日,下午1:59,Ma Gang <[email protected]> 写道: > > You may check the region server log, is the related region server OOM or > overload? > > 在 2018-04-24 13:47:08,"沈鲁威" <[email protected]> 写道: > > > >异常补充 > >ylin.log:Caused by: org.apache.hadoop.hbase.DoNotRetryIOException: > >org.apache.hadoop.hbase.DoNotRetryIOException: Coprocessor passed deadline! > >Maybe server is overloaded > >kylin.log- at > >org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.CubeVisitService.checkDeadline(CubeVisitService.java:225) > >kylin.log- at > >org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.CubeVisitService.visitCube(CubeVisitService.java:259) > >kylin.log- at > >org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos$CubeVisitService.callMethod(CubeVisitProtos.java:5555) > >kylin.log- at > >org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:7931) > >kylin.log- at > >org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:1969) > >kylin.log- at > >org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:1951) > >kylin.log- at > >org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33652) > >kylin.log- at > >org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2191) > >kylin.log- at > >org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > >kylin.log- at > >org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > >-- > >kylin.log- at > >org.apache.hadoop.hbase.ipc.RegionCoprocessorRpcChannel.callExecService(RegionCoprocessorRpcChannel.java:107) > >kylin.log- at > >org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel.callMethod(CoprocessorRpcChannel.java:56) > >kylin.log- at > >org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos$CubeVisitService$Stub.visitCube(CubeVisitProtos.java:5616) > >kylin.log- at > >org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC$2.call(CubeHBaseEndpointRPC.java:237) > >kylin.log- at > >org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC$2.call(CubeHBaseEndpointRPC.java:206) > >kylin.log- at > >org.apache.hadoop.hbase.client.HTable$15.call(HTable.java:1800) > >kylin.log- at java.util.concurrent.FutureTask.run(FutureTask.java:266) > >kylin.log- at > >java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > >kylin.log- at > >java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > >kylin.log- ... 1 more > >kylin.log:Caused by: > >org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.DoNotRetryIOException): > > org.apache.hadoop.hbase.DoNotRetryIOException: Coprocessor passed deadline! > >Maybe server is overloaded > >kylin.log- at > >org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.CubeVisitService.checkDeadline(CubeVisitService.java:225) > >kylin.log- at > >org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.CubeVisitService.visitCube(CubeVisitService.java:259) > >kylin.log- at > >org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos$CubeVisitService.callMethod(CubeVisitProtos.java:5555) > >kylin.log- at > >org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:7931) > >kylin.log- at > >org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:1969) > >kylin.log- at > >org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:1951) > >kylin.log- at > >org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33652) > >kylin.log- at > >org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2191) > >kylin.log- at > >org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) > >kylin.log- at > >org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > >> 在 2018年4月23日,下午10:51,沈鲁威 <[email protected]> 写道: > >> > >> 各位大神: > >> 我们这边搭建了 cdh5.13.1+kylin.2.3.0 > >> 一台任务机,三台查询机slb 负载均衡(4核8G) > >> > >> > >> > >> 问题:工作的过程中经常隔断时间,某一台查询机器查询报超时,紧接着所有查询均不可用 > >> 只能kylin.sh stop 停掉这台查询机,其他机器才能正常工作 > >> > >> 查看机器负载 并不高 > >> 查看日志 出现过的错误日志 > >> 1、ncategorized SQLException for SQL []; SQL state [null]; error code [0]; > >> exception while executing query: java.io.IOException: POST failed, error > >> code 500 and response: {"code":"999","data":null,"msg":"Timeout visiting > >> cube! Check why coprocessor exception is not sent back? In coprocessor > >> Self-termination is checked every 100 scanned rows, the configured > >> timeout(54000) cannot support this many scans?\nwhile executing SQL: > >> \"select COALESCE(SUM(a.total_sale_money_kpi),0) as total_sale_money_kpi , > >> COALESCE(SUM(a.total_sale_count_kpi),0) as > >> 2、by total_sale_money_kpi desc ### Cause: java.sql.SQLException: exception > >> while executing query: java.io.IOException: POST failed, error code 500 > >> and response: > >> {"code":"999","data":null,"msg":"org.apache.hadoop.hbase.DoNotRetryIOException: > >> org.apache.hadoop.hbase.DoNotRetryIOException: Coprocessor passed > >> deadline! Maybe server is overloaded at > >> org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.CubeVisitService.checkDeadline(CubeVisitService.java:225) > >> at > >> org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.CubeVisitService.visitCube(CubeVisitService.java:259) > >> at > >> org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos$CubeVisitService.callMethod(CubeVisitProtos.java:5555) > >> at > >> org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:7931) > >> at > >> org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:1969) > >> at > >> org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:1951) > >> at > >> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33652) > >> at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2191) at > >> org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112) at > >> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:183) > >> at > >> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:163)\nwhile > >> executing SQL: > >> > >> > >> <CE1ED564E277BCD093CB59000F043C9F.png> > >> > >> > >> > >> jstack 查看日志 > >> > >> 情况1: > >> 有很多线程在等待同一个锁 多的话有100多个 > >> 怀疑可能有个锁被锁住了,而且可能是全局锁,因为一台机器有问题其他机器也没法查了 > >> > >> > >> "kylin-coproc--pool2-t82051" #93742 daemon prio=5 os_prio=0 > >> tid=0x00007f314d435800 nid=0x1fb waiting on condition [0x00007f315abad000] > >> java.lang.Thread.State: TIMED_WAITING (parking) > >> at sun.misc.Unsafe.park(Native Method) > >> - parking to wait for <0x00000007008eeff8> (a > >> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > >> at > >> java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) > >> at > >> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) > >> at > >> java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) > >> at > >> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) > >> at > >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) > >> at > >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > >> at java.lang.Thread.run(Thread.java:748) > >> > >> Locked ownable synchronizers: > >> - None > >> > >> "kylin-coproc--pool2-t82050" #93741 daemon prio=5 os_prio=0 > >> tid=0x00007f314dc24800 nid=0x1fa waiting on condition [0x00007f315c1bb000] > >> java.lang.Thread.State: TIMED_WAITING (parking) > >> at sun.misc.Unsafe.park(Native Method) > >> - parking to wait for <0x00000007008eeff8> (a > >> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > >> at > >> java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) > >> at > >> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) > >> at > >> java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) > >> at > >> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073) > >> at > >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) > >> at > >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > >> at java.lang.Thread.run(Thread.java:748) > >> > >> Locked ownable synchronizers: > >> - None > >> > >> > >> > >> 情况2: > >> 线程池的问题:但是目前没找到哪类设置的线程池数量 > >> > >> 2018-04-22 10:56:13,407 ERROR [pool-10-thread-806] > >> v2.CubeHBaseEndpointRPC:340 : <sub-thread for Query > >> 492811-3d81d0ee-b6c9-443b-b652-3f94f5072cd1-1524365662180 GTScanRequest > >> 1578e6c>Error when visiting cubes by endpoint > >> java.util.concurrent.RejectedExecutionException: Task > >> java.util.concurrent.FutureTask@6006a8c3 rejected from > >> java.util.concurrent.ThreadPoolExecutor@276cb5e4[Shutting down, pool size > >> = 19, active threads = 19, queued tasks = 0, completed tasks = 90389] > >> at > >> java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063) > >> at > >> java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830) > >> at > >> java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1379) > >> at > >> java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) > >> at > >> org.apache.hadoop.hbase.client.HTable.coprocessorService(HTable.java:1795) > >> at > >> org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC.runEPRange(CubeHBaseEndpointRPC.java:205) > >> at > >> org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC.access$000(CubeHBaseEndpointRPC.java:69) > >> at > >> org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC$1.run(CubeHBaseEndpointRPC.java:186) > >> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > >> at java.util.concurrent.FutureTask.run(FutureTask.java:266) > >> at > >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > >> at > >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > >> at java.lang.Thread.run(Thread.java:748) > >> 2018-04-22 10:56:13,407 DEBUG [Query > >> 492811-e0a95289-a23e-4eb2-a1d2-e0000fd66ac4-1524365662196-116] > >> gtrecord.GTCubeStorageQueryBase:311 : Need storage aggregation > >> 2018-04-22 10:56:13,408 INFO [Query > >> 123629-8888aa31-e163-41c7-84d2-4b06a6b8da18-1524365659125-143] > >> service.QueryService:1134 : Processed rows for each storageContext: 7 > >> 2018-04-22 10:56:13,408 ERROR [pool-10-thread-800] > >> v2.CubeHBaseEndpointRPC:340 : <sub-thread for Query > >> 492811-3d81d0ee-b6c9-443b-b652-3f94f5072cd1-1524365662180 GTScanRequest > >> 5677c55d>Error when visiting cubes by endpoint > >> java.util.concurrent.RejectedExecutionException: Task > >> java.util.concurrent.FutureTask@6006a8c3 rejected from > >> java.util.concurrent.ThreadPoolExecutor@276cb5e4[Shutting down, pool size > >> = 19, active threads = 19, queued tasks = 0, completed tasks = 90389] > >> at > >> java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063) > >> at > >> java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830) > >> at > >> java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1379) > >> at > >> java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) > >> at > >> org.apache.hadoop.hbase.client.HTable.coprocessorService(HTable.java:1795) > >> at > >> org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC.runEPRange(CubeHBaseEndpointRPC.java:205) > >> at > >> org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC.access$000(CubeHBaseEndpointRPC.java:69) > >> at > >> org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC$1.run(CubeHBaseEndpointRPC.java:186) > >> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > >> at java.util.concurrent.FutureTask.run(FutureTask.java:266) > >> at > >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > >> at > >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > >> at java.lang.Thread.run(Thread.java:748) > >> > >> <091BC280DBCABF12925C7456BF791602.jpg> > >> > >> > >> 情况3:出现过如下错误 > >> hangzhou.dianjia.io trying to unlock > >> /kylin/kylin_metadata/job_engine/global_job_engine_lock > >> kylin.out: at > >> org.apache.kylin.storage.hbase.util.ZookeeperDistributedLock.unlock(ZookeeperDistributedLock.java:236) > >> kylin.out: at > >> org.apache.kylin.storage.hbase.util.ZookeeperDistributedLock.unlockJobEngine(ZookeeperDistributedLock.java:311) > >> kylin.out: at > >> org.apache.kylin.storage.hbase.util.ZookeeperJobLock.unlockJobEngine(ZookeeperJobLock.java:86) > >> kylin.out- at > >> org.apache.kylin.job.impl.threadpool.DefaultScheduler.shutdown(DefaultScheduler.java:234) > >> kylin.out- at > >> org.apache.kylin.rest.service.JobService$2.run(JobService.java:140) > >> kylin.out- at java.lang.Thread.run(Thread.java:748) > >> kylin.out-Caused by: java.lang.IllegalStateException: Client is not started > >> kylin.out- at > >> com.google.common.base.Preconditions.checkState(Preconditions.java:149) > >> kylin.out: at > >> org.apache.curator.CuratorZookeeperClient.getZooKeeper(CuratorZookeeperClient.java:113) > >> kylin.out- at > >> org.apache.curator.framework.imps.CuratorFrameworkImpl.getZooKeeper(CuratorFrameworkImpl.java:477) > >> kylin.out- at > >> org.apache.curator.framework.imps.DeleteBuilderImpl$5.call(DeleteBuilderImpl.java:238) > >> kylin.out- at > >> org.apache.curator.framework.imps.DeleteBuilderImpl$5.call(DeleteBuilderImpl.java:233) > >> kylin.out- at > >> org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:107) > >> kylin.out- at > >> org.apache.curator.framework.imps.DeleteBuilderImpl.pathInForeground(DeleteBuilderImpl.java:230) > >> kylin.out- at > >> org.apache.curator.framework.imps.DeleteBuilderImpl.forPath(DeleteBuilderImpl.java:214) > >> kylin.out- at > >> org.apache.curator.framework.imps.DeleteBuilderImpl.forPath(DeleteBuilderImpl.java:41) > >> kylin.out: at > >> org.apache.kylin.storage.hbase.util.ZookeeperDistributedLock.unlock(ZookeeperDistributedLock.java:231) > >> > >> > >> 怀疑过如下代码: > >> 但是我们验证过去掉同步锁 但是情况依旧。 > >> 多种情况下是下图66666到77777这个之间执行很慢。 > >> <B5ED37ABAEE71EB70911E69D10DD3252.png> > >> > >> > >> > >> > >> > >> <kylin配置.txt> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > > >
