hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将HQL(类sql)语句转变成MapReduce任务来执行----摘自百度百科
hive安装和配置
安装
一:hive下载地址: http://archive.apache.org/dist/hive/
1.安装包上传到linux自己的安装包存放目录
2.解压到指定的目录:tar -xvf apache-hive-2.1.1-bin.tar.gz -C ../servers/
3.修改 hive.env.sh 文件,指定hadoop安装路径、hive配置文件路径
4.拷贝hive-env.sh.template模板文件为hive-env.sh 文件
命令:cp hive-env.sh.template hive-env.sh
5.vim hive-env.sh(路径一定要写对,否则报乱七八糟的错都不知道是什么原因)
6.配置hive-size.xml
Conf 中没有这个文件,直接 vim hive-size.xml
注意:hive元数据存储使用mysql,需安装mysql,下面配置内容里有mysql用户名与密码,其他根据注释改成自己的路径即可,注意mysql要赋予足够权限
内容:
<configuration>
<!--连接数据的用户名-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!--连接数据的密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<!--mysql数据库的访问路径,没有路径则自动创建-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.110.120:3306/hive?createDatabaseIfNotExist=true&useSSL=false&serverTimezone=GMT%2B8</value>
</property>
<!--连接数据库的驱动-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!--元数据是否校验-->
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<!--关闭元数据存储授权 -->
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
<!--远程模式部署服务地址(端口固定,地址写自己hive服务地址)-->
<property>
<name>hive.metastore.uris</name>
<value>thrift://node03:9083</value>
</property>
<!--thrift服务器绑定的主机(自己hive服务地址)-->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>node03</value>
</property>
<property>
<name>hive.support.concurrency</name>
<value>true</value>
</property>
<property>
<name>hive.txn.manager</name>
<value>org.apache.hadoop.hive.ql.lockmgr.DbTxnManager</value>
</property>
</configuration>
7.在安装目录的lib目录上传一个mysql-connector-java.jar连接驱动
8.配置hive 环境变量 vim /etc/ profile
export HIVE_HOME=/export/servers/apache-hive-3.1.2-bin
export PATH=:$HIVE_HOME/bin:$PATH
9.Hadoop的Hdfs 、yarn 全部启动
10.初始化元数据库mysql,到bin目录下执行 schematool -dbType mysql -initSchema
11.启动 到安装目录bin 目录下 输入hive 回车
至此hive安装完成
敲黑板~ 注意了!注意le!
那些年踩过的坑:
坑点1:
hive版本要对应Hadoop版本(我的Hadoop是3.2.2, hive使用3.1.2)
坑点2:
hadoop和hive的两个guava.jar版本不一致
两个位置分别位于下面两个目录:
- /usr/local/hive/lib/
- /usr/local/hadoop/share/hadoop/common/lib/
删除低版本的那个,将高版本的复制到低版本目录下
坑点3:
lib目录下要放入的mysql驱动包版本要和mysql版本一致,例如我的是mysql 5.1.7 驱动包要5.x.x