Hue服务默认使用的是内嵌的sqlite数据库做为本身的源数据库,sqlite数据库毕竟是属于一款轻型的数据库服务,在实际项目中仍是建议切换MySql或者oracle做为元数据库服务,本文将切换MySql做为Hue的元数据库。mysql
1.MySql服务(共用以前Hive的元数据服务)sql
2.Hue4.1服务数据库
打开hue的/desktop/conf/目录下的 pseudo-distributed.ini文件 django
编辑pseudo-distributed.ini文件 ,找到[[database]]这一节,修改信息为hdpc05的机器上的MySql元数session
据库服务,修改信息以下:oracle
engine=mysql //数据引擎类型oop
host=hdpc05 //数据服务主机spa
port=3306 //端口号 sqlite
user=root //用户名hadoop
password=123456 //密码
name=hue //数据库名称
因为咱们以前的信息都存在默认的sqlite数据服务中,咱们切换为mysql服务,须要进行初始化的工做
1.在MySql中新建hue的数据库hue
2.初始化hue数据库
在hue服务所在主机,在hue的/bulid/env/bin下执行如下初始化命令:
./hue syncdb
./hue migrate
通过上面的配置和和初始化服务,此时Hue切换MySql做为元数据库已经完成,下面咱们启动Hue服务验证咱们的操做:首先在hue的/bulid/env/bin/目录下执行./supervisor 命令启动hue服务
而后咱们使用初始时设置的用户登录hue服务
而后咱们启动hadoop集群,看看切换后链接hdfs等是否正常
链接hadoop集群也正常
1.Hue提示(1146, "Table 'hue.django_session' doesn't exist")的异常
问题缘由:切换完mysql数据库没有初始化数据库
解决方法:初始化数据库服务,见上面的初始化步骤
2.启动后使用原来帐户登录提示帐户名或者密码错误
问题缘由:由于咱们切换了默认数据库,以前的用户信息保存在sqllite中,因此此时使用原来的帐户登录不上去
解决办法:还记的咱们在初始化的时候,控制台要求咱们 输入的帐户的密码么,那就是咱们新的Hue服务的超级管理员密码
6、文末总结
本文主要是切换hue服务的默认数据服务,将sqllite服务切换成了mysql服务,在咱们平时使用中没有什么大问题,在线上项目中建议不要使用默认的sqllie,由于sqllie服务真的台轻量了,文中有错误,欢迎你们指出。