Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Phoenix handler创建配置单元表NoClassDefFoundError:org.apache.hadoop.hbase.security.SecurityInfo_Hadoop_Hive_Hbase_Amazon Emr_Phoenix - Fatal编程技术网

使用Phoenix handler创建配置单元表NoClassDefFoundError:org.apache.hadoop.hbase.security.SecurityInfo

使用Phoenix handler创建配置单元表NoClassDefFoundError:org.apache.hadoop.hbase.security.SecurityInfo,hadoop,hive,hbase,amazon-emr,phoenix,Hadoop,Hive,Hbase,Amazon Emr,Phoenix,我想在emr中phoenix表的顶部创建蜂巢表 我面临一个NoClassDefFoundError:org.apache.hadoop.hbase.security.SecurityInfo 到目前为止我所做的: 我按照中的说明添加了phoenix-hive-5.0.0-HBase-2.0.jar到hive env.sh以及hive site.xml 重新启动配置单元服务systemctl重新启动配置单元服务器2。服务 重新启动metastoresystemctl重新启动配置单元hcatal

我想在emr中phoenix表的顶部创建蜂巢表

我面临一个
NoClassDefFoundError:org.apache.hadoop.hbase.security.SecurityInfo

到目前为止我所做的:

  • 我按照中的说明添加了
    phoenix-hive-5.0.0-HBase-2.0.jar
    hive env.sh
    以及
    hive site.xml

  • 重新启动配置单元服务
    systemctl重新启动配置单元服务器2。服务

  • 重新启动metastore
    systemctl重新启动配置单元hcatalog服务器。服务

  • 已从色调执行创建表格命令:

  • 创建外部表ext\u表(
    i1 int,
    s1字符串,
    f1浮动,
    d1十进制
    )
    由“org.apache.phoenix.hive.PhoenixStorageHandler”存储
    TBLProperty(
    “phoenix.table.name”=“ext_table”,
    “phoenix.zookeeper.quorum”=“localhost”,
    “phoenix.zookeeper.znode.parent”=“/hbase”,
    “phoenix.zookeeper.client.port”=“2181”,
    “phoenix.rowkeys”=“i1”,
    phoenix.column.mapping“=“i1:i1,s1:s1,f1:f1,d1:d1”
    );
    
    处理语句时出现异常:
    错误:失败:执行错误,从org.apache.hadoop.hive.ql.exec.ddlstask返回代码1。MetaException(消息:java.lang.NoClassDefFoundError:无法初始化类org.apache.hadoop.hbase.security.SecurityInfo)

    我正在使用emr-6.1.0

    HBase 2.2.5

    凤凰城5.0.0

    蜂巢3.1.2

    有人知道会是什么问题吗

    更新 我遵循@leftjoin的建议,使用hue中的
    addjar
    将phoenix hive JAR添加到类路径中。然后我遇到了由我使用的phoenix hive连接器引起的jar兼容性问题:
    phoenix-hive-5.0.0-HBase-2.0.jar

    phoenix connectors的较新版本未归档到可从下载的单个捆绑包中。相反 接头现在位于中

    我构建了新的phoenix hive连接器(版本:phoenix->5.1.0,hive->3.1.2,Hbase->2.2),并使用它创建hive表

    因此,我得到了另一个异常,我无法修复:

    FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org/apache/phoenix/compat/hbase/CompatSteppingSplitPolicy
    

    我认为这仍然与依赖性问题有关。但不知道具体是什么。

    作为一种解决方法,在创建表和查询之前,将jar放入hdfs并执行
    addjar
    命令:

    ADD JAR hdfs://path/to/your/jar/phoenix-hive-5.0.0-HBase-2.0.jar;
    

    感谢@leftjoin,我这样做了,现在在执行create query之后,在处理语句时得到以下错误
    错误:失败:执行错误,从org.apache.hadoop.hive.ql.exec.ddlstask返回代码1。org/apache/phoenix/util/QueryUtil
    。您有什么建议吗?@bstent这不是信息,最好提供完整的异常消息