centos8离线安装Apache_Hive安装与配置详解

差不多呢!那么后面就不说了

醉一心:CentOS7离线安装MySQL与测试​zhuanlan.zhihu.com
Hive安装与配置详解 - 魁·帝小仙 - 博客园​www.cnblogs.com
2d7f8f26ba2e548f93c8142f76f42e10.png

hive


  这里简单说明一下,好对大家配置hive有点帮助。hive是建立在hadoop上的,当然,你如果只搭建hive也没用什么错。说简单一点,hadoop中的mapreduce调用如果面向DBA(数据库管理员)的时候,那么问题也就显现了,因为不是每个DBA都能明白mapreduce的工作原理,如果为了管理数据而需要学习一门新的技术,从现实生活中来说,公司又需要花钱请更有技术的人来了。
  开个玩笑,hadoop是为了存储数据和计算而推广的技术,而和数据挂钩的也就属于数据库的领域了,所以hadoop和DBA挂钩也就是情理之中的事情,在这个基础之上,我们就需要为了DBA创作适合的技术。
  hive正是实现了这个,hive是要类SQL语句(HiveQL)来实现对hadoop下的数据管理。hive属于数据仓库的范畴,那么,数据库和数据仓库到底有什么区别了,这里简单说明一下:数据库侧重于OLTP(在线事务处理),数据仓库侧重OLAP(在线分析处理);也就是说,例如mysql类的数据库更侧重于短时间内的数据处理,反之。
无hive:使用者.....->mapreduce...->hadoop数据(可能需要会mapreduce)
有hive:使用者...->HQL(SQL)->hive...->mapreduce...->hadoop数据(只需要会SQL语句)

hive安装和配置

安装
一:下载hive——地址:http://mirror.bit.edu.cn/apache/hive/

c95e8279a94eabc0109ad8e8ce866756.png
apache官方网站用于下载hive

这里以hive-2.1.1为例子,如图:

de643fdb805dff88de44f8129ecac7ae.png
hive压缩包所在的路径

将hive解压到/usr/local下:

[root@s100 local]# tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /usr/local/

8fe283e609140a8bf892c15f237a5a84.png

将文件重命名为hive文件:(这一步仅仅是为了后面的使用方便,不更改也可以)

[root@s100 local]# mv apache-hive-2.1.1-bin hive

4fb03c2025c0c95974d53e31cb104eaf.png

修改环境变量/etc/profile:(在~文件夹下vi .bash_profile也是一样的效果)

[root@s100 local]# vim /etc/profile

1 #hive 
2 export HIVE_HOME=/usr/local/hive
3 export PATH=$PATH:$HIVE_HOME/bin

db2e4c762739eeb58332c0ac36f4f9dc.png

执行source /etc.profile:
执行hive --version

[root@s100 local]# hive --version

有hive的版本显现,安装成功!配置

[root@s100 conf]# cd /usr/local/hive/conf/

修改hive-site.xml:

194e3e55f7950ce42483de1d9599a37e.png
hive下的conf文件夹中

这里没有,我们就以模板复制一个:

[root@s100 conf]# cp hive-default.xml.template hive-site.xml
[root@s100 conf]# vim hive-site.xml 

1.配置hive-site.xml(第5点的后面有一个单独的hive-site.xml配置文件,这个如果有疑问可以用后面的配置文件,更容易明白)
主要是mysql的连接信息(在文本的最开始位置)

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

967b7c17277a0231ffe1cc4a94b13cfb.png
hive-site.xml中的设置

2.复制mysql的驱动程序到hive/lib下面(这里已经拷贝好了)

[root@s100 lib]# ll mysql-connector-java-5.1.18-bin.jar
-rw-r--r-- 1 root root 789885 1月   4 01:43 mysql-connector-java-5.1.18-bin.jar


3.在mysql中hive的schema(在此之前需要创建mysql下的hive数据库)

