HUE简介及编译
时间:2022-06-19
本文章向大家介绍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
分为env
和static
文件,其中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
- 使用Swagger2Markup实现API文档的静态部署(一):AsciiDoc
- 使用Swagger2Markup实现API文档的静态部署(二):Markdown和Confluence
- Dubbo官方的Starter发布1.0.0测试版,与Spring Boot的结合将更加自然
- spring-boot-starter-swagger 1.2.0.RELEASE:新增分组配置功能
- 领域驱动设计
- Spring Boot中使用JavaMailSender发送邮件
- Spring Boot的应用限流
- Spring Cloud构建微服务架构:服务网关(过滤器)【Dalston版】
- 虚拟机类加载机制
- 深入理解JVM垃圾收集机制(JDK1.8)
- 你真的懂let和const吗?
- MYSQL GTID使用运维介绍
- MongoDB系列一(查询).
- Angular CLI 简介
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- VUE项目使用.env文件配置全局环境变量
- 设计模式学习(六)-抽象工厂模式
- 彻底完美解决安卓苹果手机点击输入框网页页面自动放大缩小
- 第22天:NLP实战(六)——基于PaddleHub的疫情期间网民情绪识别
- Echarts大数据可视化物流航向省份流向迁徙动态图,开发全解+完美参数注释
- Linux 常用操作以及概念
- GCD梳理与总结——封装
- 原生JS在网页上复制的所有文字后面自动加上一段版权声明
- 使用宝塔docker安装为知笔记私有部署
- 第4天:美团点评2020校招测试方向笔试试卷分析
- Element-UI饿了么时间组件控件按月份周日期,开始时间结束时间范围限制参数
- 微信小程序flex布局
- 细数 TS 中那些奇怪的符号
- 安装RabbitMQ无法访问localhost:15672的管理界面解决
- koa中http服务与websocket服务共享端口