Hive使用mysql作为存储引擎

xiaoxiao2021-02-28  83

刚接触Hive,比较好奇为什么有了Hive还要装Mysql,下面就是答案

一.关于Hive元数据的说明

metastore是hive元数据的集中存放地metastore默认使用内嵌的derby数据库作为存储引擎Derby引擎的缺点:一次只能打开一个会话使用Mysql作为外置存储引擎,多用户同时访问

二.安装mysql

删除linux上已经安装的mysql相关库信息。 [root@hadoop conf]#rpm -e xxxxxxx --nodeps 1 执行命令 [root@hadoop conf]#rpm -qa |grep mysql 1

检查是否删除干净

执行命令 [root@hadoop conf]#rpm -i mysql-server-******** 1

安装mysql服务端

启动mysql 服务端,执行命令 [root@hadoop conf]#mysqld_safe & 1 安装mysql客户端,执行命令 [root@hadoop conf]#rpm -i mysql-client-******** 1 设置root用户密码,执行命令 [root@hadoop conf]#mysql_secure_installation 1 关于远程连接mysql  mysql 远程授权命令 grant all on hive.* to 'root'@'%' identified by 'admin'; flush privileges; 12

PS:  grant all on 数据库名.* to ‘数据库账户名’@’%’ identified by ‘密码’ with grant option;

数据库名,表明哪个数据库正被你授权,* 可以表示任何数据库,*.*可以表示任何数据库中的任何表;数据库账户名,以哪个数据库账号登陆;@,后边跟要授权的地址,表明在此地址登陆时进行授权;%,表示任何远程登陆地址,这里也可以是一个具体的值,表明只有在这个地址上进行登陆时才授予权限;密码,跟在identified by 后边,表明以这个密码进行登陆时的授权;

二.配置

把mysql的jdbc驱动放置到hive的lib目录下修改hive-site.xml文件,修改内容如下: <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop0:3306/hive?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>admin</value> </property>
转载请注明原文地址: https://www.6miu.com/read-26687.html

最新回复(0)