[root@s100 bin]# pwd
/usr/local/hive/bin
[root@s100 bin]# schematool -dbType mysql -initSchema


4.执行hive命令

[root@localhost hive]# hive

55186422f1aeea0625e3ae5a6c229971.png
当出现hive提示字符时,hive成功安装

成功进入hive界面,hive配置完成
5.查询mysql(hive这个库是在 schematool -dbType mysql -initSchema 之前创建的!)

[

备注 (这里不计入正文不要重复配置hive-site.xml)
配置文件hive-site.xml
这里不得不说一下,如果你的 schematool -dbType mysql -initSchema 并没有执行成功怎么办,小博主昨天在这卡了一天,最后根据伟大的百度和hive官方文档,直接写了一个hive-site.xml配置文本:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>


那我们做这些事干什么的呢,下面小段测试大家感受一下

hive测试:

备注:这里是第二个配置文件的演示:所以数据库名称是hahive数据库
1.需要知道现在的hadoop中的HDFS存了什么

[root@localhost conf]# hadoop fs -lsr /

488062fe1ae5e06d0bc85e7dbe28f841.png
查询结果

2.进入hive并创建一个测试库和测试表

[root@localhost conf]# hive

创建库:(注意:HQL只有你打了;之后才会运行,所以一定要打入;,否则不执行)

hive> create database hive_1;
OK
Time taken: 1.432 seconds

显示库:

hive> show databases;
OK
default
hive_1
Time taken: 1.25 seconds, Fetched: 2 row(s)

创建库成功!
3.查询一下HDFS有什么变化

4059961e9b54180d94d3906c5a26ac99.png


多了一个库hive_1
那我们的mysql下的hahive库有什么变化

mysql> use hahive;

mysql> select * from DBS;
+-------+-----------------------+------------------------------------------------+---------+------------+------------+
| DB_ID | DESC                  | DB_LOCATION_URI                                | NAME    | OWNER_NAME | OWNER_TYPE |
+-------+-----------------------+------------------------------------------------+---------+------------+------------+
|     1 | Default Hive database | hdfs://localhost/user/hive/warehouse           | default | public     | ROLE       |
|     6 | NULL                  | hdfs://localhost/user/hive/warehouse/hive_1.db | hive_1  | root       | USER       |
+-------+-----------------------+------------------------------------------------+---------+------------+------------+
2 rows in set (0.00 sec)

59000bfcf95525adb239595aa19c9d5e.png


4.在hive_1下创建一个表hive_01

hive> use hive_1;
OK
Time taken: 0.754 seconds
hive> create table hive_01 (id int,name string);
OK
Time taken: 2.447 seconds
hive> show tables;
OK
hive_01 (表创建成功)
Time taken: 0.31 seconds, Fetched: 2 row(s)
hive> 

HDFS下的情况:

b6593481fbd39145d82d57f4cf63ca2b.png


mysql下:

mysql> select * from TBLS;
+--------+-------------+-------+------------------+-------+-----------+-------+----------+---------------+--------------------+--------------------+
| TBL_ID | CREATE_TIME | DB_ID | LAST_ACCESS_TIME | OWNER | RETENTION | SD_ID | TBL_NAME | TBL_TYPE      | VIEW_EXPANDED_TEXT | VIEW_ORIGINAL_TEXT |
+--------+-------------+-------+------------------+-------+-----------+-------+----------+---------------+--------------------+--------------------+
|      6 |  1514286051 |     6 |                0 | root  |         0 |     6 | hive_01  | MANAGED_TABLE | NULL               | NULL               |
+--------+-------------+-------+------------------+-------+-----------+-------+----------+---------------+--------------------+--------------------+
2 rows in set (0.00 sec)

那么在web端是什么样子的呢!

d15ad7e9a303c81d7c9e6ed8de4d1835.png
Hadoop的可视化页面

总的来说,hive其实就和mysql差不多呢!那么后面就不说了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值