hue配置使用mysql

因为Hue的元数据库是sqlite,容易产生database is locked的异常,所以建议大家把元数据库改为mysql。我们先打开mysql的root用户,然后新建一个hue用户,并为它授权,来使mysql作为hue的元数据库。

sudo service mysql start

mysql -u root -p

进入mysql后,进行如下操作:

create database hue;

create user 'hue'@'localhost' identified by '123'

grant all on hue.* to 'hue'@'localhost' identified by '123';

flush privileges;

exit;

mysql

接着我们修改hue.ini这个文件下的配置信息。

cd /usr/local/hue/desktop/conf

vim hue.ini

Shell

先修改[[databases]]的配置,然后再修改[librdbms]的[databases]的[mysql]配置。注意第一个笔者在500多行才找到,第二个在1280行才找到。建议各位以后遇到相同问题就用grep -n ‘关键词’ ‘文件名‘,这样的管道命令来先查找下。

#databases的配置,要去掉注释

engine=mysql

host=localhost

port=3306

user=hue

password=123

name=hue

#[librdbms]的[databases]的[mysql]配置,同样去掉注解

name=mysqldb

engine=mysql

port=3306

password=123

user=hue

然后对数据库进行初始化,

  1. cd /usr/local/hue/build/env
  2. bin/hue syncdb #初始化数据库,启动后会出现让你填写用户名和密码,邮箱等信息,用户名和密码既可以用系统的,也可以用新建的hue用户的,笔者只试过第一个,因为第一个填写成功后,再次初始化数据库就不会出现那些填写信息了, #至于邮箱,可以直接跳过

执行完上条命令后会出现(use ./manage.py migrate to migrate these) ,这时就需要执行下边的命令,我就是没有执行,在启动hue后用浏览器访问的时候报下边的错误:

ProgrammingError: (1146, "Table 'hue.desktop_settings' doesn't exist")

  1. bin/hue migrate --merge #执行完以后,可以在mysql中看到,hue相应的表已经生成。
  2. 再次重启报错:

No handlers could be found for logger "root"

这是因为上边启动过hue,虽然报错了,但是进程还在,把进程杀掉再启动即可。

hue配置使用mysql

相关推荐