****如果最后搭建不成功说明没将环境切换至mysql,仍然是derby;在配置文件中已特别注明
准备工作(可不做任何修改hive也能运行,默认的配置元数据是存放在Derby数据库里面的,大多数人都不怎么熟悉,我们得改用mysql来存储我们的元数据,以及修改数据存放位置和日志存放位置等使得我们必须配置自己的环境)
下载apache-hive-2.1.1-bin.tar.gz(下载网址Index of /dist/hive)
安装mysql
安装hadoop(参考一份简单明了的Hadoop搭建基于windows32位)
- 将apache-hive-2.1.1-bin.tar.gz解压出来
- 设置环境变量(此电脑/属性/高级属性设置/环境变量)
- 系统变量添加HADOOP_HOME=安装目录(例:D:\学习视频\apache-hive-2.1.1-bin);PATH中添加D:\学习视频\apache-hive-2.1.1-bin\bin
- D:\学习视频\apache-hive-2.1.1-bin\conf有4个默认的配置文件hive-default.xml.template、hive-env.sh.template、hive-exec-log4j.properties.template、hive-log4j.properties.template将四个文件复制粘贴一下(防止出错)并将后缀.template去掉并将hive-default.xml重命名为hive-site.xml;
- 在hive安装目录中创建hive文件,在hive下创建scratch_dir、resources_dir、querylog_dir、operation_logs_dir;在hadoop上创建hdfs目录
6.1在cmd中切换到D盘: d:
6.2 cd d:/Hadoop-2.6.2/bin
6.3 hadoop fs -mkdir /user;Hadoop fs -mkdir /user/hive;Hadoop fs -mkdir /user/hive/warehouse;Hadoop fs -mkdir /tmp;Hadoop fs -mkdir /tmp/hive
配置D:\学习视频\apache-hive-2.1.1-bin\conf\hive-site.xml
<property>
<name>hive.metastore.warehouse.dir</name>
<!--hive的数据存储目录,指定的位置在hdfs上的目录-->
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
<property>
<name>hive.exec.scratchdir</name>
<!--hive的临时数据目录,指定的位置在hdfs上的目录-->
<value>/tmp/hive</value>
<description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/<username> is created, with ${hive.scratch.dir.permission}.</description>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<!--本地目录-->
<value> D:\学习视频\apache-hive-2.1.1-bin\hive\scratch_dir </value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<!--本地目录-->
<value> D:\学习视频\apache-hive-2.1.1-bin\hive\resources_dir </value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
<property>
<name>hive.querylog.location</name>
<!--本地目录-->
<value> D:\学习视频\apache-hive-2.1.1-bin\hive\querylog_dir </value>
<description>Location of Hive run time structured log file</description>
</property>
<property>
<name>hive.server2.logging.operation.log.location</name>
<value> D:\学习视频\apache-hive-2.1.1-bin\hive\operation_logs_dir </value>
<description>Top level directory where operation logs are stored if logging functionality is enabled</description>
</property>
在最后添加
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?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>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<!-- 解决 Required table missing : "`VERSION`" in Catalog "" Schema "". DataNucleus requires this table to perform its persistence operations. Either your MetaData is incorrect, or you need to enable "datanucleus.autoCreateTables" -->
<property>
<name>datanucleus.autoCreateSchema</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateTables</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateColumns</name>
<value>true</value>
</property>
如果不会加我会将hive-site.xml附加,供大家参考
8、修改D:\学习视频\apache-hive-2.1.1-bin\conf\hive-env.sh
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=D:\hadoop-2.6.2
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=D:\学习视频\apache-hive-2.1.1-bin\conf
# Folder containing extra ibraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=D:\学习视频\apache-hive-2.1.1-bin\lib
- 连接数据库的jar包已经附加
9、MySQL设置
(1)创建hive数据库: create database hive default character set latin1;
(2)grant all on hive.* to hive@'localhost' identified by 'hive';
flush privileges;
10、启动服务
(1)启动hadoop:start-all.cmd
(2)启动metastore服务:hive --service metastore
11、查看mysql数据库
use hive;
show tables;
当出现下方内容说明初始化成功
(3)启动Hive:hive
若Hive成功启动,Hive本地模式安装完成。