HIVE精炼笔记总结——[启示篇]

本文是关于Hive的精炼笔记,主要介绍了Hive的基本思想、基本架构和两种安装方式,特别是详细讲解了使用MySQL作为元数据库的安装步骤,包括解决依赖问题、配置权限等。
摘要由CSDN通过智能技术生成

1.什么是hive


hive基本思想

Hive是基于Hadoop的一个数据仓库工具(离线),可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。


Ø  直接使用hadoop所面临的问题

人员学习成本太高

项目周期要求太短

MapReduce实现复杂查询逻辑开发难度太大

 

Ø  为什么要使用Hive

操作接口采用类SQL语法,提供快速开发的能力。

避免了去写MapReduce,减少开发人员的学习成本。

功能扩展很方便。


HIVE特点

Ø  可扩展

Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。

 

Ø  延展性

Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。

 

Ø  容错

良好的容错性,节点出现问题SQL仍可完成执行。

 

2.  hive的基本架构


 

3.  hive安装

3.1. 最简安装:用内嵌derby作为元数据库

准备工作:安装hive的机器上应该有HADOOP环境(安装目录,HADOOP_HOME环境变量)

安装:直接解压一个hive安装包即可

此时,安装的这个hive实例使用其内嵌的derby数据库作为记录元数据的数据库

此模式不便于让团队成员之间共享协作


3.2. 标准安装:将mysql作为元数据库

3.2.1.  mysql安装

① 上传mysql安装包

② 解压:

[root@mylove ~]#tar -xvf MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar

 

③ 安装mysql的server包

[root@mylove ~]#rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm

依赖报错:

缺perl

yum install perl

安装完perl后 ,继续重新安装mysql-server

(可以配置一个本地yum源进行安装:

1、先在vmware中给这台虚拟机连接一个光盘镜像

2、挂在光驱到一个指定目录:mount-t iso9660 -o loop /dev/cdrom /mnt/cdrom

3、将yum的配置文件中baseURL指向/mnt/cdrom

 

[root@mylove ~]#rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm

又出错:包冲突conflict with

移除老版本的冲突包:mysql-libs-5.1.73-3.el6_5.x86_64

[root@mylove ~]#rpm -e mysql-libs-5.1.73-3.el6_5.x86_64 --nodeps

 

继续重新安装mysql-server

[root@mylove ~]#rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm

 

成功后,注意提示:里面有初始密码及如何改密码的信息

初始密码:/root/.mysql_secret 

改密码脚本:/usr/bin/mysql_secure_installation

 

④ 安装mysql的客户端包:

[root@mylove ~]#rpm -ivh MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm

 

⑤ 启动mysql的服务端:

[root@mylove ~]#service mysql start

Starting MySQL.SUCCESS!

 

 

⑥ 修改root的初始密码:

[root@mylove ~]#/usr/bin/mysql_secure_installation  按提示

 

⑦ 测试:

用mysql命令行客户端登陆mysql服务器看能否成功

[root@mylove ~]#mysql -uroot -proot

mysql> showdatabases;

 

⑧ root用户授予从任何机器上登陆mysql服务器的权限:

mysql> grant all privileges on *.* to 'root'@'%'identified by '你的密码' with grantoption;

Query OK, 0 rows affected (0.00 sec)

 

mysql> flush privileges;

Query OK, 0 rowsaffected (0.00 sec)

注意点:要让mysql可以远程登录访问

最直接测试方法:从windows上用Navicat去连接,能连,则可以,不能连,则要去mysql的机器上用命令行客户端进行授权:

在mysql的机器上,启动命令行客户端:

mysql -uroot -proot

mysql>grantall privileges on *.* to 'root'@'%' identified by 'root的密码' withgrant option;
mysql>flush privileges;

 

 

3.2.2.  hive的元数据库配置

vi conf/hive-site.xml

<configuration>

<property>

<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>

<description>JDBC connect string for a JDBC metastore</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>root</value>

<description>password to use against metastore database</description>

</property>

</configuration>

 

2、上传一个mysql的驱动jar包到hive的安装目录的lib中

 

3、配置HADOOP_HOME 和HIVE_HOME到系统环境变量中:/etc/profile

4、source/etc/profile

5、hive启动测试

然后用命令启动hive交互界面:  

[root@hdp20-04 ~]# hive

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值