Hive的mysql安装配置
一、MySQL的安装
Hive的数据,是存在HDFS里的。此外,hive有哪些数据库,每个数据库有哪些表,这样的信息称之为hive的元数据信息。
元数据信息不存在HDFS,而是存在关系型数据库里,hive默认用的是derby数据库来存储。即hive工作时,除了要依赖Hadoop,还要依赖关系型数据库。
注意:虽然我们能通过HDFS查看到hive有哪些数据库,有哪些表,以及表里的数据,但是,这不是元数据信息。HDFS最主要的是存储hive的数据信息。
之前遇到的问题:当退出后,切换到不同的目录来进入hive,发现库和表没有了,是因为,第一次从bin目录进入hive,会在bin目录下创建一个metastore.db目录,在这个目录下,创建一个derby.log文件来存储
元数据信息。这个元数据信息是基于bin目录来创建的。而切换到其他目录进入hive时,查询时不是基于bin目录来查询的,所有查不到元数据信息,导致查不到。这个问题是derby数据库本身的问题,所以,我们不能用derby数据库,此外,用derby数据库,也不支持并发,比如一个人在操作hive,如果此时有其他人想用hive,用不了。所以我们选择用mysql数据库。目前hive支持derby和mysql两种数据库。
Linux下mysql的安装过程:Linux下的MySQL安装
二、Hive的mysql配置步骤
①删除HDFS中的/usr/hive
执行:hadoop fs -rmr /user/hive(需要启动hadoop)
②将mysql驱动包上传至hive的安装目录的lib目录下
我这里采用rz命令来上传:mysql-connector-java-5.1.38-bin.jar
③在hive/conf添加配置文件,名字为:hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoopalone:3306/hive?createDatabaseIfNotExist=true</value> //mysql的url
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name> //mysql的用户名
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name> //mysql的密码
<value>root</value>
</property>
</configuration>
如图所示,添加如下配置

④进入hive ,进入bin目录,执行:sh hive
如果出现:
Access denied for user 'root'@'hadoop01' (using password: YES)这个错误,指的是当前用户操作mysql数据库的权限不够。
⑤进入到mysql数据库,进行权限分配
执行:grant all privileges on *.* to 'root'@'hadoopalone' identified by 'root' with grant option;
grant all on *.* to 'root'@'%' identified by 'root';
然后执行:flush privileges;(注意分号)
⑥手动创建Hive数据库
如果不事先在mysql里创建hive数据库,在进入hive时,mysql会自动创建hive数据库。但是注意,因为我们之前配置过mysql的字符集为utf-8,所以这个自动创建的hive数据库的字符集是utf-8的。
但是hive要求存储元数据的字符集必须是iso8859-1。如果不是的话,hive会在创建表的时候报错(先是卡一会,然后报错)。
进入mysql执行:create database hive character set latin1;
⑦以上步骤都做完后,再次进入mysql的hive数据,发现有如下表:

⑧通过navicat连接mysql数据库

⑨可以通过DBS 、TBLS、COLUMNS_V2这三张表来查看元数据信息。
DBS 存放的数据库的元数据信息

TBLS存放的tables表信息

COLUMNS表存放的是列字段信息

此外,可以通过查看SDS表来查询HDFS里的位置信息

