配置hiveserver2访问hive

  • 目录:
    • 1、前言
    • 2、beeline相关的Server.Thrift配置
    • 3、启动beeline并访问Hive
    • 4、期间遇到的问题和解决方法

目录:

1、前言

作为数据仓库的工具,hive提供了两种ETL运行方式,分别是通过Hive 命令行和beeline客户端;

命令行方式即通过hive进入命令模式后通过执行不同的HQL命令得到对应的结果;相当于胖客户端模式,即客户机中需要安装JRE环境和Hive程序。

beeline客户端方式相当于瘦客户端模式,采用JDBC方式借助于Hive Thrift服务访问Hive数据仓库。

HiveThrift(HiveServer)是Hive中的组件之一,设计目的是为了实现跨语言轻量级访问Hive数据仓库,有Hiveserver和 Hiveserver2两个版本,两者不兼容,使用中要注意区分。体现在启动HiveServer的参数和jdbc:hiveX的参数上。

2、beeline相关的Server.Thrift配置

主要是hive/conf/hive-site.xml中hive.server2.thrift相关的一些配置项,但要注意一致性。

 <property><name>hive.server2.thrift.bind.host</name><value>ha1</value><description>Bind host on which to run the HiveServer2 Thrift service.</description></property><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>

进入beeline连接数据库后,因为要访问的文件在HDFS上,对应的路径有访问权限限制,所以,这里要设成hadoop中的用户名,实例中用户名即为’root’(看你用什么用户来启动hadoop的)。如果使用其它用户名,可能会报权限拒绝的错误。或通过修改hadoop中的配置项hadoop.proxyuser.XX为“*” 来放宽用户名和权限,如示例。
hadoop/etc/hadoop/core-site.xml


<property><name>hadoop.proxyuser.hadoop.hosts</name><!--value>master</value--><value>*</value></property><property><name>hadoop.proxyuser.hadoop.groups</name><!--value>hadoop</value--><value>*</value></property>

3、启动beeline并访问Hive

slave01上启动hiveserver2,

nohup hive --service hiveserver2 & 
nohup hiveserver2 1>/root/apps/hive-2.1.1/logs/hiveserver.log 2>/root/apps/hive-2.1.1/logs/hiveserver.err &(将hivesever的日志导入对应的目录)
ps -ef | grep Hive 

能看到Hiveserver2已启动

master机器上执行beeline并访问hive

root@master:~/bigdata/hive$ beeline
Beeline version 1.2.1.spark2 by Apache Hive
beeline> beeline> !connect jdbc:hive2://ha1:10000       // 2中配置项的host:port ,因为启动的是hiveserver2,所以参数中是hive2
Connecting to jdbc:hive2://ndh-ha1:10000
Enter username for jdbc:hive2://ndh-ha1:10000: root
Enter password for jdbc:hive2://ndh-ha1:10000: ****        //2中配置项的user/password 
17/09/08 14:39:27 INFO jdbc.Utils: Supplied authorities: ndh-slave01:10000
17/09/08 14:39:27 INFO jdbc.Utils: Resolved authority: ndh-slave01:10000
17/09/08 14:39:27 INFO jdbc.HiveConnection: Will try to open client transport with JDBC Uri: jdbc:hive2://ha1:10000
Connected to: Apache Hive (version 2.1.1)
Driver: Hive JDBC (version 1.2.1.spark2)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://ha1:10000> 0: jdbc:hive2://slave01:10000> show databases;
+----------------+--+
| database_name  |
+----------------+--+
| default        |
| feigu3         |
| wordcount      |
+----------------+--+
3 rows selected (0.379 seconds)0: jdbc:hive2://slave01:10000> select * from wordcount order by count desc limit 50;.........................................................................................看到结果后,进入hadoop yarn
http://master:8088/cluster/apps/FINISHED 可看到刚执行的任务。0: jdbc:hive2://slave01:10000> !q     退出beeline

4、期间遇到的问题和解决方法

4.1 hadoop is not allowed to impersonate hive // hadoop是hadoop中配置的用户名,解决方法见2中说明;
具体的原因见:https://blog.csdn.net/qq_16633405/article/details/82190440

转自:https://blog.csdn.net/wqhlmark64/article/details/77894026

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456506.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过rhel7的kvm虚拟机实现3节点Postgres-XL(包括gtm standby)

关于postgres-xl的实验是在我自己笔记本rhel7.2_x64的环境下&#xff0c;用kvm实现的&#xff0c;总共有6台虚拟机&#xff1a; 一台openfiler2.99发布共享存储&#xff0c;一台gtm master&#xff0c;一台gtm slave&#xff0c;三台gtm_proxy/coordinator/datanode&#xf…

MySQL查询select实例 【笔记】

use mydb; select * from EMP; select * from DEPT; select DISTINCT JOB from EMP; -- distinct 去除重复项 select MGR from EMP; select MGR as 主管编号 from EMP; -- 辅助查询&#xff0c;每列信息 起别名 as select EMPNO as 员工编号,JOB as 职位,DEPNO as 部…

C#1

转载于:https://www.cnblogs.com/qingwengang/p/6327371.html

使用python3连接hiveserver2的方法

前言&#xff1a;1、启动HiveServer22、在Linux中安装impyla&#xff08;前提是安装Python相关的环境、虚拟环境&#xff08;可选&#xff09;&#xff09; 前言&#xff1a; 需求&#xff1a;需要通过windows端的pycharm来操作hive。 于是就搜集资料寻找解决方案。 大概有…

vue2.X的路由

