問題
Caused by: java.net.SocketTimeoutException: callTimeout=60000, callDuration=139094: row '' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=hykj-slave-4,60040,1498803691321, seqNum=0
at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:159)
at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:314)
at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
... 1 more
分析問題
內網環境中三臺虛擬hbase機器性能不好,機器反應慢,在使用過程中因為超時導致了一些操作失敗。
因此需調整超時時間,默認為18秒,在配置文件 hbase-site.xml中原配置是:
解決方案
? ? ? ?<property>
? ? ? ? ? ? ? ? <name>hbase.master.maxclockskew</name>
? ? ? ? ? ? ? ? <value>600000</value>
? ? ? ? </property>
問題解決。