(博客)CDH使⽤之Hive元数据库修改
超⼈学院——CDH使⽤之Hive元数据库的修改
前⾔:在CDH中,hive使⽤postgresql作为元数据库。如果需要更改数据库,需要做⼀些相应的配置进⾏更改。CDH⽬前⽀持hive的元数据库有四种:分别是postgresql、oracle、derby、mysql。其中如果有使⽤到impala服务,不建议使⽤derby作为元数据库,impala依赖于hive,但是不⽀持derby作为metastore。本⽂将hive的元数据库更改为mysql。
⼀、配置前准备
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
⼆、数据库准备
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
三、CDH配置
Hive的元数据库可以在CM的配置也页中直接进⾏以下修改,点击保存修改:
四、配置⽣效mysql下载jar包
使配置⽣效:
点击保存更改之后,选择第⼀步部署客户端配置,重启Hive
注:如果重启hive不成功,需要执⾏第⼆步和第三步后再次重启。还是不成功请检查hive的配置以及驱动jar包是否已经添加。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。