Hive thrift服务(将Hive作为一个服务器,其他机器可以作为客户端进行访问)

简介:  步骤一:启动为前台:bin/hiveserver2 步骤二:启动为后台:nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.

 步骤一:启动为前台:bin/hiveserver2

步骤二:启动为后台:nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err &

1:启动成功后,可以在别的节点上用beeline去连接

  方式一:

    hive/bin/beeline  回车,进入beeline的命令界面

    输入命令连接hiveserver2

    beeline> !connect jdbc:hive2//master:10000

    (master机器是hiveserver2所启动的那台主机名,端口默认是10000

  方式二:

    或者启动就连接:

    bin/beeline -u jdbc:hive2://master:10000 -n hadoop

接下来就可以做正常sql查询了

1:将Hive作为一个服务器,其他机器可以作为客户端进行访问:

 

2:然后寻找符合thrift的这种协议的客户端来连这个服务,然而hive自带这种客户端(我这里复制本台机器,弄了两个窗口):

 

然后呢,就是开启了命令行客户端了,然后了连接你的hive即可。我这里遇到一个错误,顺手贴一下吧。

 造成这个错误的原因是!connect jdbc:hive2//master:10000写成!connect jdbc:hive2//localhost:10000即可。

 1 [root@master apache-hive-1.2.1-bin]# cd bin/
 2 [root@master bin]# ls
 3 beeline  ext  hive  hive-config.sh  hiveserver2  metatool  schematool
 4 [root@master bin]# ./beeline 
 5 Beeline version 1.2.1 by Apache Hive
 6 beeline> !connect jdbc:hive2//master:10000
 7 scan complete in 1ms
 8 17/12/12 04:42:53 [main]: ERROR beeline.ClassNameCompleter: Fail to parse the class name from the Jar file due to the exception:java.io.FileNotFoundException: minlog-1.2.jar (No such file or directory)
 9 17/12/12 04:42:53 [main]: ERROR beeline.ClassNameCompleter: Fail to parse the class name from the Jar file due to the exception:java.io.FileNotFoundException: objenesis-1.2.jar (No such file or directory)
10 17/12/12 04:42:53 [main]: ERROR beeline.ClassNameCompleter: Fail to parse the class name from the Jar file due to the exception:java.io.FileNotFoundException: reflectasm-1.07-shaded.jar (No such file or directory)
11 scan complete in 5708ms
12 No known driver to handle "jdbc:hive2//master:10000"

然后呢我写成beeline> !connect jdbc:hive2://localhost:10000回车。会让你输入账号和密码,这里直接输入你的登陆linux的账号和密码即可,我习惯使用root和其密码操作,虽然不好,但是这里直接输入root账号,123456密码即可登陆。

 1 beeline> !connect jdbc:hive2://localhost:10000
 2 Connecting to jdbc:hive2://localhost:10000
 3 Enter username for jdbc:hive2://localhost:10000: hadoop
 4 Enter password for jdbc:hive2://localhost:10000: 
 5 Error: Failed to open new session: java.lang.RuntimeException: java.lang.RuntimeException: org.apache.hadoop.security.AccessControlException: Permission denied: user=hadoop, access=EXECUTE, inode="/tmp":root:supergroup:drwx------
 6     at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkFsPermission(FSPermissionChecker.java:271)
 7     at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:257)
 8     at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:208)
 9     at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:171)
10     at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:6545)
11     at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:4182)
12     at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:881)
13     at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:821)
14     at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
15     at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:619)
16     at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:975)
17     at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2040)
18     at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2036)
19     at java.security.AccessController.doPrivileged(Native Method)
20     at javax.security.auth.Subject.doAs(Subject.java:415)
21     at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1656)
22     at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2034) (state=,code=0)
23 0: jdbc:hive2://localhost:10000 (closed)> !connect jdbc:hive2://localhost:10000
24 Connecting to jdbc:hive2://localhost:10000
25 Enter username for jdbc:hive2://localhost:10000: root
26 Enter password for jdbc:hive2://localhost:10000: ******
27 Connected to: Apache Hive (version 1.2.1)
28 Driver: Hive JDBC (version 1.2.1)
29 Transaction isolation: TRANSACTION_REPEATABLE_READ
30 1: jdbc:hive2://localhost:10000> 

登陆以后即可以进行操作,演示如下所示:

停更......

2017-12-12 20:50:44

目录
相关文章
|
15天前
|
弹性计算 监控 负载均衡
|
1月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
121 60
|
1月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
209 62
|
13天前
|
弹性计算 人工智能 数据安全/隐私保护
【手把手教你】如何免费畅快使用阿里云ECS搭建私有Overleaf论文写作服务
本文详细介绍如何利用阿里云ECS免费搭建私有Overleaf论文写作服务,包括ECS服务器的部署、Overleaf服务的安装、TexLive包的更新、XeLaTeX修复、中文字体支持及账号管理等步骤。通过这些操作,你可以实现免费且高效的多人协作论文写作,避免付费版本的高昂费用。适合需要频繁合作撰写论文的团队使用。
49 1
【手把手教你】如何免费畅快使用阿里云ECS搭建私有Overleaf论文写作服务
|
1月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
134 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
1月前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
143 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
19天前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
87 3
|
1月前
|
网络协议 Unix Linux
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
|
1月前
|
安全 区块链 数据库
|
1月前
|
网络安全 Docker 容器
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
25 0