安装包下载
官网地址:
下载和Hadoop匹配的hive稳定版本 官网:http://hive.apache.org/downloads.html (看和你安装的Hadoop版本相对应)Hive是基于Hadoop的,请先提交安装好Hadoop并且启动hdfs。
然后把安装包上传到服务器 ,并且解压,
tar -zxvf apache-hive-3.1.2-bin.tar.gz
解压完成后,更改一下名称
mv apache-hive-3.1.2-bin hive-3.1.2
然后配置一下,hive环境变量
输入 vim /etc/profile,按i编辑
export HIVE_HOME=/data/hive-3.1.2
export PATH=$HIVE_HOME/bin:$PATH
刷新更改的环境变量,并生效
source /etc/profile
到conf目录下面,把 hive-default.xml.template 改一下名称
mv hive-default.xml.template hive-default.xml
然后,自己新建一个 hive-site.xml,配置如下,有些人要改hive-default.xml里面的配置,其实不用,如果我们自定义配置,会覆盖默认配置的。自定义的xml看起来清爽一点。
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--执行Hive操作访问HDFS时用于存储临时数据的目录,默认为/tmp/目录,通常设置
为/tmp/hive/,目录权限设置为733-->
<property>
<name>hive.exec.scratchdir</name>
<value>/tmp/hive</value>
</property>
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>hdfs://wumingkai:9000/user/hive/warehouse</value>
</property>
<!--设置Hive通过JDBC模式连接MySQL数据库metastore内容,端口改为你自己的端口,这个hiveDB数据库与在mysql数据库创建的hiveDB数据库对应,用来保存hive元数据-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.0.112:3306/hivedb?=createDatabaseIfNotExist=true</value>
</property>
<!--设置Hive连接MySQL的驱动名称,最新版本连接MySQL的jar包 所有写com.mysql.cj.jdbc.Driver,如果是旧版本用com.mysql.jdbc.Driver-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!--Hive连接存储metastore内容的数据库的用户名,填自己的用户-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<!--Hive连接存储metastore内容的数据库的密码,填自己的密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hivehive</value>
</property>
<!--是否允许Hive与MySQL之间存在多条连接-->
<property>
<name>javax.jdo.option.Multithreaded</name>
<value>true</value>
</property>
<!--配置查询的时候,显示数据库名和列表名称(这样看起来会舒服点)-->
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
</configuration>
配置hive日志文件地址,先到conf目录下面,把日志文件改一下名称
mv hive-log4j2.properties.template hive-log4j2.properties
然后 vim hive-log4j2.properties ,进入,修改默认的日志地址
property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name}
更改为:
property.hive.log.dir = /data/hive-3.1.2/logs
下载mysql驱动,然后放到hive安装目录的lib文件夹下面,(因为我之前本地已经安装过了mysql,所以mysql的 安装教程这里不写)
驱动下载地址
https://mvnrepository.com/artifact/mysql/mysql-connector-java
因为我mysql安装的5.7版本,所以驱动我下载了5.1.49版本的
之前在hive-site.xml配置了两个默认的文件夹,需要在hdfs里面提前创建好,并且赋权限,否则到时候进入hive客户端会报错。
hdfs dfs -mkdir -p /tmp/hive
hdfs dfs -mkdir -p /user/hive/warehouse
赋权限
hdfs dfs -chmod -R 777 /tmp
hdfs dfs -chmod -R 777 /tmp
初始化元数据
schematool -dbType mysql -initSchema
linux上输入hive进入客户端
成功进入
mysql创建用户和赋权限能远程访问语句
//创建用户
CREATE USER ‘hive’@’%’ IDENTIFIED BY ‘hivehive’;//授权hive用户拥有 hivedb 数据库的所有权限
grant all privileges on hivedb.* to hive@’%’ identified by ‘hivehive’;