title: hue的定制与二次开发
date: 2017-01-06 09:09:07
categories: 大数据
tags: Hadoop
Hue定制与二次开发
Hue是Hadoop生态圈中的一员,它将Hadoop生态圈中几乎所有的工具都集成在一个Web平台上。在Web开发方面,Hue基于python的Django框架的mako模板。因此可以在浏览器上通过Hue这个管理系统,来统一管理服务器集群上的应用。最近因为项目的原因需要对Hue进行定制开发,因此接触了一下Hue。在这里记录一下,关于Hue定制开发方面所碰到的问题和自己总结得到的规律。
Hue的汉化
Hue是Cloudera公司贡献给Apahce基金会的,它的代码可以直接从githua上clone下来。当然默认Hue的界面语言是英语。如果要进行二次开发,在国内的小伙伴的首要任务是将其汉化。Hue支持汉语,只需要修改配置文件,重新编译就可以了。步骤如下:
- 修改配置文件以前的版本中,汉化修改的参数是zh-CN。但是在现在的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')),
]
- 重新编译项目
cd /YourHuePath
make apps
- 启动hue 这里runserver是本地启动,如果部署在外网,启动方式是supervisor。
cd /YourHuePath/build/env/bin/hue runserver
- 输入你hue的路径就可以看到中文界面了。
http://127.0.0.1:8000/ 这是我的路径
Hue中app的删除
Hue是基于Django框架的,是有许许多多的app组成了整个框架。因为需要对其进行定制开发,因此肯定有一些app是没有用处的,我们应当将其排除在外。有一些新的app需要我们添加到Hue当中。在研究Hue框架的时候,找到了两个文件,只需要对其进行修改就可以完成我们的目标。我给出两个文件的路径。其中第一个文件是配置了每个app的路径,所以所有的app是通过第一个文件来找到的。第二个文件是对app进行注册,让框架知道有这么一个东西。所以如果你想删除某一个功能,找到相应的app。然后在这两个文件中删除对应的配置信息就可以完成。
- YourHuePath/build/env/lib/python2.7/site-packages/hue.pth
- YourHuePath/app.reg
Hue中app的添加
如果我们需要添加新的app就按照如下步骤即可:
- 创建应用下面创建一个名字为calculator的应用
cd YourHuePath
./build/env/bin/hue create_desktop_app calculator
- 查看文件的结构
find calculator -type f
- 对新建的应用进行安装注册
cd YourHuePath
./build/env/bin/python tools/app_reg/app_reg.py --install calculator
- 查看应用的版本号
./build/env/bin/python tools/app_reg/app_reg.py --list 2>&1 | grep calculator