HBASE我遇坑之client.AsyncProcess: #1, waiting for 5012 actions to finish
来源:互联网 发布:奥斯卡终身成就奖 知乎 编辑:程序博客网 时间:2024/05/17 08:29
项目使用phoenix连接HBASE,数据用spark处理后通过phoenix批量插入到HBASE中,
其中,提交频率为5000条提交一次
发现插入表大的时候,速度变慢,查看日志发现如下线索:
client.AsyncProcess: #1, waiting for 5012 actions to finish
查看网上很多线索,主要有几种解释:
一种是ZK的连接数限制,需要调大ZK最大连接数。尝试修改连接数,没有效果
一种是说客户端连接数限制,要在开启客户端连接的时候增加连接池数量。 客户端是jdbc连接的,线程池不会太小。
另一种国外的网站是说一次性提交的事务太多,需要调小提交条数。这个还没有尝试。
查看HBASE写入原理,本来想写,心情不好,这里就不多说了,因为也没什么太大用处,
主要还是需要查看hbase的源码,从报错 日志client.AsyncProcess找到源码位置,在hbase-client里面,注意版本,新版本这个日志不是出现在AsyncProcess中
报错的日志在这个方法里面,究竟是谁调用了这个方法,那么得从头开始看了,从HTABLE里面的PUT<list rows>方法开始看,发现程序的逻辑:
插入多条数据-》数据大于缓冲大小时进行提交(缓存大小可以设置)-》读取该表的meta表,将数据按server分组-》每个server启一个线程进行提交-》
等待提交的返回结果 这个就是图中看到的这个方法了。
也就是说,出现这个问题是由于数据插入在服务端没有执行完成,客户端正在等待服务端插入完成。
其实问题的本质在于服务端,可能插入太快,该表在spit 或者flush 或者gc stw 等问题引起,需要优化该表在服务端的存储,具体的表优化就看大家自己实际的业务情况了。
- HBASE我遇坑之client.AsyncProcess: #1, waiting for 5012 actions to finish
- waiting for session to finish ........
- AMS 启动出错: Waiting for another script to finish...
- HBase waiting for dfs to exit safe model
- Detailed Item Cost Report (XML) timed out waiting for the Output Post-processor to finish
- org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException: Failed 6 actions: DoNotRetryIOE
- hbase 集群迁移:Region still in transition, waiting for it to become assigned:
- Waiting for instances to leave
- hbase Waiting on regionserver(s) to checkin
- Hbase入门之三HBase Client API使用入门1
- 解决waiting for jockey-backend to exit
- 解决waiting for jockey-backend to exit
- SHUTDOWN: waiting for active calls to complete.
- [Android] waiting for the debugger to attach
- Waiting for core to be armed!
- SHUTDOWN: waiting for active calls to complete.
- 【Android】“Waiting for debugger to attach”
- Waiting for target device to come online
- 代码风格的简单整理
- [图形学] 布料仿真(质点弹簧模型)
- java集合框架
- 【jsp】 3个编译指令和7个动作指令
- KNN - 笔记(1)
- HBASE我遇坑之client.AsyncProcess: #1, waiting for 5012 actions to finish
- static、初始化代码块
- NOIP 2012 疫情控制
- C++中如何动态分配二维数组
- 实现记住密码功能
- php 小笔记 form/
- 安装linux内核函数的mandocs.
- Java学习(让我记录下这有趣的故事:2016/10/14)
- 109. Convert Sorted List to Binary Search Tree