下面的问题,搞了1天才解决,太坑了,在这里记录一下。

问题现像:执行命令后,1分钟没有返回, 然后报下面的错,偶尔会出现以下不同的报错信息。

jdbc:phoenix:10.0.xx.1:2181>  create  table  IF  NOT  EXISTS  test.Person1  (IDCardNum  INTEGER  not  null  primary  key,  Name  varchar(20),Age  INTEGER)  COMPRESSION  =  'SNAPPY',BLOOMFILTER  =  'ROW';
Error:  Max  attempts  exceeded  (state=08000,code=101)
org.apache.phoenix.exception.PhoenixIOException:  Max  attempts  exceeded
at  org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:138)
at  org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:1204)
at  org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:1501)
at  org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:2721)
at  org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:1114)
at  org.apache.phoenix.compile.CreateTableCompiler$1.execute(CreateTableCompiler.java:192)
at  org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:408)
at  org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:391)
at  org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
at  org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:390)
at  org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:378)
at  org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1825)
at  sqlline.Commands.execute(Commands.java:822)
at  sqlline.Commands.sql(Commands.java:732)
at  sqlline.SqlLine.dispatch(SqlLine.java:813)
at  sqlline.SqlLine.begin(SqlLine.java:686)
at  sqlline.SqlLine.start(SqlLine.java:398)
at  sqlline.SqlLine.main(SqlLine.java:291)
Caused  by:  org.apache.hadoop.hbase.client.RetriesExhaustedException:  Max  attempts  exceeded
at  org.apache.hadoop.hbase.master.assignment.AssignProcedure.startTransition(AssignProcedure.java:180)
at  org.apache.hadoop.hbase.master.assignment.RegionTransitionProcedure.execute(RegionTransitionProcedure.java:295)
at  org.apache.hadoop.hbase.master.assignment.RegionTransitionProcedure.execute(RegionTransitionProcedure.java:85)
at  org.apache.hadoop.hbase.procedure2.Procedure.doExecute(Procedure.java:845)
at  org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execProcedure(ProcedureExecutor.java:1453)
at  org.apache.hadoop.hbase.procedure2.ProcedureExecutor.executeProcedure(ProcedureExecutor.java:1221)
at  org.apache.hadoop.hbase.procedure2.ProcedureExecutor.access$800(ProcedureExecutor.java:75)
at  org.apache.hadoop.hbase.procedure2.ProcedureExecutor$WorkerThread.run(ProcedureExecutor.java:1741)

jdbc:phoenix:10.0.xx.1:2181>  create  table  IF  NOT  EXISTS  test.Person1  (IDCardNum  INTEGER  not  null  primary  key,  Name  varchar(20),Age  INTEGER)  COMPRESSION  =  'SNAPPY',BLOOMFILTER  =  'ROW';
Error:  ERROR  1102  (XCL02):  Cannot  get  all  table  regions.  (state=XCL02,code=1102)
java.sql.SQLException:  ERROR  1102  (XCL02):  Cannot  get  all  table  regions.
at  org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java)

.....................

问题原因:

  因为该服务器用的是虚拟机,运维人员设置该虚拟机的内存为动态分配,内存不够所以产生问题。

改成下面的固定内存就好了:

