1.hive安装部署
1.1.tar下载
2.解压 、改名
[root@localhost opt]# tar -zxvf apache-hive-3.1.2-bin.tar\ \(1\).gz
[root@localhost opt]# mv apache-hive-3.1.2-bin hive
3.添加环境变量
[root@localhost opt]# vim /etc/profile
--source生效
[root@localhost opt]# source /etc/profile
4.解决日志Jar包冲突
[root@localhost opt]# cd hive/lib/
[root@localhost lib]# mv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.jar.bak
2.Hive元数据配置到MySQL
2.1 将MySQL的JDBC驱动拷贝到Hive的lib目录下
--我上面上传的文件有驱动包hive3.1.2+mysql驱动.zip-Hive文档类资源-CSDN下载大数据更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/weixin_43753599/74059069
我的jdbc驱动是放在mysql 目录
[root@localhost opt]# cp mysql/mysql-connector-java-5.1.47.jar /opt/hive/lib/
2.2 配置Metastore到MySQL
[root@localhost opt]# cd hive/conf/
--在hive/conf目录下新建hive-site.xml文件
[root@localhost conf]# vim hive-site.xml
hive-site.xml配置如下:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 绝对重点,有问题的注释去掉,因为注释是我后面加上的,帮助大家理解 -->
<property>
<!--mysqljdbc url链接,mysql中存储元数据的数据库名为metastore,当初始化数据时不存在时自动创建-->
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/metastore?useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<!--mysql 数据库账号-->
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<!--mysql 数据库密码-->
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<property>
<!-- Hive 存储路径(hdfs路径)-->
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<!-- Hive 元数据存储版本的验证 -->
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<!-- Hive jdbc连接端口:10000 -->
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<!-- Hive 连接的主机 -->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>localhost</value>
</property>
<!--元数据存储授权-->
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
<!-- 后两个是配置hive提示显示当前数据库名 -->
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
<!-- 将hive可以设置成本地模式来执行任务,不然会namenode内存空间不够,jvm不够新job启动导致。 -->
<property>
<name>hive.exec.mode.local.auto</name>
<value>true</value>
</property>
</configuration>
3.启动hive
3.1初始化客户端
[root@localhost ~]# mysql -uroot -p
--新建Hive元数据库
mysql> create database metastore;
mysql> quit;
--初始化Hive元数据库
[root@localhost ~]# schematool -initSchema -dbType mysql -verbose
3.2 启动hive
[root@localhost hive]# bin/hive
OK!启动成功。
--查看数据库
hive (default)> show databases;
也没有问题。
--来个1+1=2的测试。。。
hive (default)> create table test(id int );
hive (default)> insert into test values(1);
hive (default)> select id from test limit 10;
创建外部表俺就不测了。。。
写完收工,再见 ^ ^。。。