前言:首先,Hive是依赖于hadoop系统的,因此在运行Hive之前需要保证已经搭建好hadoop环境,JAVA环境也是必须有的,可以参考前文搭建。
一、嵌入模式介绍
特点:
不需要使用MySQL,使用Hive自带的Derby数据库存储Hive的元信息
使用自带的Derby
只支持一个连接
metadata即元数据。元数据包含用Hive创建的database、tabel等的元信息在Linux目录不再HDFS中(虽然最终是在Linux上)。
二、准备工作:
解压 tar -zxvf apache-hive-2.3.0-bin.tar.gz -C ~/training/
设置环境变量 vi ~/.bash_profile
HIVE_HOME=/root/training/apache-hive-2.3.0-bin
export HIVE_HOME
PATH=$HIVE_HOME/bin:$PATH
export PATH
使环境变量生效
source ~/.bash_profile
三、修改配置文件
进入配置文件:cd /root/training/apache-hive-2.3.0-bin/conf
创建 hive-site.xml 本来没有此文件 vi hive-default.xml.template 复制头文件然后开始配置
<?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:derby:;databaseName=metastore_db;create=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>org.apache.derby.jdbc.EmbeddedDriver</value>
</property>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>file:///root/training/apache-hive-2.3.0-bin/warehouse</value>
</property>
</configuration>
初始化MetaStore:
schematool -dbType derby -initSchema
日志:Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
翻译:Hive-on- mr在Hive 2中已被弃用,可能在未来的版本中不可用。考虑使用不同的执行引擎(例如spark、tez)或使用Hive 1.X版本。
注意:如果没有启动HDFS会出错,先执行以下start-all.sh命令在去启动Hive --> [root@bigdata111 ~]# hive 即可