天天看点

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,虽然报错了,但是进程还在,把进程杀掉再启动即可。

继续阅读