Hive-1.2.1使用问题集

背景

  Hive是Hadoop生态区中为数不多支持SQL的一个SQLengine,但支持的程度不是100%,比如,建模时要用到的limit offset,查看了Hive的手册,里面是不支持的。


问题

1.在使用Hive的期间,遇到最多的,也是之前一直没有解决的,耗时最长的,就是使用beeline远程链接的问题了。

现象

 ./bin/beeline -u jdbc:hive2://162.18.1.10:10000
Connecting to jdbc:hive2://162.18.1.10:10000
Error: Could not open client transport with JDBC Uri: jdbc:hive2://162.18.1.10:10000: java.net.ConnectException: 接続を拒否されました (state=08S01,code=0)
Beeline version 1.2.1 by Apache Hive
0: jdbc:hive2://162.18.1.10:10000 (closed)>
之前初步调查了一下,只是为了使用,简单调查了一下,最简单的就是使用如下命令:
./bin/beeline -u jdbc:hive2://
但如果Hive的客户端跟服务器是分开,或者是远程去连接Hive服务,比如zeppelin之类的,就需要特别的指定IP了。上面的解决策就不行了。

当指定如上所示的,就会出错,如果直接使用

./bin/beeline 
进入到beeline的客户端,需要连接hive服务,使用如下命令:

!connect jdbc:hive2://162.18.1.10:10000
需要指定用户名跟密码。

为此,需要如下设置信息:

追加用户自己设定的属性值:conf/hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 --><configuration>
  <!-- WARNING!!! This file is auto generated for documentation purposes ONLY! -->
  <!-- WARNING!!! Any changes you make to this file will be ignored by Hive.   -->
  <!-- WARNING!!! You must make your changes in hive-site.xml instead.         -->
  <!-- Hive Execution Parameters -->
<property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
        <description>ername to use against metastoredatabase</description>
</property>
<property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
        <description>password to use against metastoredatabase</description>
</property>
</configuration>
重启Hive服务。

再次尝试,使用

./bin/beeline -u jdbc:hive2://162.18.1.10:10000
或者

                
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误通常意味着Hive不能找到所需的执行jar包。你可以尝试以下几个步骤: 1. 检查Hive的配置是否正确,并确保`hive-exec-*.jar`文件存在于`/opt/module/apache-hive-1.2.1-bin/lib/`目录中。如果不存在,你可能需要重新安装Hive。 2. 检查你的环境变量是否正确设置。确保`HIVE_HOME`指向正确的Hive安装目录,并将`$HIVE_HOME/bin`添加到`$PATH`中。 3. 如果你正在使用Hadoop群,请确保Hive和Hadoop的版本兼容。不同版本的Hive可能需要不同版本的Hadoop支持。 4. 如果你正在使用远程Hive服务器,请确保你的客户端能够访问Hive服务器,并且Hive服务器上的配置正确。 如果以上步骤都没有解决问题,你可能需要查看Hive的日志文件,以确定更具体的错误信息。 ### 回答2: 在Hive中执行任务时,可能会遇到"Missing Hive Execution Jar"错误,表示Hive无法找到所需的hive-exec-*.jar文件。这个问题通常发生在缺少Hive的执行文件或文件位置错误的情况下。 要解决这个问题,可以按照以下步骤进行操作: 1. 首先,确保在指定的路径/opt/module/apache-hive-1.2.1-bin/lib/中存在hive-exec-*.jar文件。如果文件确实存在,那么可能是权限问题导致Hive无法读取该文件。可以使用chmod命令修改文件权限,确保Hive可以访问该文件。 2. 如果文件确实存在,并且权限设置正确,但Hive仍然无法找到该文件,可以尝试重新设置Hive的环境变量。在Hive的配置文件中(通常是hive-env.sh或hive-site.xml),检查hive.exec.jar路径的设置。确保该路径正确地指向hive-exec-*.jar文件所在的位置。 3. 最后,可以通过重新安装Hive来解决该问题。在重新安装之前,确保彻底卸载Hive,并删除掉相关的文件和目录,然后重新安装最新版本的Hive。 总之,解决"Missing Hive Execution Jar"错误的关键是确保hive-exec-*.jar文件存在且位置正确,并检查Hive的环境变量和配置文件中的设置是否正确。如果问题仍然存在,可以尝试重新安装Hive来解决该问题。 ### 回答3: 缺少Hive执行Jar包:/opt/module/apache-hive-1.2.1-bin/lib/hive-exec-*.jar。 这个错误表示在指定的路径中缺少Hive执行Jar包。Hive使用这个Jar包来执行Hive查询和任务。 要解决这个问题,首先需要确认是否正确安装了Hive,并且路径设置正确。如果路径不正确,可以在Hive的配置文件中更正路径。 另外,还需要确认是否存在这个Jar包,并且该Jar包的版本与Hive的版本兼容。需要确保Hive执行Jar包与所使用Hive版本匹配,否则可能会出现兼容性问题。 如果确保了路径和版本都是正确的,但依然缺少该Jar包,可以尝试重新下载并安装Hive。在安装过程中,确保将Hive执行Jar包正确地放置在指定的路径下。 如果还是无法解决问题,可能需要查看Hive的日志文件以获取更多详细的错误信息。根据日志中的具体错误,可以进一步排查可能的原因,并采取相应的解决措施。 总结来说,缺少Hive执行Jar包的错误是由于路径设置不正确或Jar包版本不兼容引起的。通过检查路径配置、重新下载安装和查看日志文件等步骤,可以解决这个问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值