1.直连模式
使用JDBC的方式直接去mysql中读取元数据,称为直连模式
需要的条件:
- 连接Mysql的驱动,已经放入到$HIVE_HOME/lib下
- 创建连接时,需要有url,username,password,driveClassName,在hive-site.xml中配置
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop104:3306/metastore?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8
</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>123321</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
hive-cli,hiveserver2, hive metastoreservice都是采取直连模式获取元数据!
因为:
hive-cli的启动:
hive
实际上,等价于
hive --service cli
hiveserver2的启动:
hiveserver2
实际上,等价于
hive --service hiveserver2
hive metastoreservice的启动:
hive --service metastore
hive命令在启动时,会读取hive-site.xml配置文件,加载lib下所有的jar!
2.代理模式
指第三方程序(非hive的程序,例如sparksql程序,presto,impala),希望读取Hive中的元数据!
有两种方式:
- 直连模式(不安全,不推荐)
- 代理模式
<property>
<name>hive.metastore.uris</name>
<value>thrift://hadoop103:9083</value>
</property>

本文介绍了Hive中两种元数据存储模式:直连模式和代理模式。直连模式通过JDBC直接从MySQL读取元数据,适用于hive-cli、hiveserver2等组件。代理模式则适用于第三方程序通过Thrift接口读取Hive元数据。
889

被折叠的 条评论
为什么被折叠?



