文档章节

Hive2.x、HiveServer、HiveServer2简述及Beeline使用

P
 PeakFang-BOK
发布于 2018/10/10 11:45
字数 1087
阅读 382
收藏 0

Hive2.x

hive2.x特性

  • LLAP(Live Long and Process)Hive2.1进行了极大的性能优化。在Hive2.x开启LLAP与Apache Hive1.x进行对比测试,其性能提升约25倍。
  • 支持使用HPL/SQL的存储过程,Hive2.0.0推出的Hive Hybrid Procedural SQL On Hadoop (HPL/SQL) 是一个在Hive上执行过程SQL的工具,它可以表达复杂的业务规则。
  • 更智能的成本优化器CBO,Hive2.0开始持续不断地优化成本优化器CBO,尤其是在BI业务关注的TPC-DS查询上。
  • 提供全面详尽的监控和诊断工具,可以通过新的Hive Server2 Web UI,LLAP Web UI和Tez Web UI查看Hive相关的HQL查询以及关联的作业状态和日志。丰富了Hive用户的运维和排错的手段。

HiveServer

  • 在hive的机器上启动一个server:客户端可以通过ip + port的方式对其进行访问之后,就可以有很多客户端连到这个server上面去干活可以采用jdbc、odbc、beeline的方式进行连接
  • HiveServer是一种可选服务,允许远程客户端可以使用各种编程语言向Hive提交请求并检索结果。HiveServer无法处理来自多个客户端的并发请求.从Hive 0.11.0版本开始。建议使用HiveServer2。

HiveServer2

  • HiveServer2(HS2)是一种能使客户端执行Hive查询的服务。 HiveServer2是HiveServer1的改进版,HiveServer1已经被废弃。HiveServer2可以支持多客户端并发和身份认证。旨在为开放API客户端(如JDBC和ODBC)提供更好的支持。
  • 远程HiveServer2模式是Hive产品使用的推荐模式,它更加安全并且不需要直接为用户对HDFS/metastore进行赋权。

Beeline

  • 是hive的新hiveCLI

CLI hive -vs- Beeline

# Beeline操作结果
0: jdbc:hive2://node225:10000/movie> select * from t_user limit 5;
OK
+----------------+----------------+-------------+--------------------+-----------------+--+
| t_user.userid  | t_user.gender  | t_user.age  | t_user.occupation  | t_user.zipcode  |
+----------------+----------------+-------------+--------------------+-----------------+--+
| 1              | F              | 1           | 10                 | 48067           |
| 2              | M              | 56          | 16                 | 70072           |
| 3              | M              | 25          | 15                 | 55117           |
| 4              | M              | 45          | 7                  | 02460           |
| 5              | M              | 25          | 20                 | 55455           |
+----------------+----------------+-------------+--------------------+-----------------+--+
# hive 操作结果
hive> select * from t_user limit 5;
OK
1       F       1       10      48067
2       M       56      16      70072
3       M       25      15      55117
4       M       45      7       02460
5       M       25      20      55455
Time taken: 2.662 seconds, Fetched: 5 row(s)
hive>

要使用Beeline前需要先启动HiveServer2,启动过程中可以通过hiveconf设置相应的自定义参数和值,直接启动会占据当前连接会话,第一次可以直接启动,正常启动后可以切换至后台运行方式启动。

# 直接启动
[root@node225 ~]# /usr/local/hive-2.1.1/bin/hiveserver2 --hiveconf hive.server2.thrift.prot=10000
# 后台运行方式启动
[root@node225 ~]# /usr/local/hive-2.1.1/bin/hiveserver2 --hiveconf hive.server2.thrift.prot=10000 2>&1 >> /dev/null &

#或者
#分别记录标准日志输出和错误日志
nohup /usr/local/hive-2.1.1/bin/hiveserver2 --hiveconf hive.server2.thrift.prot=10000 1>/usr/local/hive-2.1.1/hivelog/hiveserver.log 2>/usr/local/hive-2.1.1/hivelog/hiveserver.err &
#不记录日志
nohup /usr/local/hive-2.1.1/bin/hiveserver2 --hiveconf hive.server2.thrift.prot=10000 1>/dev/null 2>/dev/null &
nohup /usr/local/hive-2.1.1/bin/hiveserver2 --hiveconf hive.server2.thrift.prot=10000 >/dev/null 2>&1 &

beeline的使用

  • -n 指定机器登陆的名字,当前机器的登陆用户名
  • -u 指定一个连接串

