hive之beeline客户端操作hive

1、hiveserver2简介

Hiveserver2简称hs2,它是一个允许多客户端并发连接的hive服务,客户端可通过jdbc、odbc方式去连接此服务操作hive。

之前的hive启动的窗口,纯粹是一个客户端,exit退出后hive就停止了。

2、启动hiveserver2

cd ~/app/hive-1.1.0-cdh5.7.0/bin/  #进入hive安装目录

./hiveserver2   #启动hiveserver2 ,我这里是前台启动,正常是后台nohup启动

3、使用beeline连接hive

beeline -u jdbc:hive2://hadoop002:10000/default -n hadoop

# -u, 必选,指定hive的连接串,默认是10000端口,使用default数据库

#-n,必选,指的是hiveserver2所在机器的用户名,非数据库用户名,我没指定启动的hs2用户名,报因权限连接不上问题。

#连接hive不需要指定账号密码,没那概念。

!quit  #退出beeline客户端

 

扩展1 :生产中除了使用hiveserver2+beeline方式操作hive外,有的采用 thriftserver+beeline方式操作hive,thriftserver 是hiveserver的别称。HiveServer和HiveServer2都是基于Thrift的,但是HiveServer不能处理多于一个客户端的并发请求,这是由于HiveServer使用的Thrift接口所导致的限制,不能通过修改HiveServer的代码修正。因此在Hive-0.11.0版本中重写了HiveServer代码得到了HiveServer2,进而解决了该问题。

扩展2:thrift简介:Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过IDL(Interface Definition Language,接口定义语言)来定义RPC(Remote Procedure Call,远程过程调用)的接口和数据类型,然后通过thrift编译器生成不同语言的代码(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml),并由生成的代码负责RPC协议层和传输层的实现即Thrift搭建的服务能够实现多语言访问,thrift底层数据交互协议走的是RPC协议。

猜你喜欢

转载自blog.csdn.net/qq_32641659/article/details/88585996