理论基础
hive有三种运行模式:
内嵌模式、本地模式、远程模式。
内嵌模式:
元数据保村在内嵌的derby中,允许一个会话链接,尝试多个会话链接时会报错。
本地模式:
本地安装mysql 替代derby存储元数据。
由于元数据的获取需要访问mysql,所以这就要求每一个用户必须要有对MySQL的访问权利。
远程模式:
以本地模式为基础。
mysql数据库所在的节点提供metastore service服务,其他节点可以连接该服务来获取元数据信息。
各种客户端通过 beeline 来连接,连接之前无需知道数据库的用户名和密码。
一、前 期准备
安装好hadoop并启动。
hadoop搭建:
Zookeeper搭建及Zookeeper实现Hadoop的HA
搭建远程模式的时候,使用全分布[HA]的方式。其他情况随意。
二、搭建内嵌模式
1、tar -zxvf /opt/source/apache-hive-2.3.4-bin.tar.gz -C ../apps
2、mv apache-hive-2.3.4-bin/ hive-2.3.4
3、vi + /etc/profile
export HIVE_HOME=/opt/apps/hive-2.3.4
export PATH=$PATH:$HIVE_HOME/bin
4、cd /opt/apps/hive-2.3.4/conf
5、cp hive-env.sh.template hive-env.sh && vi hive-env.sh
HADOOP_HOME=/opt/apps/hadoop-2.6.5
6、cp hive-default.xml.template hive-site.xml && vi hive-site.xml
删除configuration内部所有内容
<!--Hive中所有数据存储在HDFS上的路径-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<!--连接本地Derby的Url-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=metastore_db;