hue的定制与二次开发

来源:互联网 发布:淘宝买家退货流程 编辑:程序博客网 时间:2024/05/20 00:51

Hue定制与二次开发

  Hue是Hadoop生态圈中的一员,它将Hadoop生态圈中几乎所有的工具都集成在一个Web平台上。在Web开发方面,Hue基于python的Django框架的mako模板。因此可以在浏览器上通过Hue这个管理系统,来统一管理服务器集群上的应用。最近因为项目的原因需要对Hue进行定制开发,因此接触了一下Hue。在这里记录一下,关于Hue定制开发方面所碰到的问题和自己总结得到的规律。

Hue的汉化

  Hue是Cloudera公司贡献给Apahce基金会的,它的代码可以直接从githua上clone下来。当然默认Hue的界面语言是英语。如果要进行二次开发,在国内的小伙伴的首要任务是将其汉化。Hue支持汉语,只需要修改配置文件,重新编译就可以了。步骤如下:
1. 修改配置文件 以前的版本中,汉化修改的参数是zh-CN。但是在现在的3.10的版本中是zh-Hans,并且很多库的汉化都采用了zh-Hans

vi /YourHuePath/desktop/core/src/desktop/settings.pyLANGUAGE_CODE = 'zh_Hans'#LANGUAGE_CODE = 'en-us'LANGUAGES = [('en-us', _('English')),('zh_Hans', _('Simplified Chinese')),]
  1. 重新编译项目
cd  /YourHuePathmake apps
  1. 启动hue 这里runserver是本地启动,如果部署在外网,启动方式是supervisor。
cd  /YourHuePath/build/env/bin/hue runserver 
  1. 输入你hue的路径就可以看到中文界面了。
http://127.0.0.1:8000/ 这是我的路径

Hue中app的删除

  Hue是基于Django框架的,是有许许多多的app组成了整个框架。因为需要对其进行定制开发,因此肯定有一些app是没有用处的,我们应当将其排除在外。有一些新的app需要我们添加到Hue当中。在研究Hue框架的时候,找到了两个文件,只需要对其进行修改就可以完成我们的目标。我给出两个文件的路径。其中第一个文件是配置了每个app的路径,所以所有的app是通过第一个文件来找到的。第二个文件是对app进行注册,让框架知道有这么一个东西。所以如果你想删除某一个功能,找到相应的app。然后在这两个文件中删除对应的配置信息就可以完成。
1. YourHuePath/build/env/lib/python2.7/site-packages/hue.pth
2. YourHuePath/app.reg

Hue中app的添加

  如果我们需要添加新的app就按照如下步骤即可:
1. 创建应用下面创建一个名字为calculator的应用

cd YourHuePath./build/env/bin/hue create_desktop_app calculator
  1. 查看文件的结构
find calculator -type f
  1. 对新建的应用进行安装注册
cd YourHuePath./build/env/bin/python tools/app_reg/app_reg.py --install calculator
  1. 查看应用的版本号
./build/env/bin/python tools/app_reg/app_reg.py --list 2>&1 | grep calculator