*注:本文基于hive-0.8.1写的
架构图:
一、 service
1、 hive有三种service,分别是cli,hiveserver和hwi。
2、 cli是命令行工具,为默认服务,启动方式$HIVE_HOME/bin/hive 或 $HIVE_HOME/bin/hive --service cli。
3、 hiverserver通过thrift对外提供服务,默认端口10000,启动方式为$HIVE_HOME/bin/hive--service hiveserver。
4、 hwi为web接口,可以通过浏览器访问hive,默认端口9999,启动方式为$HIVE_HOME/bin/hive--service hwi。
5、 每个服务间互相独立,有各自的配置文件(配置metasotre/namenode/jobtracker等),如果metasotre的配置一样则物理上对应同一hive库。
6、 Driver用于解释、编译、优化、执行HQL,每个service的Driver相互独立。
7、 CLI为用户提供命令行接口,每个CLI独享配置,即在一个CLI里修改配置不影