首页 > 解决方案 > 使用 Phoenix 驱动程序首次连接到 HBase 时出错

问题描述

我正在使用 Phoenix 驱动程序连接到 HBase。一切正常,但在获取连接时日志中有错误堆栈跟踪。同样,它工作正常,功能上没有问题。

DataSource dataSource = getDataSource();
    TransactionFactory transactionFactory = new JdbcTransactionFactory(); 
    Environment environment = new Environment("test", transactionFactory, dataSource);
    Configuration configuration = new Configuration(environment);
    configuration.addMappers("co.mybatis.mapper");
    return new SqlSessionFactoryBuilder().build(configuration);
public static DataSource getDataSource() {
return new UnpooledDataSource("org.apache.phoenix.jdbc.PhoenixDriver", CDH_UAT, "", "") {

        @Override
public Connection getConnection() throws SQLException {
            Connection connection = super.getConnection();// i see error stacktrace here
            connection.setSchema("xxx");

            return connection;

        }
}}

java.util.concurrent.ExecutionException: org.apache.hadoop.hbase.security.AccessDeniedException: org.apache.hadoop.hbase.security.AccessDeniedException: 权限不足 (user=userid@mydomain.COM, scope=SYSTEM, params=[命名空间=系统,表=系统:目录],操作=创建)

第一次,它打印错误堆栈跟踪,但之后一切看起来都很好。似乎是第一次尝试将连接插入到系统目录表中,不知道为什么。

我该如何摆脱这个错误?

标签: javahbasemybatisphoenix

解决方案


推荐阅读