每成功运行一个命令,hiveserver2启动的那个窗口,只要在启动beeline的窗口中执行成功一条命令,另外个窗口随即打印一个OK如果命令错误,hiveserver2那个窗口就会抛出异常

# beeline连接hive
[root@node225 ~]# /usr/local/hive-2.1.1/bin/beeline -u jdbc:hive2://node225:10000/movie -n root
which: no hbase in (.:/usr/local/jdk1.8.0_66//bin:/usr/local/zookeeper-3.4.10/bin:ZK_HOME/sbin:ZK_HOME/lib:/usr/local/hadoop-2.6.5//bin:/usr/local/hadoop-2.6.5//sbin:/usr/local/hadoop-2.6.5//lib:/usr/local/hive-2.1.1/bin:/usr/local/mongodb/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
Connecting to jdbc:hive2://node225:10000/movie
Connected to: Apache Hive (version 2.1.1)
Driver: Hive JDBC (version 2.1.1)
18/10/09 14:03:00 [main]: WARN jdbc.HiveConnection: Request to set autoCommit to false; Hive does not support autoCommit=false.
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 2.1.1 by Apache Hive
0: jdbc:hive2://node225:10000/movie> select current_database();
+----------------+--+
| database_name  |
+----------------+--+
| db_hive_edu    |
| default        |
| movie          |
+----------------+--+
3 rows selected (1.293 seconds)

可以在相同局域网内的其他部署hive的节点上通过Beelin连接指定的HiveServer2服务,进行多用户操作。

退出beeline连接用!quit

© 著作权归作者所有

P
粉丝 7
博文 134
码字总数 336718
作品 0
西安
架构师
私信 提问
Configuring Hive High Availability

Hive从0.14开始,使用Zookeeper实现了HiveServer2的HA功能(ZooKeeper Service Discovery),Client端可以通过指定一个nameSpace来连接HiveServer2,而不是指定某一个host和port。本文描述了...

candon123
2017/12/13
0
0
SparkSQL使用之Thrift JDBC server

Thrift JDBC Server描述 Thrift JDBC Server使用的是HIVE0.12的HiveServer2实现。能够使用Spark或者hive0.12版本的beeline脚本与JDBC Server进行交互使用。Thrift JDBC Server默认监听端口是...

Zero零_度
2016/09/07
98
0
Hive远程模式安装(1.00)

hiveserver2和metastore分离部署,元数据存储采用mysql,mysql与metastore分离部署。 mysql: 部署在ctrl节点 hiveserver2: 部署在ctrl和data01节点 metastore: 部署在data02和data03节点 be...

phacks
2016/09/11
24
0
Java进行Hive的连接和访问

今天看了一遍不错的文章,关于Java访问Hive的,正好要用到这一块,分享到此以便更多的人可以学习和应用 非常感谢博主的总结和分享 博文链接: https://www.jianshu.com/p/4ef28607fc04 Hive内...

aiChuang
09/06
38
0
Hive-0.12.0-cdh5.0.1 安装[metasore 内嵌模式、本地模式、远程模式]

概述: 基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MapReduce统计. 组成: (1)用户接口:主要是cli , beeline , hiveserver2 ...

phacks
2016/09/11
78
0

没有更多内容

加载失败,请刷新页面

加载更多

如何查看ubuntu的版本

cat /etc/issue

南桥北木
9分钟前
0
0
超详细Linux下QT使用appimage打包程序

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/kuer1379/article/details/82885810 一 打包工具 1.linuxd...

shzwork
15分钟前
1
0
Checkstyle的style

checkstyle是什么? 是代码规范检查,关于各种格式的利弊这里就不说了,但是业内有一些总结的规范利于goole或者阿里有自己的代码规范,就需要用到checkstyle。我个人很讨厌这东西,奈何项目再...

stayStand
18分钟前
2
0
左边竖条的实现方法

下面这个图形,只使用一个标签,可以有多少种实现方式: 假设我们的单标签是一个 div : 1 < div > div> 定义如下通用CSS: 1 2 3 4 5 6 div{ position : relative ; width : 200px ; height ...

前端老手
37分钟前
2
0
java利用ECHARTS.JS在前台显示图表

步骤1: (1)在java后台,使用MSQL分组函数,列出所有线在对应的点的值, (2)组成的Map如图所示: 注意: key为0的value表示X轴需要的数据;key为其他的值表示图表线条的名字,value为x轴的点对应的y...

文文1
39分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部