栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

JDBC连接hive的配置说明

JDBC连接hive的配置说明

hive先验
  • hive简介
  • thrift协议
  • hive本地访问运行
  • JDBC访问

hive简介

https://developer.aliyun.com/article/100911

1 特点:
一次写入,多次读出;
处理海量数据;
hdfs存储,mr处理;
对实时性要求低;

2 基本组成
用户接口:包括 CLI、JDBC/ODBC、WebGUI。
元数据存储:通常是存储在关系数据库如 mysql , derby中。
解释器、编译器、优化器、执行器。

3 各组件的基本功能
用户接口主要由三个:CLI、JDBC/ODBC和WebGUI。其中,CLI为shell命令行;JDBC/ODBC是Hive的JAVA实现,与传统数据库JDBC类似;WebGUI是通过浏览器访问Hive。

元数据存储:Hive将元数据存储在数据库中。Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。

解释器、编译器、优化器完成:HQL 查询语句(与sql查询类似)从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS 中,并在随后有 MapReduce 调用执行。

thrift协议

Thrift是一种接口描述语言和二进制通讯协议。原由Facebook于2007年开发,2008年正式提交Apache基金会托管,成为Apache下的开源项目。
Thrift负责hive的查询服务,Thtift是构建跨平台的rpc框架,主要由四层组成:server,Transport,Protocol和处理器。

hive本地访问运行

hive默认元数据metastore是在derby上存储的,但是有局限性:
1 占用线程,只能开启一个hive客户端,不能与其他客户端共享数据;
2 在derby上看元数据会很麻烦;

初始化derby元数据库: 元数据简介

 bin/schematool -dbType derby -initSchema

本地启动hive访问

 bin/hive

由于derby的缺点,于是我们把元数据放到mysql上保存,这样就可以开启多个客户端的hive;
初始化元数据到mysql:

 bin/schematool -initSchema -dbType mysql -verbose
JDBC访问

https://blog.csdn.net/u010738184/article/details/80534147

作为hive的客户端接口之一,提供了hive的客户端接口。

① jdbc访问mysql的配置(hive-site.xml)


 
 
	 javax.jdo.option.ConnectionURL
	 jdbc:mysql://hadoop102:3306/metastore?useSSL=false
 
 
 
	 javax.jdo.option.ConnectionDriverName
	 com.mysql.jdbc.Driver
 
 
 
	javax.jdo.option.ConnectionUserName
	root
 

hiveserver2 作用:hiveserver2官方文档(hiveserver1已经被丢弃,现在使用的是hiveserver2)

  1. 为hive提供了一种允许客户端远程访问的服务。
  2. 基于thrift协议,支持跨平台,跨编程语言对hive访问;
  3. 允许远程访问hive;
  4. 依赖于元数据,所以在使用之前要先启动元数据,再启动hiveserver2;

②客户端通过jdbc访问hiveserver2的配置(hive-site.xml的相关配置)

 
 
	 hive.server2.thrift.bind.host
 	 hadoop102
 
 
 
 	hive.server2.thrift.port
 	10000
 

启动顺序:hive依赖于hdfs存储数据,所以先启动hdfs集群

# 由于hiveserver2依赖于元数据,所以先启动元数据--第一次记得初始化
bin/hive --service metastore
# 启动hiveserver2 
bin/hive --service hiveserver2

jdbc连接到配置的hiveserver2地址与端口号/见下,启动beeline客户端

bin/beeline -u jdbc:hive2://hadoop102:10000 -n $username

如果beeline启动失败,查看hadoop的core-site.xml配置并添加,重启集群


        hadoop.proxyuser.shan.hosts
        *


        hadoop.proxyuser.shan.groups
        *

结果呈现:

由于metastore启动和hiveserver2启动都不能关闭,而且还需要手动顺序启动;所以我们不妨写一个shell脚本让他们自动启动,且均在后台运行:
shell脚本学习

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/687256.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号