Hive架构、角色进程、访问流程

Hive的架构

1、Hive的架构图

Hive架构、角色进程、访问流程_第1张图片

2、Hive的服务(角色)

1、用户访问接口

​ CLI(Command Line Interface):用户可以使用Hive自带的命令行接口执行Hive QL、设置参数等功能

​ JDBC/ODBC:用户可以使用JDBC或者ODBC的方式在代码中操作Hive

​ Web GUI:浏览器接口,用户可以在浏览器中对Hive进行操作(2.2之后淘汰HWI)

2、Thrift Server:

​ Thrift服务运行客户端使用Java、C++、Ruby等多种语言,通过编程的方式远程访问Hive

3、Driver

​ Hive Driver是Hive的核心,其中包含解释器、编译器、优化器等各个组件,完成从SQL语句到MapReduce任务的解析优化执行过程

4、metastore

​ Hive的元数据存储服务,一般将数据存储在关系型数据库中,为了实现Hive元数据的持久化操作,Hive的安装包中自带了Derby内存数据库 ,这个是默认的,配置简单,但是一次只能一个客户端连接,适用于用来实验,不适用于生产环境。
Metastore 有3中开启方式:

  • 1–>默认开启方式:
    没有配置metaStore的时候,每当开启bin/hive;或者开启hiveServer2的时候,都会在内部启动一个metastore
    嵌入式服务;资源比较浪费,如果开启多个窗口,就会存在多个metastore server。()

  • 2–>local mataStore(本地)
    当metaStore和装载元数据的数据库(MySQL)存在同一机器上时配置是此模式,
    开启metastore服务就只需要开启一次就好,避免资源浪费!

  • 3–>Remote Metastore(远程)
    当metaStore和装载元数据的数据库(MySQL)不存在同一机器上时配置是此模式,
    开启metastore服务就只需要开启一次就好,避免资源浪费!

未完待续。。。。。。。

3、Hive的访问流程图

Hive架构、角色进程、访问流程_第2张图片

你可能感兴趣的:(Hive)