以 / 开头的嵌套路径会被当作根路径。 <router-link> 在vue-router1.X中是以<a v-link""></a>存在的 里面的参数&#xff1a; to&#xff1a;代表跳转的目的地&#xff0c;渲染成<a href""> 后面目的地有下面几种表示法 to引导&a…

mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)

在MySQL中删除一张表或一条数据的时候&#xff0c;出现 [Err] 1451 -Cannot delete or update a parent row: a foreign key constraint fails (...) 这是因为MySQL中设置了foreign key关联&#xff0c;造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避免这种…

CentOS下安装VirtualEnv的教程

文章目录前言&#xff1a;1、下载安装virutalenv2、安装新的Python版本&#xff08;可以直接安装anaconda&#xff1a;安装过程可自行查资料&#xff09;3、 VirtualEnv的设置4、Python虚拟环境的作用总结&#xff1a;前言&#xff1a; 在目前的Linux系统中&#xff0c;默认使…

社保(五险一金)的问题

2019独角兽企业重金招聘Python工程师标准>>> 社保&#xff0c;全称为社会保险&#xff0c;是一种再分配制度&#xff0c;它的目标是保证物质及劳动力的再生产和社会的稳定。我们平时常说的社保&#xff0c;还有另一个名称&#xff0c;及“五险一金”。那么社保是哪五…

PKM(个人知识管理)类软件收集(偶尔更新列表)

evernote(印象笔记) Wiz 有道云 麦库 leanote GoogleKeep OneNote SimpleNote(wp家的&#xff0c;免费) pocket(稍后读的软件&#xff0c;同类的还有Instapaper&#xff0c;国内的收趣) MyBase RaysNote(v友开发) CintaNotes https://jitaku.io 开源 Gitit-Bigger Laverna pape…

MySQL中外键的定义、作用、添加和删除

1 简介 在实际开发的项目中&#xff0c;一个健壮数据库中的数据一定有很好的参照完整性。例如学生档案和成绩单两张表&#xff0c;如果成绩单中有张三的成绩&#xff0c;学生档案中张三的档案却被删除了&#xff0c;这样就会产生垃圾数据或者错误数据。为了保证数据的完整性&a…

Hive报错:Error: FUNCTION 'NUCLEUS_ASCII' already exists. (state=X0Y68,code=30000)

Hive执行schematool -initSchema -dbType derby报错。 报错的日志&#xff1a; doupeihuadoupeihua-2104 ~/software/hive/bin $ schematool -initSchema -dbType derbySLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/doupei…

Andorid Scrolling Activity(CoordinatorLayout详情)

1.new project -> Scrolling Activity 2.Layout xml code activity_scrolling.xml 1 <?xml version"1.0" encoding"utf-8"?>2 <android.support.design.widget.CoordinatorLayout xmlns:android"http://schemas.android.com/apk/res/an…

截取utf8中文字符串

英文直接截取即可。 中文应字节长度会乱码&#xff0c;应先转unicode截取。 如下&#xff1a; #-*- coding:utf8 -*- s u截取中文 s.decode(utf8)[0:3].encode(utf8)转载于:https://www.cnblogs.com/BigFishFly/p/6337183.html

解决:Navicat for mysql 设置外键出错

1 看下是不是外键允许为空&#xff0c;不唯一等约束条件不满足 2 或者外键设置删除时为 restrict 1. 两个字段的类型或者大小不严格匹配。例如&#xff0c;如果一个是int(10)&#xff0c;那么外键也必须设置成int(10)&#xff0c;而不是int(11)&#xff0c;也不能是tinyint。另…

Python加盐加密方法hashlib(md5,sha224,sha1,sha256)

用random.randint随机数给密码加,盐加强密码的安全性

Ubuntu16.04以root身份登入!

首先以非root用户身份登入系统。 1&#xff0c;修改root密码&#xff1a;启动shell&#xff0c;随后在shell里面输入命令&#xff1a; sudo passwd root 最后输入root要使用的密码&#xff0c;需要输入两次&#xff0c;这样root密码就修改完毕了&#xff01; 2&#xff0c;修改…

HDU2193-AVL-数据结构-AVL

题目链接&#xff1a;http://acm.hdu.edu.cn/statistic.php?pid2193&from126&lang&order_type0 好吧。水题一道&#xff0c;原本以为是一道写AVL树的想写来练练手。没有想到却是这样一道水题&#xff0c;好吧&#xff0c;猥琐的水过。 题目意思&#xff1a; 题目大…

玩Linux碰到的问题以及使用技巧总结

文章目录1、问题问题一&#xff1a;解压JDK报错&#xff1a;gzip:stdin:not in gzip format。 问题二&#xff1a;在Linux下ping不通外网 问题三&#xff1a;解决虚拟机克隆后网卡eth0不见的问题 问题四&#xff1a;执行脚本报错&#xff1a;syntax error: unexpected end of f…

python连接MySQL数据库搭建简易博客

实现功能大概 将python和MySQL数据库交互进行 封装 ---》》utils.py 文件程序 ----》blog.py # -*- coding: utf-8 -*- # Time : 2019/08/30 15:33 # Author : Liu # File : utils.pyimport pymysql import hashlibclass dbHelper:def __init__(self, host, user, pass…

利用Sqoop在数据库和Hive、HDFS之间做ETL操作

文章目录[toc] 目录&#xff1a;一、利用Sqoop&#xff0c;从Oracle到HDFS二、利用Sqoop&#xff0c;从Oracle到Hive三、遇到的问题目录&#xff1a; 一、利用Sqoop&#xff0c;从Oracle到HDFS 第一步&#xff1a;把Oracle驱动拷贝到Sqoop安装路径中的lib文件夹下。 第二步&…