hive _jdbc 连接SASL认证问题

【java代码】
package org.neworigin.hive.Hive_JDBC;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class App {
public static void main( String[] args ) throws ClassNotFoundException, SQLException {
Class.forName("org.apache.hive.jdbc.HiveDriver");
Connection conn=DriverManager.getConnection("jdbc:hive2://192.168.170.100:10000/student"," neworigin","123456 ");
PreparedStatement ppst=conn.prepareStatement("select * from jdbchive");
ResultSet rs = ppst.executeQuery();
while(rs.next()){
int id=rs.getInt("id");
String name=rs.getString("name");
int age =rs.getInt("age");
System.out.println(id+","+name+","+age);

}

conn.close();
ppst.cancel();
rs.close();
}
}
【运行结果】
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/Hw_PC/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.4.1/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/Hw_PC/.m2/repository/org/slf4j/slf4j-log4j12/1.7.10/slf4j-log4j12-1.7.10.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]
12,chw,22
22,zrt,23
Exception in thread "main" java.sql.SQLException: org.apache.thrift.transport.TTransportException: SASL authentication not complete
at org.apache.hive.jdbc.HiveStatement.cancel(HiveStatement.java:174)
at org.neworigin.hive.Hive_JDBC.App.main(App.java:24)
Caused by: org.apache.thrift.transport.TTransportException: SASL authentication not complete
at org.apache.thrift.transport.TSaslTransport.write(TSaslTransport.java:474)
at org.apache.thrift.transport.TSaslClientTransport.write(TSaslClientTransport.java:37)
at org.apache.thrift.protocol.TBinaryProtocol.writeI32(TBinaryProtocol.java:178)
at org.apache.thrift.protocol.TBinaryProtocol.writeMessageBegin(TBinaryProtocol.java:106)
at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:70)
at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:62)
at org.apache.hive.service.rpc.thrift.TCLIService$Client.send_CancelOperation(TCLIService.java:484)
at org.apache.hive.service.rpc.thrift.TCLIService$Client.CancelOperation(TCLIService.java:476)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.hive.jdbc.HiveConnection$SynchronizedHandler.invoke(HiveConnection.java:1412)
at com.sun.proxy.$Proxy10.CancelOperation(Unknown Source)
at org.apache.hive.jdbc.HiveStatement.cancel(HiveStatement.java:168)
... 1 more

(库中的数据可以全部提出来,但是后面老是报认证错误。。。。。。不解。。。。)

1个回答

