hbase 报:Java::JavautilConcurrent::TimeoutException:The procedure 1 is still running
【已解决】修改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相关推荐
- 解决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 ...
- hbase日志报java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder的错
环境是这样的 Hadoop-2.8.5 Hbase-2.2.4 之前查了官网,这两个版本是目前可以互相匹配的最高的版本,but启动hbase报下面这个错误 具体日志在log/下hbase-root-m ...
- HBase出现java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration问题
问题:Hbase在集群上运行报错:NoClassDefFoundError:org/apache/hadoop/hbase/HBaseConfiguration 需求:HBase使用Java创建表,打 ...
- Hbase报错解决方法ERROR: KeeperErrorCode = NoNode for /hbase/master
步骤 今天搭建Hbase环境,遇到了此bug.一开始搭建hdfs的时候还是很顺利的,参考着别人的博客,一步一的做下去,最后可以正常启动.而在搭建HBase的时候遇到了一个很大的bug.但是造成该bug ...
- 报Java面授班有哪些优势
java技术在互联网行业的高速发展,让很多人都开始学习java技术,大家都想知道学习java技术面授班好还是网络班好,小编觉得当然是面授班比较好,下面小编就带大家来详细的了解一下报Java面授班有 ...
- 学java为什么要报java培训班?
学java为什么要报java培训班?对于没有基础的小白来说,选择报java培训班是最合适不过的,自学是没有任何规划的,学到的技术都是模棱两可,工作入职后是存在很大风险的,具体的来看看下面的详细介绍吧. ...
- linux下启动jconsole报 java.lang.UnsatisfiedLinkError
在linux下面启动jconsole报 java.lang.UnsatisfiedLinkError异常: java.lang.UnsatisfiedLinkError: /usr/local/jdk ...
- 5 hbase-shell + hbase的java api
本博文的主要内容有 .HBase的单机模式(1节点)安装 .HBase的单机模式(1节点)的启动 .HBase的伪分布模式(1节点)安装 .HBase的伪分布模式(1节点)的启动 .HBase ...
- Spring MVC普通类或工具类中调用service报空空指针的解决办法(调用service报java.lang.NullPointerException)...
当我们在非Controller类中应用service的方法是会报空指针,如图: 这是因为Spring MVC普通类或工具类中调用service报空null的解决办法(调用service报java.la ...
- 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 ...
最新文章
- python判断变量不为空_Python简洁方法
- const char * 、char const *、 char * const 三者的区别
- IDOC实例, Outbound IDOC
- 字符串函数参数传入传出(去空格)
- 蛮力法在排序算法中的应用(JAVA)--选择排序、冒泡排序
- 动态表单及动态建表实现原理
- CIO常犯的五个错误
- pannel添加的子窗体很大_在WordPress中添加简书风格的连载目录和文章导航
- return语句的用法
- linux系统发育树的构建步骤,步一步教你如何做系统进化树
- 配置vps服务器,拨号换ip(一)
- 什么是微信分销商城?
- equal和==区别详解
- 【nexys3】【verilog】小设计——拆弹游戏
- linux下内存测试mbw,内存测试工具mbw分析
- 将csv文件分割成多个文件
- 江苏赛区|2021年数学建模国赛江苏赛区获奖名单
- 大数据之Linux篇(一)
- 告别难记的长域名!我的博客全新短域名上线
- 为何安全芯片能应用到设备认证和配件认证领域,物联网安全芯片
热门文章
- 使用ppt将输入的文字导出png
- 麦肯锡的13个高效工作法则:重要的事,永远摆在第一位
- 2008服务器系统usb驱动,给Windows server 2008 r2系统镜像装载usb3.0驱动
- webpack打包告警We noticed you‘re using the `useBuiltIns` option without declaring a core-js version.
- 那些年我们追过的网络小说
- 英语发音规则---/ŋ/与/ŋg/的读音区别
- 揭秘!飞机上不为人知的六大“怪事”
- PM42L-048 步进电机
- 跟着团子学SAP PS:SAP PS模块常用报表介绍及增强建议
- Java语言十五讲(第十一讲 Script)