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服務真的臺輕量了,文中有錯誤,歡迎你們指出。