Spark操作HBase报:org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException异常解决方案

一.异常信息

  19/03/21 15:01:52 WARN scheduler.TaskSetManager: Lost task 4.0 in stage 21.0 (TID 14640, hntest07, executor 64)  org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 3 actions: AAA.bbb: 3 times,
  at org.apache.hadoop.hbase.client.AsyncProcessBatchErrors.makeException(AsyncProcess.java:258)  atorg.apache.hadoop.hbase.client.AsyncProcessBatchErrors.access2000(AsyncProcess.java:238)  atorg.apache.hadoop.hbase.client.AsyncProcess.waitForAllPreviousOpsAndReset(AsyncProcess.java:1810)  atorg.apache.hadoop.hbase.client.BufferedMutatorImpl.backgroundFlushCommits(BufferedMutatorImpl.java:240)  atorg.apache.hadoop.hbase.client.BufferedMutatorImpl.flush(BufferedMutatorImpl.java:190)  atorg.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:1498)  atorg.apache.hadoop.hbase.client.HTable.put(HTable.java:1094)  atorg.com.tl.spark.main.LabelSummaryTaskEntranceanonfunmain1anonfunapplymcVIsp1.apply(LabelSummaryTaskEntrance.scala:163)  atorg.com.tl.spark.main.LabelSummaryTaskEntranceanonfunmain1anonfunapplymcVIsp1.apply(LabelSummaryTaskEntrance.scala:127)  atorg.apache.spark.rdd.RDDanonfunforeachPartition1anonfunapply33.apply(RDD.scala:920)  atorg.apache.spark.rdd.RDDanonfunforeachPartition1anonfunapply33.apply(RDD.scala:920)  atorg.apache.spark.SparkContextanonfunrunJob5.apply(SparkContext.scala:1888)  atorg.apache.spark.SparkContextanonfunrunJob5.apply(SparkContext.scala:1888)  atorg.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)  atorg.apache.spark.scheduler.Task.run(Task.scala:89)  atorg.apache.spark.executor.ExecutorTaskRunner.run(Executor.scala:242)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  at java.lang.Thread.run(Thread.java:745)

二.代码

 val config = HBaseConfiguration.create()
 config.set("hbase.zookeeper.quorum", "hbase01,hbase02,hbase03")
 config.set("hbase.zookeeper.property.clientPort", "2181")
 val connection = ConnectionFactory.createConnection(config)
 val admin = connection.getAdmin
 val table = connection.getTable(TableName.valueOf("ZHEN:TABLENAME"))

三.解决方案

  1.在代码标红的地方把库名+表名全部大写,中间用":"间隔。

  2.Hbase版本不一致【服务器上启动的Hbase和Spark导入的Hbase-lib不一致】。

  3.hdfs的datanode或namenode宕机。

  4.Hbase的Hmaster或者HRegionServer挂了。

posted @   云山之巅  阅读(8310)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示