Hive的安装部署与三种启动模式
Hive安装前需要安装好JDK和Hadoop。配置好环境变量。如果需要使用mysql来存储元数据,则需要mysql也安装好。
1.metadata
Metadata即元数据。元数据包含用Hive创建的database、table、表的字段等元信息。元数据存储在关系型数据库中。如hive内置的Derby、第三方如MySQL等。
Metastore即元数据服务,作用是:客户端连接metastore服务,metastore再去连接MySQL数据库来存取元数据。有了metastore服务,就可以有多个客户端同时连接,而且这些客户端不需要知道MySQL数据库的用户名和密码,只需要连接metastore服务即可。
2.metastore
2.1.内嵌模式
内嵌模式使用的是内嵌的Derby数据库来存储元数据,也不需要额外起Metastore服务。数据库和Metastore服务都嵌入在主HiveServer进程中。这个是默认的,配置简单,但是一次只能一个客户端连接,适用于用来实验,不适用于生产环境。
解压hive安装包bin/hive启动即可使用
缺点:不同路径启动hive,每一个hive拥有一套自己的元数据,无法共享。
2.2.本地模式
本地模式采用外部数据库来存储元数据,目前支持的数据库有:MySQL、Postgres、Oracle、MSSQLServer.在这里我们使用MySQL。
本地模式不需要单独起metastore服务,用的是跟hive在同一个进程里的metastore服务。也就是说当你启动一个hive服务,里面默认会帮我们启动一个metastore服务。
hive根据hive.metastore.uris参数值来判断,如果为空,则为本地模式。
缺点是:每启动一次hive服务,都内置启动了一个metastore。
本地模式下hive的配置主需要指定mysql的相关信息即可。
hive安装包conf/hive-site.xml文件中配置,如果没有自己创建该文件。
configuration
property
namejavax.jdo.option.ConnectionURL/name
valuejdbc:mysql://node-1:/hive?createDatabaseIfNotExist=true/value
/property
property
namejavax.jdo.option.ConnectionDriverName/name
value