Hive启动hiveserver2报错:Could not open client transport with JDBC Uri解决方案

通过beeline进入hive客户端,报错如下:
在这里插入图片描述

问题排查:

  1. 检查$HIVE_HOME/lib/是否有mysql-connector-java-5.1.27-bin.jar(根据自己hive本版可能有不同jar包)
  2. 检查hive-site.xml配置中端口是否正确
    hive.server2.thrift.port
    10000
  3. 检查hive server启动是否正常,查看监听
    $ netstat -anp |grep 10000
    tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 4093/java
    tcp 0 0 192.168.111.129:10000 192.168.111.129:33106 ESTABLISHED 4093/java
    tcp 0 0 ::ffff:192.168.111.12:33106 ::ffff:192.168.111.12:10000 ESTABLISHED 4261/java
  4. 检查hdfs服务是否启动(且得在hive server之前启动)
    通过jps命令查看启动服务列表
    如果hdfs没有启动,先停止hive服务,启动hdfs服务后再启动hive
  5. 在hadoop的core-site.xml中是否添加hiveserver2权限控制属性,没有则添加
    官网地址:https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/Superusers.html
<property>
    <name>hadoop.proxyuser.XXX.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.XXX.groups</name>
    <value>*</value>
</property>

说明:这个XXX是你登录beeline的用户名,更改为自己的用户名即可,*是代表可以在任何的host机器和任何group上登录,配置完hadoop的core-site.xml文件后,一定要重启hadoop,先关闭nodemanger、resourcemanger、jobhistory、datanode、namenode(最好按这个顺序停服务)等Hadoop服务,再倒序开启这些服务,然后启动hive的meta store和hiveserver服务,否则不会生效的!!那样就还是报错!

附上将beeline登录脚本
先在/etc/profile中添加HIVE_HOME

export HIVE_HOME=/opt/software/hive-3.1.1
export PATH=$PATH:$HIVE_HOME/bin

再在$HIVE_HOME/bin下创建脚本beeline2

[fuyun@bigdata01 ~]$ vi /opt/software/hive-3.1.1/bin/beeline2 

#!/usr/bin/env bash

bin=`dirname "$0"`
bin=`cd "$bin"; pwd`

. "$bin"/beeline -u jdbc:hive2://bigdata01.fuyun:10000/temp -n fuyun -p fuyun123 "$@"

然后修改脚本文件的权限:chmod 777 $HIVE_HOME/bin/beeline2
这样以后登录beeline客户端就只需要输入beeline2即可登录
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值