cdh hive raise:无法示例化org.apache.hadoop.hive.ql.metadata.sessionhivemetastoreclient

umuewwlo  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(398)

我安装了 CDH 6.2 在两台服务器上,device1是主服务器。但是,当我运行配置单元命令行时,cm web ui中没有任何错误: show databaes; 在device1中,出现以下异常:

dennis@device1:~$ hive
/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/bin/../lib/hive/conf/hive-env.sh: line 24: /opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/hbase/hbase-hadoop2-compat.jar: Permission denied
/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/bin/../lib/hive/conf/hive-env.sh: line 25: /opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/hbase/lib/htrace-core.jar: Permission denied
/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/bin/../lib/hive/conf/hive-env.sh: line 26: /opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/hbase/hbase-common.jar: Permission denied
/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/bin/../lib/hive/conf/hive-env.sh: line 27: /opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/hbase/hbase-server.jar: Permission denied
/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/bin/../lib/hive/conf/hive-env.sh: line 28: /opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/hbase/hbase-hadoop-compat.jar: Permission denied
/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/bin/../lib/hive/conf/hive-env.sh: line 29: /opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/lib/hbase/hbase-protocol.jar: Permission denied
/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/bin/../lib/hadoop/libexec/hadoop-functions.sh: line 2331: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: bad substitution
/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/bin/../lib/hadoop/libexec/hadoop-functions.sh: line 2426: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_OPTS: bad substitution
WARNING: Use "yarn jar" to launch YARN applications.
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/jars/log4j-slf4j-impl-2.8.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/jars/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]

Logging initialized using configuration in jar:file:/opt/cloudera/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373/jars/hive-common-2.1.1-cdh6.2.0.jar!/hive-log4j2.properties Async: false

WARNING: Hive CLI is deprecated and migration to Beeline is recommended.
hive> show databases;
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
hive>

但是,当我运行hive命令行时,device2上没有任何异常。此外,这也是正常的 Hue

eqqqjvef

eqqqjvef1#

您的设备1上可能没有用于配置单元服务的网关,只有您的设备2上可能还有配置单元元存储。另请参见如何将配置单元配置传播到配置单元客户端(重点):
因为配置单元服务没有工作角色,所以需要另一种机制来将客户机配置传播到集群中的其他主机。在cloudera管理器中,网关角色实现了这个功能。无论是在安装时还是以后添加配置单元服务,请确保将网关角色分配给群集中的主机。如果没有网关角色,则不会部署客户端配置。
您的设备1没有客户端配置,因此无法与配置单元元存储建立连接。
您还应该检查在复制输出开始时收到的错误消息(重点是我的):
/opt/cloudera/parcels/cdh-6.2.0-1.cdh6.2.0.p0.967373/bin/./lib/hive/conf/hive-env.sh:第24行:/opt/cloudera/parcels/cdh-6.2.0-1.cdh6.2.0.p0.967373/lib/hbase/hbase-hadoop2-compat.jar:权限被拒绝
配置单元用户可能存在权限问题,无法访问某些目录。
最后一点是你应该换成直线。由于输出中的以下消息显示不建议使用配置单元cli:
警告:不推荐使用hive cli,建议迁移到beeline。
另请参见《从hive cli迁移到beeline:入门》,cloudera fom 2014指南:
最近,hive社区(由cloudera工程师负责)推出了hiveserver2,这是一种增强的hive服务器,设计用于多客户机并发和改进的身份验证,还为通过jdbc和odbc连接的客户机提供了更好的支持。现在推荐使用以beeline作为命令行界面的hiveserver2;不推荐使用hiveserver1和hive cli,后者甚至不能与hiveserver2一起使用。

相关问题