前言
三种模式
- 内嵌模式,使用derby作为元数据库,仅允许一个会话链接
- 本地模式,使用mysql等数据库作为元数据库,与hive安装在同一台机器上
- 远程模式,使用mysql等数据库作为元数据库,与hive安装在不同机器上
环境
- ubuntu 18.04
- mysql 5.7.30
- hadoop 2.8.5
- hive 2.3.7
前提条件
- mysql已安装
- hadoop已安装,已配置hadoop环境变量(hive依赖hadoop)
本地模式安装
mysql
- mysql用户名:root
- mysql密码:root
- 新建一个新的数据库:hive
复制文件
- 复制mysql-connector-java-5.1.27.jar到${HIVE_HOME}/lib/目录下
在/etc/profile添加hive环境变量
export HIVE_HOME=/home/wsx/opt/apache-hive-2.3.7-bin
export PATH=${HIVE_HOME}/bin:$PATH
${HIVE_HOME}/conf/hive-env.sh
- 复制一份hive-env.sh.template为hive-env.sh,在最后添加如下语句:
export HADOOP_HOME=/home/wsx/opt/hadoop-2.8.5
export HIVE_CONF_DIR=/home/wsx/opt/apache-hive-2.3.7-bin/conf
${HIVE_HOME}/conf/hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
</configuration>
启动hadoop
- 保证以下进程都顺利启动
- NameNode,SecondaryNameNode,DataNode
- ResourceManager,NodeManager
执行命令
schematool -dbType mysql -initSchema
开始使用
- 重启pc或者使用source命令,使环境变量生效
- 在cmd执行hive命令
- 在hive界面执行show tables,若成功执行表明安装成功