用IDE創建Hbase表出現CallTimeoutException

問題

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>

問題解決。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容