大数据自学3-Windows客户端DbVisualizer/SQuirreL配置连接hive
前面已经学习了将数据从Sql Server导入到Hive DB,并在Hue的Web界面可以查询,接下来是配置客户端工具直接连Hive数据库,常用的有DbVisualizer、SQuirreL SQL Client、DataGrip,只试用了前面两种,花了1天多时间最终实现了用这两款工具连Hive,还是挺有成就感的。
先把环境说明下,有些问题跟环境版本是非常依赖的。
Hadoop/Hive:使用的是CDH 5.15版
DbVisualizer:v 9.58
SQuirreL SQL Client:v 3.7
最先看到是这位大神的文章,”Hive学习之路 (五)DbVisualizer配置连接hive“,配置完后确无法连接,提示Required field 'client_protocol' is unset!,

查了一下,出现这个是因为jdbc的版本与服务器端Hive的jdbc版本不一致造成的,服务器端用的是CDH 5.15,我找到原始的CDH安装包,在cm-5.15.1\share\cmf\common_jars\路径下找到对应版本的文件,主要的几个文件如下:
hadoop-common-2.6.0-cdh5.14.0
hive-common-1.1.0-cdh5.14.0
hive-exec-1.1.0-cdh5.14.0
hive-metastore-1.1.0-cdh5.14.0
hive-jdbc-1.1.0-cdh5.14.0
hive-service-1.1.0-cdh5.14.0
hive-shims-1.1.0-cdh5.14.0
hive-shims-common-1.1.0-cdh5.14.0
这些文件都不能缺少,否则会报ClassNotFoundException等错误
将这些jar替换之前的版本文件后再次连接时,又报错了,提示Illegal Hadoop Version:unknown (expected A. B. * format)

这个要参照这个链接 https://github.com/timveil/hive-jdbc-uber-jar 来解决,原生的取Hadoop版本的方法VersionInfo有某些情况下会取不到,因此这位大神将这个方法改写了,真是牛人啊,真好奇为什么不直接将这段代码提交到开源库呢。
回归正题,按其上面的方法生成了一个hive-jdbc-uber-2.6.5.0-292文件,将此文件复制到jdbc 的路径下,在Driver Manager里重新引用这个jar,发现还是提示之前的错误“Required field 'client_protocol' is unset!”,这个错误已经很明确就是jdbc版本的问题,看了下从github下载下来的工程,发现了pom.xml中有以下段。尝试将hive有关的全部注释,再次打包生成hive-jdbc-uber-2.6.5.0-292文件,这次终于成功了。

DBVisualier中的设定画面

连接成功后查询某表的数据

用SQuirreL SQL Client的基本步骤可以参照https://www.cnblogs.com/tgzhu/p/5760698.html,同样的现象,如果hadoop/hive的jar版本不一致或遗漏,也会报上面一样的错误,因此也是按上面的方法同样处理,不同的地方是,生成hive-jdbc-uber-2.6.5.0-292文件时,无需将hive的相关引用注释,我猜当有多个jdbc hive版本时,SQuirreL SQL Client里特殊的机制能找到正确的jdbc版本,但DbVisualizer不能。
另外SQuirreL 配置时要记得步骤,当报Illegal Hadoop Version时,在jdbc Driver配置里要引入hive-jdbc-uber-2.6.5.0-292,同时将hadoop-common-2.6.0-cdh5.14.0的引用去除,保存后可以就可以了。

