Hive安装
一、简介
HIVE 是一个数据仓库,说白了就是把一些数据结构化的文件,映射成一张表,并且提供sql 接口去查询对应的数据。简单的查询不会经过mapreduce,涉及到排序之类,会生成一个hadoop 中的一个map reduce任务去执行。海量的数据文件都输存放在hdfs 中,所以hive 依赖于hdfs,执行job 可以是mapreduce 也可以是 spark DF。
二、准备
1. 配置安装Hadoop 环境 https://www.cnblogs.com/eggplantpro/p/7644679.html
2.配置HADOOP_HOME 环境变量,就是配置hadoop的目录 https://www.cnblogs.com/eggplantpro/p/9755947.html
因为hive依赖hdfs,hive脚本中就是获取HADOOP_HOME 从而获取到hadoop 一些信息,比如 namenode ip port 路径等
3.下载 hive
http://mirror.bit.edu.cn/apache/hive/
如果是hadoop2.x 就下载hive2.x
如果是hadoop3.x 就下载hive3.x
ps:似乎3.0不支持mr了
Remove setting hive.execution.engine as mr in HiveStreamingConnection
https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12343014&styleName=Text&projectId=12310843
三、安装(我这边元数据库是mysql)
1. 新建配置文件
vim hive-site.xml
内容如下:自己酌情改动
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>datanucleus.schema.autoCreateAll</name> <value>true</value> </property>
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value> <description>JDBC connect string for a JDBC metastore 元数据存放数据库的ip、端口、数据库</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore 数据库连接驱动</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <description>username to use against metastore database 数据库连接的用户名</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> <description>password to use against metastore database 数据库连接的密码</description> </property> </configuration>
2.因为使用的是mysql作为元数据的数据库服务,则需要下载 mysql 的 jdbc 放到hive 目录下的lib 中
到这个地址https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.47去下载就好了,然后放到 hive/lib/ 目录下
3.初始化元数据库
cd hive
./bin/schematool -dbType mysql -initSchema
4.启动
cd hive
./bin/hive