【已解决】修改hbase表或删除表时,会报:ERROR Java::JavautilConcurrent::TimeoutException:The procedure 1 is still running

问题背景:

生产中有一个超大表3亿多条数据,每天全量运行,使用hbase的提供的shell命令对创建的表进行添加属性操作或进行删除操作报此异常,虽然重新调度脚本会跑过去,但不能每次都调两遍。

问题解决:

1.查找源码,找到报出这个异常的代码:

1.1因为是操作表时出错的,所以找到HbaseAdmin这个类所在本项目使用jar包 ,hbase-client-1.2.0-cdh5.13.3.jar

1.2找到报异常的地方,查找蛛丝马迹,看不懂没关系,找和超时相关的信息

1.3发现 hbase.client.sync.wait.timeout.msec 默认 600000 有可能有关系,

1.4问题复现:将它添加cm集群的hbase-site.xml的HBase客户端高级配置代码段(安全阀) 属性中去 ,如果你的测试数据量较小,将该属性值调小,重新运行脚本 ,问题出现

1.5生产中将该值调大。

2.小技巧:

2.1在不断试验带有timeout的属性值的过程当中发现怎么才能确保我在cm上配置的属性值是生效的???

2.2可以在linux的hbase交互式命令行中输入:

@shell.hbase.configuration.get("hbase.client.sync.wait.timeout.msec")  获取属性值,只要配置CM上hbase属性值并更新,就重新进入hbase shell交互式命令行,才能获取最新值

2.3有get上面的方法,但是没有set方法,我已经试验过了,你可以重试。

2.4这个方法,是我在官方文档上:http://hbase.apache.org/1.4/book.html找的

$ ./bin/hbase shell -Dhbase.zookeeper.quorum=ZK0.remote.cluster.example.org,ZK1.remote.cluster.example.org,ZK2.remote.cluster.example.org -Draining=false ... hbase(main):001:0> @shell.hbase.configuration.get("hbase.zookeeper.quorum") => "ZK0.remote.cluster.example.org,ZK1.remote.cluster.example.org,ZK2.remote.cluster.example.org" hbase(main):002:0> @shell.hbase.configuration.get("raining") => "false"

hbase 报:Java::JavautilConcurrent::TimeoutException:The procedure 1 is still running相关推荐

  1. 解决Hbase报错java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for....

    完整报错为: java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper ...

  2. hbase日志报java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder的错

    环境是这样的 Hadoop-2.8.5 Hbase-2.2.4 之前查了官网,这两个版本是目前可以互相匹配的最高的版本,but启动hbase报下面这个错误 具体日志在log/下hbase-root-m ...

  3. HBase出现java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration问题

    问题:Hbase在集群上运行报错:NoClassDefFoundError:org/apache/hadoop/hbase/HBaseConfiguration 需求:HBase使用Java创建表,打 ...

  4. Hbase报错解决方法ERROR: KeeperErrorCode = NoNode for /hbase/master

    步骤 今天搭建Hbase环境,遇到了此bug.一开始搭建hdfs的时候还是很顺利的,参考着别人的博客,一步一的做下去,最后可以正常启动.而在搭建HBase的时候遇到了一个很大的bug.但是造成该bug ...

  5. 报Java面授班有哪些优势

    ​ java技术在互联网行业的高速发展,让很多人都开始学习java技术,大家都想知道学习java技术面授班好还是网络班好,小编觉得当然是面授班比较好,下面小编就带大家来详细的了解一下报Java面授班有 ...

  6. 学java为什么要报java培训班?

    学java为什么要报java培训班?对于没有基础的小白来说,选择报java培训班是最合适不过的,自学是没有任何规划的,学到的技术都是模棱两可,工作入职后是存在很大风险的,具体的来看看下面的详细介绍吧. ...

  7. linux下启动jconsole报 java.lang.UnsatisfiedLinkError

    在linux下面启动jconsole报 java.lang.UnsatisfiedLinkError异常: java.lang.UnsatisfiedLinkError: /usr/local/jdk ...

  8. 5 hbase-shell + hbase的java api

    本博文的主要内容有 .HBase的单机模式(1节点)安装 .HBase的单机模式(1节点)的启动 .HBase的伪分布模式(1节点)安装  .HBase的伪分布模式(1节点)的启动    .HBase ...

  9. Spring MVC普通类或工具类中调用service报空空指针的解决办法(调用service报java.lang.NullPointerException)...

    当我们在非Controller类中应用service的方法是会报空指针,如图: 这是因为Spring MVC普通类或工具类中调用service报空null的解决办法(调用service报java.la ...

  10. python hbase 报错by_【hbase】使用thrift with python 访问HBase

    HBase 版本: 0.98.6 thrift   版本: 0.9.0 使用 thrift client with python 连接 HBase 报错: 1 Traceback (most rece ...

最新文章

  1. python判断变量不为空_Python简洁方法
  2. const char * 、char const *、 char * const 三者的区别
  3. IDOC实例, Outbound IDOC
  4. 字符串函数参数传入传出(去空格)
  5. 蛮力法在排序算法中的应用(JAVA)--选择排序、冒泡排序
  6. 动态表单及动态建表实现原理
  7. CIO常犯的五个错误
  8. pannel添加的子窗体很大_在WordPress中添加简书风格的连载目录和文章导航
  9. return语句的用法
  10. linux系统发育树的构建步骤,步一步教你如何做系统进化树
  11. 配置vps服务器,拨号换ip(一)
  12. 什么是微信分销商城?
  13. equal和==区别详解
  14. 【nexys3】【verilog】小设计——拆弹游戏
  15. linux下内存测试mbw,内存测试工具mbw分析
  16. 将csv文件分割成多个文件
  17. 江苏赛区|2021年数学建模国赛江苏赛区获奖名单
  18. 大数据之Linux篇(一)
  19. 告别难记的长域名!我的博客全新短域名上线
  20. 为何安全芯片能应用到设备认证和配件认证领域,物联网安全芯片

热门文章

  1. 使用ppt将输入的文字导出png
  2. 麦肯锡的13个高效工作法则:重要的事,永远摆在第一位
  3. 2008服务器系统usb驱动,给Windows server 2008 r2系统镜像装载usb3.0驱动
  4. webpack打包告警We noticed you‘re using the `useBuiltIns` option without declaring a core-js version.
  5. 那些年我们追过的网络小说
  6. 英语发音规则---/ŋ/与/ŋg/的读音区别
  7. 揭秘!飞机上不为人知的六大“怪事”
  8. PM42L-048 步进电机
  9. 跟着团子学SAP PS:SAP PS模块常用报表介绍及增强建议
  10. Java语言十五讲(第十一讲 Script)