Hue 编译安装

Hue是一个能够与Apache Hadoop交互的Web应用程序,一个开源的Apache Hadoop UI。
本文介绍Hue的编译、安装、启动过程以及记录这个过程中可能遇到的问题。

编译、安装、启动

环境准备

  • IOS: Centos6.7 (minimum)
  • Maven 3.3.3
  • Ant 1.9.4+
  • Python 2.6.6+

依赖的工具包

  • Hue官网列出的工具包

    asciidoc krb5-devel libxml2-devel libxslt-devel libtidy mysql mysql-devel openldap-devel python-devel sqlite-devel make openssl-devel gcc gcc-c++ gmp-devel cyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-gssapi libffi-devel

  • 额外需要的工具包(在编译过程中根据报错信息需额外安装的工具包)

    python-simplejson python-setuptools rsync saslwrapper-devel pycrypto libyaml-devel libsasl2-dev libsasl2-modules-gssapi-mit libkrb5-dev libssl-devel

  • 注意:Centos7系统安装:gmp libtidy mysql-devel工具无法安装。且在编译过程中提示需安装ipdb: centos7系统自带的python2.7,而默认情况下python2.7不提供pip工具的,需手动安装好,或者使用hue里的python2.7的pip工具来安装ipdb。命令:pip install ipdb

编译安装

  • 下载
1
$ git clone https://github.com/cloudera/hue.git
  • 编译
1
2
$ make apps(这个过程可能由于网络等问题导致某些包无法下载,多执行几次就OK)
$ make locales(编译多语言版本支持)

注:若只编译简体中文版,需修改$HUE/desktop/core/src/desktop/settings.py文件中:LANGUAGE_CODE = ‘zh_CN’,并删除LANGUAGES中的其它语言项。

  • 安装
1
2
$ make install (默认安装到/usr/local目录下)
$ make install PREFIX=/usr/hdp/2.3.4.0-3485/hue (指定安装目录)
  • 测试
1
$ HUE/build/env/bin/hue test all

启动

  • 添加用户,目录赋权
1
2
$ adduser hue (确保hue用户与其home目录存在)
$ chown -R hue:hue /usr/local/hue
  • 启动Hue
1
2
$ $HUE/build/env/bin/supervisor & (用户生产环境)
$ $HUE/build/env/bin/hue runcpserver & (用户开发模式)

Web浏览器:http://HUE_SERVER_HOST:8000 第一次输入的用户名密码为超级管理员的用户密码。

问题剖析

  1. Hue 3.10.0以上版本编译过程中报错:error: ffi.h: No such file or directory。
    问题分析:编译环境缺少libssl-devel libffi-devel,编译过程中若缺少一些依赖的工具包,会有很多类似的错误。
    解决办法:yum -y install libssl-devel libffi-devel

  2. Hue在启动过程中报错:UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xef in position 166: ordinal not in range(128)。
    问题分析:编码问题,Python的str默认是ascii编码,和unicode编码冲突
    解决办法:在出现问题的python文件或者页面添加如下3行信息:

    1
    2
    3
    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')
  3. Hue 3.9.0及以下版本自带LivyServer服务,支持Spark 1.6.0以下版本;
    Hue 3.10.0及以上版本将不在集成LivyServer服务,支持Spark 1.6.0及以上版本,LivyServer服务需单独安装部署。

Kyle Joe wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!