phoenix创建表失败:phoenixIOException: Max attempts exceeded的更多相关文章

  1. hive中创建表失败

    使用create table命令创建表失败,如下错误信息: hive> create table test(id int,name string,age int,sex string); FAI ...

  2. Qt 数据库创建表失败原因之数据库关键字

    本人数据库新手,在创建表时出现问题,最后经查证,找出问题所在.下面的程序是部分节选,在创建数据库表的时候,起先使用的L24的CreateDB,经测试,一直输出 Create testResult Fa ...

  3. Mysql sql_mode设置 timestamp default 0000-00-00 00:00:00 创建表失败处理

    往数据库里创建新表的时候报错: [Err] 1067 - Invalid default value for 'updateTime' DROP TABLE IF EXISTS `passwd_res ...

  4. 通过phoenix创建hbase表失败,创建语句卡住,hbase-hmaster报错:exception=org.apache.hadoop.hbase.TableExistsException: SYNC_BUSINESS_INFO_BYDAY_EFFECT

    问题描述: 前几天一个同事来说,通过phoenix创建表失败了,一直报表存在的错误,删除也报错,然后就针对这个问题找下解决方案. 问题分析: 1.通过phoenix创建表,一直卡住不动了.创建语句如下 ...

  5. Hive中将文件加载到数据库表失败解决办法

    Hive中将文件加载到数据库表失败解决办法(hive创建表失败) 遇到的问题: FAILED: Execution Error, return code 1 from org.apache.hadoo ...

  6. 案例:AWR手工创建快照失败,SYSAUX表空间剩余不足处理

    案例:AWR手工创建快照失败,SYSAUX表空间剩余不足处理 版本:Oracle 11.2.0.4 RAC 问题现象:AWR手工创建快照失败,SYSAUX表空间剩余不足. 1. 查看SYSAUX表空间 ...

  7. Laravel 表单验证创建“表单请求”实现自定义请求类

    按照文档创建表单请求自定义类以后,调用总是403页面,咨询大佬说: public function authorize() { // 在表单验证类的这个方法这里要返回true,默认返回false,这个 ...

  8. Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理

    摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■  详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...

  9. oracle使用sqlplus创建表空间

    一.打开命令行窗口,输入以下命令:sqlplus /nolog 回车后,将出现提示符 SQL>, 这时输入conn / as sysdba 一般即可登录,如果失败的话,可以试一下用conn sy ...

随机推荐

  1. IDEA intellij 引用jar包方法

    以下为方法之一. 1. 点击左上角文件 - Project Structure 2. 依次按照下图点击 3. 选择需要导入的jar包,点击ok

  2. .net面试题——20190718

    文章:Dapper.Net实现增删改查 autofac automap 异步 委托 依赖注入

  3. shell脚本基础编写

    shell脚本的格式 名称:Shell 脚本文件的名称可以任意,但为了避免被误以为是普通文件,建议将 .sh 后缀加上,以表示是一个脚本文件. shell 脚本中一般会出现三种不同的元素: 第一行的脚 ...

  4. Python&Selenium 数据驱动【unittest+ddt+mysql】

    一.摘要 本博文将介绍Python和Selenium做自动化测试的时候,基于unittest框架,借助ddt模块使用mysql数据库为数据源作为测试输入 二.SQL脚本 # encoding crea ...

  5. Hbuilder 开发微信小程序的代码高亮

    一.点击“工具”-“选项”-搜索“文件关联” 二.点击“添加”文件类型,点击确定 三.在相关联的编辑器中点击“添加”按钮,选择CSS Editor,点击确定,重新打开 *.wxss 类型的文件即可 其 ...

  6. FFmpeg常用命令学习笔记(二)录制命令

    录制命令 1.FFmpeg录屏命令 ffmpeg -f avfoundation -i 1 -r 30 out.yuv -f:指定使用avfoundation采集数据 -i:指定从哪采集数据,它是一个 ...

  7. 记录一下UILabel加载富文本 iOS

    一般情况下我们都习惯用webview加载富文本.但是webview比较消耗内存.然后发现其实本身可以用uilabel加载,性能还不错就记录下~~ 核心方法下面两个 -(NSMutableAttribu ...

  8. Java 扫描微信公众号二维码,关注并自动登录网站

    https://blog.csdn.net/qq_42851002/article/details/81327770 场景:用户扫描微信公众号的二维码,关注后自动登录网站,若已关注则直接登录. 逻辑: ...

  9. 手摸手教你让Laravel开发Api更得心应手

    https://www.guaosi.com/2019/02/26/laravel-api-initialization-preparation/ 1. 起因 随着前后端完全分离,PHP也基本告别了v ...

  10. Create Advanced Web Applications With Object-Oriented Techniques

    Create Advanced Web Applications With Object-Oriented Techniques Ray Djajadinata Recently I intervie ...