title: hue的定制與二次開發(fā)
date: 2017-01-06 09:09:07
categories: 大數(shù)據(jù)
tags: Hadoop
Hue定制與二次開發(fā)
??Hue是Hadoop生態(tài)圈中的一員属韧,它將Hadoop生態(tài)圈中幾乎所有的工具都集成在一個Web平臺上线椰。在Web開發(fā)方面疫萤,Hue基于python的Django框架的mako模板劲绪。因此可以在瀏覽器上通過Hue這個管理系統(tǒng),來統(tǒng)一管理服務(wù)器集群上的應(yīng)用杜漠。最近因?yàn)轫?xiàng)目的原因需要對Hue進(jìn)行定制開發(fā)腰湾,因此接觸了一下Hue。在這里記錄一下处坪,關(guān)于Hue定制開發(fā)方面所碰到的問題和自己總結(jié)得到的規(guī)律根资。
Hue的漢化
??Hue是Cloudera公司貢獻(xiàn)給Apahce基金會的,它的代碼可以直接從githua上clone下來稻薇。當(dāng)然默認(rèn)Hue的界面語言是英語嫂冻。如果要進(jìn)行二次開發(fā),在國內(nèi)的小伙伴的首要任務(wù)是將其漢化塞椎。Hue支持漢語,只需要修改配置文件桨仿,重新編譯就可以了。步驟如下:
- 修改配置文件以前的版本中案狠,漢化修改的參數(shù)是zh-CN服傍。但是在現(xiàn)在的3.10的版本中是zh-Hans钱雷,并且很多庫的漢化都采用了zh-Hans
vi /YourHuePath/desktop/core/src/desktop/settings.py
LANGUAGE_CODE = 'zh_Hans'
#LANGUAGE_CODE = 'en-us'
LANGUAGES = [
('en-us', _('English')),
('zh_Hans', _('Simplified Chinese')),
]
- 重新編譯項(xiàng)目
cd /YourHuePath
make apps
- 啟動hue 這里runserver是本地啟動,如果部署在外網(wǎng)吹零,啟動方式是supervisor罩抗。
cd /YourHuePath/build/env/bin/hue runserver
- 輸入你hue的路徑就可以看到中文界面了。
http://127.0.0.1:8000/ 這是我的路徑
Hue中app的刪除
??Hue是基于Django框架的灿椅,是有許許多多的app組成了整個框架套蒂。因?yàn)樾枰獙ζ溥M(jìn)行定制開發(fā),因此肯定有一些app是沒有用處的茫蛹,我們應(yīng)當(dāng)將其排除在外操刀。有一些新的app需要我們添加到Hue當(dāng)中。在研究Hue框架的時候婴洼,找到了兩個文件骨坑,只需要對其進(jìn)行修改就可以完成我們的目標(biāo)。我給出兩個文件的路徑柬采。其中第一個文件是配置了每個app的路徑欢唾,所以所有的app是通過第一個文件來找到的。第二個文件是對app進(jìn)行注冊粉捻,讓框架知道有這么一個東西礁遣。所以如果你想刪除某一個功能,找到相應(yīng)的app杀迹。然后在這兩個文件中刪除對應(yīng)的配置信息就可以完成亡脸。
- YourHuePath/build/env/lib/python2.7/site-packages/hue.pth
- YourHuePath/app.reg
Hue中app的添加
??如果我們需要添加新的app就按照如下步驟即可:
- 創(chuàng)建應(yīng)用下面創(chuàng)建一個名字為calculator的應(yīng)用
cd YourHuePath
./build/env/bin/hue create_desktop_app calculator
- 查看文件的結(jié)構(gòu)
find calculator -type f
- 對新建的應(yīng)用進(jìn)行安裝注冊
cd YourHuePath
./build/env/bin/python tools/app_reg/app_reg.py --install calculator
- 查看應(yīng)用的版本號
./build/env/bin/python tools/app_reg/app_reg.py --list 2>&1 | grep calculator