• phoenix创建表失败:phoenixIOException: Max attempts exceeded


    下面的问题,搞了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)

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

    问题原因:

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

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

  • 相关阅读:
    Ubuntu若何开启root用户及此外登录成就的处置
    在Linux操作零碎中若何装配内核
    谭浩强C语身教程第一章C言语概述(1)
    Linux独霸琐细下文件的非凡权限
    关于C#中的String replace 函数
    Animation_01_2011年12月24日13:07:23
    HorizontalScrollView_应用举例
    res/values/colors.xml
    Text_01_2011年12月24日12:57:02
    rubbish
  • 原文地址:https://www.cnblogs.com/caoweixiong/p/11747292.html
Copyright © 2020-2023  润新知