直线-没有当前连接-找到默认的hs2连接配置提示

时间:2019-06-09 16:41:04

标签: hive cloudera cloudera-manager beeline

在我们的一个cloudera集群中,我们面临有关Beeline CLI的问题。我们正在尝试使用beeline CLI连接和执行hql文件,这些文件是alter语句,如下所示,但由于以下错误而失败。

[srvcacc@hostname ~]$ beeline -u jdbc:hive2://hostname.domain.dom:10000 --verbose=true --showWarnings=true
WARNING: Use "yarn jar" to launch YARN applications.
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/lib/hive/lib/log4j-slf4j-impl-2.8.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/lib/zookeeper/lib/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]
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'org.apache.logging.log4j.simplelog.StatusLogger.level' to TRACE to show Log4j2 internal initialization logging.
Beeline version 2.1.1-cdh6.1.1 by Apache Hive
Default hs2 conection config file not found
0: jdbc:hive2://hostname.domain.dom:10000> show databases;
No current connection
0: jdbc:hive2://hostname.domain.dom:10000>

我们在beeline中尝试使用以下方法进行连接,其中2种方法中的1种失败,而另一种可行。

第一种方法:

[srvcacc@hostname ~]$ beeline -u jdbc:hive2://hostname.domain.dom:10000

第二种方法:

[srvcacc@hostname ~]$ beeline
WARNING: Use "yarn jar" to launch YARN applications.
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/lib/hive/lib/log4j-slf4j-impl-2.8.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/lib/zookeeper/lib/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]
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'org.apache.logging.log4j.simplelog.StatusLogger.level' to TRACE to show Log4j2 internal initialization logging.
Beeline version 2.1.1-cdh6.1.1 by Apache Hive
beeline> !connect jdbc:hive2://hostname.domain.dom:10000
Connecting to jdbc:hive2://hostname.domain.dom:10000
Enter username for jdbc:hive2://hostname.domain.dom:10000:
Enter password for jdbc:hive2://hostname.domain.dom:10000:
Connected to: Apache Hive (version 2.1.1-cdh6.1.1)
Driver: Hive JDBC (version 2.1.1-cdh6.1.1)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://hostname.domain.do>

第一种方法失败并显示以下错误

Default hs2 conection config file not found
0: jdbc:hive2://hostname.domain.dom:10000> show databases;
No current connection

第二种方式连接没有任何错误。

我们使用-d参数尝试了连接,并明确提及了驱动程序“ org.apache.hive.jdbc.HiveDriver”,甚至给出了与“找不到默认hs2连接配置”相同的错误。我们还尝试了与“ Hive CLI”(不推荐使用)的连接,该连接没有任何问题。我们需要使用带有“ -u”和“ -f”参数的直线。

集群信息:

  • 在RHEL 7.5上具有CDH版本6.1.1的5个节点(一个主节点和4个数据节点)集群
  • HiveServer2,Hive Metastore和webHcat服务器位于同一服务器(主节点)中
  • 与配置单元的连接没有任何身份验证机制。

我们已经验证了“ HiveServer2”,“ HiveMetastore”服务以及相关端口和Web UI端口,所有功能均正常运行。

在此集群的初始设置期间,由于/ tmp的安全策略具有“ noexec”配置,因此我们必须更改以下配置,并明确提及“'-Djava.io.tmpdir = / var / log / cloudera-scm-server / yarntemp”(其中“ / var / log / cloudera-scm-server”是具有775个权限的单独安装点)

YARN configuration

1. ApplicationMaster Java Opts Base
2. Java Configuration Options for JobHistory Server
3. Java Configuration Options for NodeManager
4. Java Configuration Options for ResourceManager

Cloudera Manager --> YARN --> search for: Gateway Client Environment Advanced Configuration Snippet (Safety Valve) for hadoop-env.sh and add this:
HADOOP_CLIENT_OPTS="-Djava.io.tmpdir=/var/log/cloudera-scm-server/yarntemp"

参考:https://community.cloudera.com/t5/Cloudera-Manager-Installation/Problem-starting-a-nodemanager/td-p/27658

请让我们知道beeline使用-u和-f参数需要做些什么。任何帮助将不胜感激。

谢谢。

2 个答案:

答案 0 :(得分:0)

因此,您要说的是使用“直线”进行连接,而使用“直线-u xxx -f yyy却没有。

查看您的日志,似乎是因为它的用户名和密码。

你能尝试这样的事情吗

beeline -u jdbc:hive2://hostname.domain.dom:10000 -n <yourname> -p <yourpassword> -f <filename.hql>

答案 1 :(得分:0)

它不适用于CDH47。它与CDH514版本一起使用。没关系。我们可以用Hive shell做到