如果Hive配置了Kerberos安全机制,使用这两个客户端连接起来会麻烦很多,参照https://community.hortonworks.com/content/kbentry/73458/connecting-dbvisualizer-and-datagrip-to-hive-with.html。
大数据自学3-Windows客户端DbVisualizer/SQuirreL配置连接hive的更多相关文章
- 大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建
大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建 大数据应用之Windows平台Hbase客户端Eclipse环境搭建-Java版 作者:张子良 版权所有,转载请注明出处 引子 ...
- 大数据应用日志采集之Scribe 安装配置指南
大数据应用日志采集之Scribe 安装配置指南 大数据应用日志采集之Scribe 安装配置指南 1.概述 Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用.它 ...
- 通过数据库客户端界面工具DBeaver连接Hive
前言 本文讲解如何通过数据库客户端界面工具DBeaver连接hive,并解决驱动下载不下来的问题. 1.为什么使用客户端界面工具 为什么使用客户端界面工具而不用命令行使用hive 通过界面工具查看分析 ...
- 大数据自学4-Hue集成环境中各模组说明
前面已经学习了如何将数据从关系型数据库导入到Hive/HDFS,并且在Windows客户端查询导入的数据,接下来继续学习CDH,知识点: 1.Hue环境中DB Query如何使用,DB Query这个 ...
- 大数据自学2-Hue集成环境中使用Sqoop组件从Sql Server导数据到Hive/HDFS
安装完CDH后,发现里面的东东实在是太多了,对于一个初学大数据的来说就犹如刘姥姥进了大观园,很新奇,这些东东每个单拿出来都够喝一壶的. 接来来就是一步一步地学习了,先大致学习了每个模组大致做什么用的, ...
- centos6.5环境搭建openvp服务器及windows客户端搭建及配置详解
1.环境搭建 说明: vpn client 192.168.8.16/24 openvpn server: eth0: 192.168.8.41 eth1: 172.16.1.10 app serve ...
- 大数据入门:Hadoop安装、环境配置及检测
目录 1.导包Hadoop包 2.配置环境变量 3.把winutil包拷贝到Hadoop bin目录下 4.把Hadoop.dll放到system32下 5.检测Hadoop是否正常安装 5.1在ma ...
- 五十九.大数据、Hadoop 、 Hadoop安装与配置 、 HDFS
1.安装Hadoop 单机模式安装Hadoop 安装JAVA环境 设置环境变量,启动运行 1.1 环境准备 1)配置主机名为nn01,ip为192.168.1.21,配置yum源(系统源) 备 ...
- 在 windows 下搭建 IDEA + Spark 连接 Hive 的环境
为了开发测试方便,想直接在 IDEA 里运行 Spark 程序,可以连接 Hive,需不是打好包后,放到集群上去运行.主要配置工作如下: 1. 把集群环境中的 hive-core.xml, hdfs- ...
随机推荐
- winform里直接使用WCF,不需要单独的WCF项目
https://www.cnblogs.com/fengwenit/p/4249446.html 依照此法建立即可, 但是vs生成的配置有误,正确配置如下 <?xml version=" ...
- Spark History Server产生背景
以standalone运行模式为例,在运行Spark Application的时候,Spark会提供一个WEBUI列出应用程序的运行时信息:但该WEBUI随着Application的完成(成功/失败) ...
- 263A
#include<stdio.h> #include<stdlib.h> int main() { int i, j; int temp; int t_i, t_j; int ...
- openshift 容器云从入门到崩溃之一《容器能解决什么问题》
容器前时代 说到容器大多数人想到的就是docker,docker的迅速崛起使得使用容器的门槛大大降低了,我第一次接触docker还是14年,那时候作为一名运维部署应用还在大量使用虚拟化,从vmware ...
- daofu
快排排序算法 public class QuickSort { public static void Main(String[] args) { , , , , , , , }; quickSort( ...
- 25-Python3 错误和异常
25-Python3 错误和异常 ''' 语法错误 ''' # while True print('hello,runoob') ''' 异常 ''' ##ZeroDivisionError # pr ...
- 超实用教程,教你用墨刀做出小红书app原型
一个新手怎么用1小时快速学会APP原型设计? 1小时很短,这意味着学习时必须把握APP原型设计中的重点.难点,而非面面俱到. 要在短时间内理解.掌握一个工具的使用,最有效的方式莫过于临摹: 看实例视频 ...
- leetcode 108
二分法建立二叉树,每次把左半部分作为左子树右半部分作为右子树,递归建立BST. #include<bits/stdc++.h> using namespace std; /** * Def ...
- cocos游戏开发小白教程网站
<Quick-Cocos2d-x v3.3小白书系列教程> <Quick-Cocos2d-x初学者游戏教程>
- 从0开始搭建vue+webpack脚手架(一)
基于多数情况下都是使用vue-cli初始化项目, 却始终未去了解其原理.从零开始搭建,可以让自己更深层次的理解框架. 首先从最基本的npm 开始, 至于安装npm 和 node就不用再赘述了,那是前端 ...