每一个成功人士的背后,必定曾经做出过勇敢而又孤独的决定。
放弃不难,但坚持很酷~
Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job等等。很早以前就听说过Hue的便利与强大,一直没能亲自尝试使用,下面先通过官网给出的特性,通过翻译原文简单了解一下Hue所支持的功能特性集合:
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
分为env
和static
文件,其中env
文件内含启动文件,而static
文件内有相关联的一些组件。
通过make apps
报错来提示需要下载哪些相关工具包:
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
yum install -y libffi-devel openssl-devel
yum install -y openldap-devel
yum install -y mysql-server mysql mysql-devel
HUE
编译成功之后,我们需要启动HUE
服务,建议使用非root
用户启动,比如hue
用户:
# 创建hue用户
useradd hue
# 将hue源码的用户所有者/组改为hue
chown -R hue:hue /usr/local/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
Ctrl + c
来停止hue
服务hue
在后台运行的话,可以使用kill
命令:ps -ef | grep hue | grep -v grep | awk '{print $2}' | xargs kill -9
# 121行,将"_"去掉。
vim /usr/local/hue/desktop/core/src/desktop/management/commands/runcherrypyserver.py
# 启动hue server的用户没有权限去写入默认sqlite DB,同时确保安装目录下所有文件的owner都是hue用户
chown -R hue:hue hue
由于我通过/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