多语言展示
当前在线:1827今日阅读:61今日分享:18

超人学院——CDH使用之Hive元数据库的修改

在CDH中,hive使用postgresql作为元数据库。如果需要更改数据库,需要做一些相应的配置进行更改。CDH目前支持hive的元数据库有四种:分别是postgresql、oracle、derby、mysql。其中如果有使用到impala服务,不建议使用derby作为元数据库,impala依赖于hive,但是不支持derby作为metastore。本文将hive的元数据库更改为mysql。
方法/步骤
1

配置前准备1、添加hive组件在CM端,我们首先安装hive服务:主页-添加服务 选择hive服务 选择依赖项,可能有多个依赖关系 自定义角色分配选择数据库,选择mysql数据库,自定义数据库-测试连接注:此处需要先在服务器上配置了相应的mysql数据库(参看数据库准备),然后此处填相应的数据库名称、用户名、密码。(此处也可以默认使用postgresql,后面在配置hive时进行更改) 2、添加全局驱动jar包如果在添加hive服务时进行元数据库的更改相对简单,只需要配置好mysql数据库即可。更改时需要在CM的全局目录下添加对应的驱动包,使用默认方式安装的CDH添加jar包路径为:/usr/share/cmf/lib 3、直接hive添加驱动jar包使用默认方式安装的CDH添加jar包路径为:/opt/cloudera/parcels/CDH/lib/hive/lib

2

数据库准备1、启动mysql服务service mysqld status  ##查看数据库服务状态service mysqld start   ##启动mysql服务service mysqld stop   ##停止 mysql服务 2、更改mysql数据库配置# service mysqld stop# mysqld_safe --skip-grant-tables  &# enter# mysql -u root# mysql> use  mysql# mysql>update user set password=PASSWORD('xxx') where User='xxx';# mysql> update user set host='%'  where user='root' and host='localhost';# mysql> update user set host='%'  where user='' and host='localhost';# mysql> FLUSH PRIVILEGES;# mysql> quit;# mysql -u root -p# Enter# password: ******# mysql> create database hive;# mysql> grant all privileges on hive.* to 'hive'@'localhost' identified by 'hive';# mysql> grant all privileges on hive.* to 'hive'@'%' identified by 'hive';# mysql> exit

3

CDH配置Hive的元数据库可以在CM的配置也页中直接进行以下修改,点击保存修改:

注意事项

如果重启hive不成功,需要执行第二步和第三步后再次重启。还是不成功请检查hive的配置以及驱动jar包是否已经添加。

推荐信息