这个问题的关键点在于,你先执行了conn.close();再去执行ppst.cancel()和rs.close();,顺序颠倒了!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
jdbc连接hive的问题
利用hive jdbc连接hive出现如下问题:   org.apache.hive.jdbc.HiveDriverorg.apache.hive.jdbc.HiveDriverhive_driver: org.apache.hive.jdbc.HiveDriverhive_url:jdbc:hive2://10.174.242.28:10000/defaultget connection
jdbc连接hive超时的问题
jdbc连接hive 超时的问题,原因:1.hadoop服务没有启动,2.hive服务没有启动、3.防火墙没有关闭。
postfix sasl认证出错.....
main.cf-----------------------rnrnqueue_directory = /var/spool/postfixrnrncommand_directory = /usr/sbinrnrndaemon_directory = /usr/libexec/postfixrnrnmail_owner = postfixrnrnmyhostname = mail.gdvcp.netrn#myhostname = virtual.domain.tldrnrnmydomain = gdvcp.netrnrnmyorigin = $myhostnamern#myorigin = $mydomainrnrn#inet_interfaces = allrn#inet_interfaces = $myhostnamern#inet_interfaces = $myhostname, localhostrninet_interfaces =allrnrn# The proxy_interfaces parameter specifies the network interfacern# addresses that this mail system receives mail on by way of arn# proxy or network address translation unit. This setting extendsrn# the address list specified with the inet_interfaces parameter.rn#rn# You must specify your proxy/NAT addresses when your system is arn# backup MX host for other domains, otherwise mail delivery loopsrn# will happen when the primary MX host is down.rn#rn#proxy_interfaces =rn#proxy_interfaces = 1.2.3.4rnrnmydestination = $myhostname,$mydomain, localhostrnrnunknown_local_recipient_reject_code = 550rnrnmynetworks = 168.100.189.0/28, 127.0.0.0/8,192.168.0.0/100,192.168.1.0/100rn#mynetworks = $config_directory/mynetworksrn#mynetworks = hash:/etc/postfix/network_tablernrnrelay_domains =gdvcp.netrnrnalias_database = hash:/etc/aliasesrnrndebug_peer_level = 2rnrndebugger_command =rn PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/binrn xxgdb $daemon_directory/$process_name $process_id & sleep 5rnrnsendmail_path = /usr/sbin/sendmail.postfixrnrn# newaliases_path: The full pathname of the Postfix newaliases command.rn# This is the Sendmail-compatible command to build alias databases.rn#rnnewaliases_path = /usr/bin/newaliases.postfixrnrn# mailq_path: The full pathname of the Postfix mailq command. Thisrn# is the Sendmail-compatible mail queue listing command.rn# rnmailq_path = /usr/bin/mailq.postfixrnrn# setgid_group: The group for mail submission and queue managementrn# commands. This must be a group name with a numerical group ID thatrn# is not shared with other accounts, not even with the Postfix account.rn#rnsetgid_group = postdroprnrn# html_directory: The location of the Postfix HTML documentation.rn#rnhtml_directory = nornrnsample_directory = /usr/share/doc/postfix-2.3.3/samplesrnrn# readme_directory: The location of the Postfix README files.rn#rnreadme_directory = /usr/share/doc/postfix-2.3.3/README_FILESrnrnsmtpd_sasl_auth_enable = yes //启用sasl验证 rnsmtpd_sasl_security_options = noanonymous //设定验证机制,拒绝匿名用户 rnbroken_sasl_auth_clients = yes //rnsmtpd_recipient_restrictions = rn permit_sasl_authenticated, rn permit_mynetworks, rn reject_unauth_destination[img=http://b39.photo.store.qq.com/http_imgload.cgi?/rurl4_b=330ec2dd367158f41360ab48d297c5dc1561e19bb25efa7d4e1f9f4ac0fdde32b220c3e8078590a61f8c67490a22776e2b7d495d105275b9c815b4268751276b2d9e15802cc15c2fecfff375748805eb9a2daf2f&a=38&b=39][/img]rnrn
jdbc连接hive
本代码中demo讲解了如果使用jdbc连接cdh搭建的hive环境信息
jdbc连接hive的jar包
亲测有用,在ambari2.5.2下安装的hadoop版本,后面的版本应该都没问题
jdbc连接hive工具类
使用jdbc连接hive 里面提供了很多封装方法 .....................................................................
Jdbc连接Hive数据库
Jdbc连接Hive数据库通常会遇到:     报错:jdbc:hive2://master0.example.com:10000: Java.NET.ConnectException: Connection refused: connect 首先来看下maven的配置文件: 接着是hive-site.xml文件:    
jdbc 连接impala或者jdbc连接hive
jdbc 连接impala或者jdbc连接hive所需的jar包。
通过JDBC连接Hive
使用JDBC去操作hive可能是程序员们比较喜欢的一种方式,今天来总结一下使用java api来对hive进行增删查改,这里我主要演示对hive表中数据的操作,不创建表已经改变表原有的结构。本文基于hive已经能正常使用的情况。 首先hive必须以服务方式启动,平台默认启动时hive server2 模式。hiveserver2是比hiveserver更高级的服务模式,提供了hiveserver...
通过JDBC连接hive
hive是大数据技术簇中进行数据仓库应用的基础组件,是其它类似数据仓库应用的对比基准。基础的数据操作我们可以通过脚本方式以hive-client进行处理。若需要开发应用程序,则需要使用hive的jdbc驱动进行连接。本文以hive wiki上示例为基础,详细讲解了如何使用jdbc连接hive数据库。hive wiki原文地址: https://cwiki.ap...
Hive JDBC连接
hive2.3.2 JDBC连接 ,sql developer可用。选择第三方jdbc,加入,就可以显示hive连接。用的cloudra的jdbc用于连接操作数据库,java开发请使用maven获取开源组件。
JDBC连接Hive实例
JDBC连接hive,用JD连接hive。
hive jdbc连接Demo
jdbc连接hive的小示例程序,使用方法: 1、在Hadoop服务器上启动远程服务接口,命令: nohup hive --service hiveserver 10000 & (指定端口启动) 2、将test主程序里的IP改为自己用的Hadoop服务器ip,即可使用。
HIVE JDBC连接详解
packageorg.conan.myhadoop.mr; importjava.sql.Connection; importjava.sql.DriverManager; importjava.sql.ResultSet; importjava.sql.SQLException; importjava.sql.Statement; p...
HIVE JDBC方法连接
输入 hiveserver2 打开hive server2 在之前的学习和实践Hive中,使用的都是CLI或者hive –e的方式,该方式仅允许使用HiveQL执行查询、更新等操作,并且该方式比较笨拙单一。幸好Hive提供了轻客户端的实现,通过HiveServer或者HiveServer2,客户端可以在不启动CLI的情况下对Hive中的数据进行操作,两者都允许远程客户端使用多种编程语言如Ja...
hive连接jdbc的jar包
数据库连接jar包,可以用来连接客户端,dbv等,sql developer客户端等
简单认证与安全层SASL
http://zh.wikipedia.org/wiki/%E7%AE%80%E5%8D%95%E8%AE%A4%E8%AF%81%E4%B8%8E%E5%AE%89%E5%85%A8%E5%B1%82 简单认证与安全层 (SASL) 是一个在网络协议中用来认证和数据加密的构架。它把认证机制从程序中分离开, 理论上使用SASL的程序协议都可以使用SASL所支持的全部认证机制。认证机制可支持代
zookeeper SASL 认证错误排除
1.现象:预发布环境zookeeper频繁的抛出 {0={error=2018-03-08 13:40:34 318 INFO [http-bio-8080-exec-8-SendThread(172.31.0.3:2181)] org.apache.zookeeper.ClientCnxn - Opening socket connection to server 172.31.0.3/172....
kerberos认证hive连接代码
kerberos认证hive连接代码,springmvc配置加上java触发认证kerberos认证
hive编程-JDBC方式连接hive
博主使用JDBC方式进行hive编程,hive环境为hive2.2.0,需要开启hiveserver模式,自带的server模式是hiveserver2,启动命令如下:(1)hive --service hiveserver2  (这种方式会使得hiveserver一直占用命令行,需要用Ctrl+C强制中断命令)(2)hive --service hiveserver2 &  (这个命令会...
Hive学习笔记 6 Hive的JDBC连接
1、配置Hadoop的配置文件/hadoop-2.6.5/etc/hadoop/               hadoop.proxyuser.root.hosts             127.0.0.1,localhost,pc1                          hadoop.proxyuser.root.groups             *
请教关于LDAP SASL认证的问题
服务器: windows server rn LDAP server: Active Directory.rn LDAP 客户端 openldap.rn 现在通过openldap 连接服务器成功。rn rn 但是window服务器明明支持NTLM(通过微软自带的ldp测试成功,考虑到接口兼容性,我这里客户端接口采用openldap)rnrn 我这边提交ldapserarch -I -YNTLM -wadmin -H"ldap://192.168.1.253/" -D"cn=administrator,cn=users,dc=forwavetest,dc=com" (objectclass=*)rn 提示验证机制不存在(不支持)。rn 请高手帮忙解决.rn 顶者有分
jdbc连接cdh版本hive
在使用IDE连接cdh版本hive时,由于jdbc版本问题,会出现如下几个错误:1.jdbc版本不是cdh的,必须使用cdh版本的;2.使用阿里云镜像仓库,从maven仓库中下载相应版本,下载失败,没有;3.从cdh内置的lib库取出相应的jar包,导出到IDE,成功,步骤如下:    a)cdh库默认地址:/opt/cloudera/parcels/CDH-5.10.0-1.cdh5.10.0....
Java通过jdbc连接HIVE
一、连接 public static void main(String[] args) throws SQLException { try { Class.forName("org.apache.hive.jdbc.HiveDriver"); } catch (ClassNotFoundException e) { // TODO Auto-generated cat...
Java通过JDBC连接Hive
本文是通过JDBC连接HiveServer2。 首先需要开启Hive远程服务接口。具体操作请百度。 然后是找到各种jar包。 我之前多次出错的原因就在于jar包不对,选用的jar包只能连接HiveServer。 我整理的jar下载网址为:http://download.csdn.net/detail/q2011zhuce/9467164 Java连接Hive示例代码import
jdbc方式连接hive报错解决
错误: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException) User abcde is not allowed to impersonate anonymous 错误。 解决方案: 修改had...
hive安装配置及连接JDBC基本操作
1.下载hive http://36.250.74.55/ws.cdn.baidupcs.com/file/10e3283a3c9368b097f5a7f3c19d9a73?bkt=p2-nj-3&xcode=355529f5d8d02bac3cd174e84dc03e4b685eba8f91f4baabae97ca166f54709c&fid=487907638-250528-513621830
hive的jdbc连接驱动包
hive的jdbc连接,亲身试验可以使用,但有时还需要hive其他环境
jdbc连接hive需要的jar包
jdbc连接hive server需要的jar包
通过JDBC来连接Hive
在大数据分析中,Hive作为历史数据挖掘分析工具,用到的很多,我们可以通过Hive的命令行来很方便地操作Hive中的数据,但是很多时候我们都需要将Hive的操作融入到编程环境中去,而Hive提供了JDBC接口,因而我们可以很方便地通过JDBC来操作Hive。下面就记录一下通过JDBC来连接Hive的过程:         第一步:启动集群中的Mysql服务(在安装mysql的那个节点上)
hive jdbc连接方式加密
hive权限,通过自定义jar对hive的10000端口进行权限管控,直接放入到hive所在的lib环境下,然后对xml文件进行相应的配置
Hive客户端JDBC连接操作
创建maven工程pom.xml------------------------------<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/P...
hive 认证
Pluggable custom authentication: Pluggable custom authentication provides a custom authentication provider for HiveServer2. To enable it, confgure the settings as follows: hive.server2.authenticat
GoHive:支持SASL的go语言Hive客户端
https://github.com/lwldcr/gohive花了一周时间才调通,看log配合Hive的源码一步步debug相当费事,基本是按照pyhs2来实现的,支持SASL协议Plain模式,其他模式看后续是否需要酌情增加。客户端、查询操作返回数据还可以进一步封装,提供更便捷的使用,后面再更新吧。欢迎试用、反馈。
hive之jdbc
NULL 博文链接:https://fypop.iteye.com/blog/2241060
kafka集群使用 SASL/PLAIN 认证
kafka集群使用 SASL/PLAIN 认证 SASL/PLAIN 是一种简单的 username/password 认证机制, 通常与 TLS 加密一起使用, 用于实现安全认证. Kafka 提供了一个默认的 SASL/PLAIN 实现, 可以做扩展后在生产环境使用. username 在 ACL 等的配置中作为已认证的 Principal. 1.配置 Kafka Broker 在每一个 Ka...
集群Kafka配置SASL用户名密码认证
本文中配置的kafka集群为三节点,Zookeeper有4节点。两个集群相互独立。 Apache Kafka v2.11-0.10.0.0 Apache Zookeeper v3.4.8 Kafka配置SASL PLAIN用于完成基本的用户名密码身份认证。 一、Zookeeper集群配置SASL zookeeper所有节点都是对等的,只是各个节点角色可
hive server2 连接mysql认证配置
create table hiveserver2_auth (username varchar(30),password varchar(48), primary key(username));<property>  <name>hive.server2.custom.auth.db.driver</name>  <value>com.mysql.j...
kafka使用笔记-librdkafka支持sasl认证
由于业务需要,需要在librdkafka开源库的基础上增加SASL认证。由于相关的资料比较少,特此记录,以便后用。本此librdkafka的使用时在windows平台,。 一、版本和准备工作 1、librdkafka 由于之前一直使用的是librdkafka0.9版本,编译之后死活认证失败,最后拉取最新版本,测试可用。点击此处 下载最新librdkafka源码 2、openssl 由于librdk...
Client访问控制和Cyrus sasl认证.doc
六、实现postfix基于客户端的访问控制 1、基于客户端的访问控制概览 postfix内置了多种反垃圾邮件的机制,其中就包括“客户端”发送邮件限制。客户端判别机制可以设定一系列客户信息的判别条件 七、为postfix开启基于cyrus-sasl的认证功能
相关热词 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天 c#func链接匿名方法 c#怎么创建文件夹 c#从键盘接收空格 c#da/ad c#部门请假管理系统 c#服务器socket c# 默认的访问修饰符