Squirrel 连接Hive

简介:

最近接手了一个数据分析的项目,开发语言是Hive。 看到见小伙伴们开发调试都在命令行上,经常需要window下编写hive sql,再拷贝到linux中进行执行,效率感觉比较低。于是,想寻找一个客户端工具来提供开发调试的效率。网上一问度娘,发现了Squirrel这个客户端工具,但对于如何安装、配置却没有一个完整描述,实在让人恼火。 运维同事也表示不熟悉开发工具,看来还得“自给自足”啊。

1.       下载工具:https://sourceforge.net/projects/squirrel-sql/files/1-stable/3.8.0/squirrel-sql-3.8.0-standard.jar/download

2.       下载完成后,进行正常的安装。安装完成的界面如下所示:

7023860020b30448c66d08ce5350fa2f29665b2e

3.       配置Driver,如下图所示:

填写名称

填写URL: jdbc:hive2://192.168.142.128:10000/test (可先随便写一个地址)

填写ClassName: org.apache.hive.jdbc.HiveDriver

321e0130e3e6bc27ee0d9635b5e3f56964300e95

 

重点问题,就是这里的 class Path:

需要选中Extra Class Path,然后让Hive的lib目录下的所有jar包和 hadoop的lib目录下的所有jar,都加入进来。

(虽然简单粗暴,却非常有效)

我个环境上,做了以上操作后,仍然缺少一个slf4j-api的jar包,只有单独下载并加入进来。

 

4.       新建连接,选择刚刚创建的Driver,建立连接。如下所示:

11404f6eb74e9faad91826945cd502a76d9db2bb

 

这里的重点是这个用户名和密码。

首先打开hive的hive-site.xml,配置端口、用户名和密码。


<property>
  <name>hive.server2.thrift.port</name>
  <value>10000</value>
  <description>Port number of HiveServer2 Thrift interface when hive.server2.transport.mode is 'binary'.</description>
</property>
<property>
  <name>hive.server2.thrift.client.user</name>
  <value>hive</value>
  <description>Username to use against thrift client</description>
</property>
<property>
  <name>hive.server2.thrift.client.password</name>
  <value>123456</value>
  <description>Password to use against thrift client</description>
</property>


 

其次,打开hadoop的core-site.xml,配置代理用户(我理解是代理Hive远程连接去操作HDFS的用户),新增如下内容

远程连接时或使用 beeline连接,需要注意代理用户,其它用户无权限通过hive 操作hdfs

 


<property>  
    <name>hadoop.proxyuser.root.hosts</name>  
    <value>*</value>  
</property>  
<property>  
    <name>hadoop.proxyuser.root.groups</name>  
    <value>*</value>  
</property>  


 

然后设置hadoop安装目录下的tmp目录的权限(操作系统本地目录)

chmod 777   hadoop目录上的tmp目录   (否则连接时会报:(Connection refused) (state=08S01,code=0)

 

最后记得重启hadoop和hiveServer2 。

重启还需要设置一下hdfs目录的权限(不是本地目录)

 hdfs dfs -chmod -R 777 /tmp   (否则运行sql时会报:Permission denied: user=hive, access=EXECUTE, inode="/tmp":root:supergroup:drwx-----

 

开放操作系统的端口,否则仍然无法远程连接

 firewall-cmd --add-port=10000/tcp

 

5.       开始使用客户端进行连接

eca0410a8c2d5817a5c51be1a941e387ffa9cea4


edf4cbc40fdfb845ac47999f6ece96a9b39b4f25

8046c84910bc6207b236708e91d4c4f50c7710be

 

 

终于大功造成,记录下关键步骤分享给大家。

相关文章
|
SQL HIVE
DataGrip连接Hive执行DDL操作报错:「FAILED: ParseException line 1:5 cannot recognize input near 'show' 'indexes' 'on' in ddl statement」
DataGrip连接Hive执行DDL操作报错:「FAILED: ParseException line 1:5 cannot recognize input near 'show' 'indexes' 'on' in ddl statement」
346 0
DataGrip连接Hive执行DDL操作报错:「FAILED: ParseException line 1:5 cannot recognize input near 'show' 'indexes' 'on' in ddl statement」
|
6月前
|
SQL 关系型数据库 MySQL
Mybatis-Plus(连接Hive)
Mybatis-Plus(连接Hive)
100 0
|
SQL HIVE Python
Window10 pyhive连接hive报错:Could not start SASL: b‘Error in sasl_client_start (-4) SASL(-4)
Window10 pyhive连接hive报错:Could not start SASL: b‘Error in sasl_client_start (-4) SASL(-4)
464 0
Window10 pyhive连接hive报错:Could not start SASL: b‘Error in sasl_client_start (-4) SASL(-4)
|
11月前
|
SQL 分布式计算 网络协议
hive连接被拒
connection refused
128 0
|
11月前
|
SQL 数据库 HIVE
Python连接Hive数据库
Python连接Hive数据库
|
SQL Java 数据库连接
本地客户端 dbeaver-连接HIVE库
本地客户端 dbeaver-连接HIVE库 hive库管理套件
本地客户端 dbeaver-连接HIVE库
|
SQL 分布式计算 数据管理
spark SQL配置连接Hive Metastore 3.1.2
Hive Metastore作为元数据管理中心,支持多种计算引擎的读取操作,例如Flink、Presto、Spark等。本文讲述通过spark SQL配置连接Hive Metastore,并以3.1.2版本为例。
spark SQL配置连接Hive Metastore 3.1.2
|
SQL Java HIVE
hive连接eclipse
如何在eclipse中写hive hadoop.proxyuser.qiqi.hosts 主节点地址 hadoop.
1460 0
|
SQL 测试技术 HIVE
0039-如何使用Python Impyla客户端连接Hive和Impala
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 1.文档编写目的 继上一章讲述如何在CDH集群安装Anaconda&搭建Python私有源后,本章节主要讲述如何使用Pyton Impyla客户端连接CDH集群的HiveServer2和Impala Daemon,并进行SQL操作。
3461 0
|
SQL Java 数据库连接
通过jdbc连接hive报java.sql.SQLException: Method not supported问题
通过jdbc连接hive报java.sql.SQLException: Method not supported异常或Required field 'client_protocol' is unset异常
14431 0