HUE简介及编译

每一个成功人士的背后,必定曾经做出过勇敢而又孤独的决定。

放弃不难,但坚持很酷~

一、HUE简介

Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job等等。很早以前就听说过Hue的便利与强大,一直没能亲自尝试使用,下面先通过官网给出的特性,通过翻译原文简单了解一下Hue所支持的功能特性集合:

  • 默认基于轻量级sqlite数据库管理会话数据,用户认证和授权,可以自定义为MySQL、Postgresql,以及Oracle

  • 基于文件浏览器(File Browser)访问HDFS

  • 基于Hive编辑器来开发和运行Hive查询

  • 支持基于Solr进行搜索的应用,并提供可视化的数据视图,以及仪表板(Dashboard)

  • 支持基于Impala的应用进行交互式查询

  • 支持NoteBook,其NoteBook支持多种编程语言,比如py-spark、scala等

  • 支持Pig编辑器,并能够提交脚本任务

  • 支持Oozie编辑器,可以通过仪表板提交和监控Workflow、Coordinator和Bundle

  • 支持HBase浏览器,能够可视化数据、查询数据、修改HBase表

  • 支持Metastore浏览器,可以访问Hive的元数据,以及HCatalog

  • 支持Job浏览器,能够访问MapReduce Job(MR1/MR2-YARN)

  • 支持Job设计器,能够创建MapReduce/Streaming/Java Job

  • 支持Sqoop编辑器和仪表板(Dashboard)

  • 支持ZooKeeper浏览器和编辑器

  • 支持MySql、PostGresql、Sqlite和Oracle数据库查询编辑器

二、源码下载

hue版本库:http://cloudera.github.io/hue/latest/,目前HUE最新版是4.3.0

三、准备工作

我下载的HUE-3.12.0版本:

http://gethue.com/downloads/releases/3.12.0/hue-3.12.0.tgz

下载tgz包,使用tar -zxvf命令将其放到/usr/local/目录下,改名为:hue

四、开始编译

cd /usr/local/hue
make apps

HUE编译成功之后,文件夹内多了一个build文件,build分为envstatic文件,其中env文件内含启动文件,而static文件内有相关联的一些组件。

五、HUE编译问题汇总

通过make apps报错来提示需要下载哪些相关工具包:

1. error: command 'gcc' failed with exit status 1
yum install -y gcc openssl-devel
yum install -y gcc gcc-c++ kernel-devel
yum install -y libxslt-devel
yum install -y gmp-devel
yum install -y sqlite-devel
2. building '_cffi_backend' extension
yum install -y libffi-devel openssl-devel
3. building '_ldap' extension
yum install -y openldap-devel 
4. EnvironmentError: mysql_config not found
yum install -y mysql-server mysql mysql-devel

六、启停HUE

HUE编译成功之后,我们需要启动HUE服务,建议使用非root用户启动,比如hue用户:

1. 创建hue用户
# 创建hue用户
useradd hue
# 将hue源码的用户所有者/组改为hue
chown -R hue:hue /usr/local/hue
2. 启动hue
# hue默认使用sqlite引擎
# 初始化数据库
/usr/local/hue/build/env/bin/hue syncdb --noinput
/usr/local/hue/build/env/bin/hue migrate
# 启动hue
/usr/local/hue/build/env/bin/supervisor
3. 停止hue
  • 一般情况下,直接使用Ctrl + c来停止hue服务

  • 如果将hue在后台运行的话,可以使用kill命令:

ps -ef | grep hue | grep -v grep | awk '{print $2}' | xargs kill -9

七、HUE启动问题汇总

1. 启动时错误:UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-11: ordinal not in range(128)
# 121行,将"_"去掉。
vim /usr/local/hue/desktop/core/src/desktop/management/commands/runcherrypyserver.py
2. 启动hue web端 报错误:OperationalError: attempt to write a readonly database
# 启动hue server的用户没有权限去写入默认sqlite DB,同时确保安装目录下所有文件的owner都是hue用户
chown -R hue:hue hue
3. IOError: [Errno 2] No such file or directory: '/var/log/hue/syncdb.log'

由于我通过/usr/local/hue/desktop/conf/log.conf修改了日志输出路径,将相关日志输出到了/var/log/hue目录下。

报错信息:

 resource_management.core.exceptions.ExecutionFailed: Execution of '/usr/local/hue/build/env/bin/hue syncdb --noinput' returned 1. Traceback (most recent call last):

解决办法:

cd /var/log     
mkdir hue
chown -R hue:hue hue
vim /var/log/hue/syncdb.log
chown -R hue:hue syncdb.log

长按下方二维码,关注更多精彩内容

码字不易,如果感觉本文对您有帮助,请点击右下角‘好看’支持一下,您的支持是我坚持写作最大的动力,谢谢!

如果您有疑问或想法,可点击阅读全文进行评论,作者会第一时间回复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

create17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值