至此,Hive配置mysql大功告成!如果有什么问题,大家一起留言讨论。
Hive的mysql安装配置的更多相关文章
- Linux下的Mysql安装 & 配置
Hive的数据,是存在HDFS里的.此外,hive有哪些数据库,每个数据库有哪些表,这样的信息称之为hive的元数据信息. 元数据信息不存在HDFS里.而是存在关系型数据库里,hive默认用的是der ...
- Linux(Manjaro) - Docker - MySQL 安装配置
Linux(Manjaro) - Docker - MySQL 安装配置 拉取mysql镜像 # 使用网易的 MySQL 镜像地址 docker pull hub.c.163.com/library/ ...
- MySQL---5、可视化工具Navicat for MySQL安装配置
一.安装文件包下载 Navicat for MySQL 安装软件和破解补丁: 链接:https://pan.baidu.com/s/1oKcErok_Ijm0CY9UjNMrnA 密码:4xb1 ...
- FreeRADIUS + MySQL 安装配置笔记
FreeRADIUS + MySQL 安装配置笔记 https://www.2cto.com/net/201110/106597.html
- mysql 安装配置及经常使用操作
作为关系型数据库的一种,mysql因其占用内存小和开源等特性而兴起.以下简介下关于mysql配置和简单的操作. mysql配置 1.安装文件的下载 免安装版下载地址 :http://dev.mysql ...
- Linux-CentOS7环境MySQL安装配置
Linux-CentOS7环境MySQL安装配置 1. 安装准备 (1)检查MySQL是否已安装 (2)如果有的话,就全部卸载 2. 安装libaio (1)检索相关信息: (2)安装依赖包: 3. ...
- Hive on Spark安装配置详解(都是坑啊)
个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...
- hive集群安装配置
hive 是JAVA写的的一个数据仓库,依赖hadoop.没有安装hadoop的,请参考http://blog.csdn.net/lovemelovemycode/article/details/91 ...
- hive上mysql元数据库配置
hive调试信息显示模式: ./hive -hiveconf hive.root.logger=DEBUG,console 非常有用. 默认情况下,Hive元数据保存在内嵌的 Derby 数据库中,只 ...
随机推荐
- stl队列
队列(Queue)也是一种运算受限的线性表,它的运算限制与栈不同,是两头都有限制,插入只能在表的一端进行(只进不出),而删除只能在表的另一端进行(只出不进),允许删除的一端称为队尾(rear),允许插 ...
- gulp 常用方法 任务 插件
执行gulp 任务 gulp taskname (default任务不输入名称亦可:gulp) var gulp = require("gulp"); gulp.task(&quo ...
- 鬼斧神工:求n维球的体积
原文地址:http://spaces.ac.cn/archives/3154/ 原文作者:苏剑林 标准思路 简单来说,\(n\)维球体积就是如下\(n\)重积分 \[V_n(r)=\int_{x_1^ ...
- JAVA中对null进行强制类型转换
今天很好奇,对null进行强转会不会抛错.做了如下测试得到的结果是,如果把null强转给对象,是不会抛异常的,本身对象是可以为null的.但是如果是基本类型,比如 int i = (Integer)o ...
- js获取用户当前地理位置(省、市、经纬度)
在很多情况下,我们需要用到定位功能,来获取用户当前位置.当前比较流行的定位API有腾讯地图.百度地图.高德地图.搜狗地图等等,在这里我使用的是腾讯地图定位API,根据用户IP获取用户当前位置,API返 ...
- 【游戏体验】Shoot'm(暴打火柴人)
>>>点此处可试玩无敌版<<< 注意,本游戏含有少量暴力元素,13岁以下的儿童切勿尝试本款游戏 生活有压力,学习不如意,你可以尝试这款游戏发泄心中的不满 个人测评 ...
- iptables详解(3):增删改存
总结一下iptables规则管理的增删改存命令: 1.添加规则: 1)在指定表的指定链的末尾添加一条规则,-A选项表示在末尾添加,-j表示采取的动作,例如DROP.REJECT.ACCEPT 命令语法 ...
- linux下删除文件夹
---恢复内容开始--- 4月份左右接触linux,一直到现在,收获不多,原因是因为我没有足够的努力,其实这段时间以来我也很自责. 今天学习linux进程调度等知识,使用小红帽时,准备删除一个无用的文 ...
- TensorFlow:谷歌图像识别网络inception-v3下载与查看结构
学习博客: # https://www.cnblogs.com/felixwang2/p/9190731.html # https://www.cnblogs.com/felixwang2/p/919 ...
- C语言:对长度为7的字符串,除首尾字符外,将其余5个字符按ASCII降序排序。-计算并输出3~n之间所有素数的平方根之和。
//对长度为7的字符串,除首尾字符外,将其余5个字符按ASCII降序排序. #include <stdio.h> #include <ctype.h> #include < ...