http://ju.outofmemory.cn/entry/105162

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的应用进行交互式查询

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

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

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

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

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

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

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

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

支持ZooKeeper浏览器和编辑器

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

下面,我们通过实际安装来验证Hue的一些功能。

环境准备

这里,我所基于的基本环境及其配置情况,如下所示:

CentOS-6.6 (Final)

JDK-1.7.0_25

Maven-3.2.1

Git-1.7.1

Hue-3.7.0(branch-3.7.1)

Hadoop-2.2.0

Hive-0.14

Python-2.6.6

基于上面的软件工具,要保证正确安装和配置。需要说明的是,我们通过Hue来执行Hive查询,需要启动HiveServer2服务:

cd /usr/local/hive

bin/hiveserver2 &

否则通过Hue Web控制无法执行Hive查询。

安装配置

我新建了一个hadoop用户,以hadoop用户,首先使用yum工具来安装Hue相关的依赖软件:

sudo yum install krb5-devel cyrus-sasl-gssapi cyrus-sasl-deve libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel python-simplejson sqlite-devel

然后,执行如下命令进行Hue软件包的下载构建:

cd /usr/local/

sudo git clone https://github.com/cloudera/hue.git branch-3.7.1

sudo chown -R hadoop:hadoop branch-3.7.1/

cd branch-3.7.1/

make apps

上述过程如果没有任何问题,我们就已经安装好Hue。Hue的配置文件为/usr/local/branch-3.7.1/desktop/conf/pseudo-distributed.ini,默认的配置文件不能正常运行Hue,所以需要修改其中的内容,与我们对应的Hadoop集群配置相对应。该配置文件根据整合不同的软件,将配置分成多个段,每个段下面还有子段,便于管理配置,如下所示(省略子段名称):

desktop

libsaml

libopenid

liboauth

librdbms

hadoop

filebrowser

liboozie

oozie

beeswax

impala

pig

sqoop

proxy

hbase

search

indexer

jobsub

jobbrowser

zookeeper

spark

useradmin

libsentry

我们很容易根据需要来配置自己需要的内容。我们修改配置文件的情况,如下表所示:

Hue配置段 Hue配置项 Hue配置值 说明

desktop default_hdfs_superuser hadoop HDFS管理用户

desktop http_host 10.10.4.125 Hue Web Server所在主机/IP

desktop http_port 8000 Hue Web Server服务端口

desktop server_user hadoop 运行Hue Web Server的进程用户

desktop server_group hadoop 运行Hue Web Server的进程用户组

desktop default_user yanjun Hue管理员

hadoop/hdfs_clusters fs_defaultfs hdfs://hadoop6:8020 对应core-site.xml配置项fs.defaultFS

hadoop/hdfs_clusters hadoop_conf_dir /usr/local/hadoop/etc/hadoop Hadoop配置文件目录

hadoop/yarn_clusters resourcemanager_host hadoop6 对应yarn-site.xml配置项yarn.resourcemanager.hostname

hadoop/yarn_clusters resourcemanager_port 8032 ResourceManager服务端口号

hadoop/yarn_clusters resourcemanager_api_url http://hadoop6:8088 对应于yarn-site.xml配置项yarn.resourcemanager.webapp.address

hadoop/yarn_clusters proxy_api_url http://hadoop6:8888 对应yarn-site.xml配置项yarn.web-proxy.address

hadoop/yarn_clusters history_server_api_url http://hadoo6:19888 对应mapred-site.xml配置项mapreduce.jobhistory.webapp.address

beeswax hive_server_host 10.10.4.125 Hive所在节点主机名/IP

beeswax hive_server_port 10000 HiveServer2服务端口号

beeswax hive_conf_dir /usr/local/hive/conf Hive配置文件目录

上面主要配置了Hadoop集群相关的内容,以及Hive(beeswax段配置的是Hive,通过HIveServer2与Hive交互)。

最后,启动Hue服务,执行如下命令:

cd /usr/local/branch-3.7.1/

build/env/bin/supervisor &

Hue功能验证

我们主要通过在Hue Web控制台上执行Hive查询,所以需要准备Hive相关的表和数据。

Hive准备

我们首先在Hive中创建一个数据库(如果没有权限则授权):

GRANT ALL TO USER hadoop;

CREATE DATABASE user_db;

这里,hadoop用户是Hive的管理用户,可以将全部权限赋给该用户。

创建示例表,建表DDL如下所示:

CREATE TABLE user_db.daily_user_info (

device_type int,

version string,

channel string,

udid string)

PARTITIONED BY (

stat_date string)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY '\t'

STORED AS INPUTFORMAT

'org.apache.hadoop.mapred.TextInputFormat'

OUTPUTFORMAT

'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat';

准备的数据文件格式,示例如下所示:

.2.1 C-gbnpk b01b8178b86cebb9fddc035bb238876d

3.0.7 A-wanglouko e2b7a3d8713d51c0215c3a4affacbc95

1.2.7 H-follower 766e7b2d2eedba2996498605fa03ed33

1.2.7 A-shiry d2924e24d9dbc887c3bea5a1682204d9

1.5.1 Z-wammer f880af48ba2567de0f3f9a6bb70fa962

1.2.7 H-clouda aa051d9e2accbae74004d761ec747110

2.2.13 H-clouda 02a32fd61c60dd2c5d9ed8a826c53be4

2.5.9 B-ywsy 04cc447ad65dcea5a131d5a993268edf

各个字段之间使用TAB分隔,每个字段含义与上面表user_db.daily_user_info的字段对应,然后我们将测试数据加载到示例表的各个分区之中:

LOAD DATA LOCAL INPATH '/home/hadoop/u2014-12-05.log' OVERWRITE INTO TABLE user_db.daily_user_info PARTITION (stat_date='2014-12-05');

LOAD DATA LOCAL INPATH '/home/hadoop/u2014-12-06.log' OVERWRITE INTO TABLE user_db.daily_user_info PARTITION (stat_date='2014-12-06');

LOAD DATA LOCAL INPATH '/home/hadoop/u2014-12-07.log' OVERWRITE INTO TABLE user_db.daily_user_info PARTITION (stat_date='2014-12-07');

LOAD DATA LOCAL INPATH '/home/hadoop/u2014-12-08.log' OVERWRITE INTO TABLE user_db.daily_user_info PARTITION (stat_date='2014-12-08');

LOAD DATA LOCAL INPATH '/home/hadoop/u2014-12-09.log' OVERWRITE INTO TABLE user_db.daily_user_info PARTITION (stat_date='2014-12-09');

LOAD DATA LOCAL INPATH '/home/hadoop/u2014-12-10.log' OVERWRITE INTO TABLE user_db.daily_user_info PARTITION (stat_date='2014-12-10');

LOAD DATA LOCAL INPATH '/home/hadoop/u2014-12-11.log' OVERWRITE INTO TABLE user_db.daily_user_info PARTITION (stat_date='2014-12-11');

可以通过Hive CLI接口登录,查看表中数据:

SELECT COUNT(1) FROM daily_user_info;

我这里有241709545条记录作为测试数据。

Hue登录页面

Hue服务启动成功后,可以直接通过浏览器打开连接http://10.10.4.125:8000/,就可以登录。第一次打开,需要输入默认用户和口令,然后就可以登录进去,如下图所示:

hue install的更多相关文章

  1. Ubuntu 14 Trusty安装hue

    想开始学习一下hive,需要一个使用起来方便的客户端,网上搜了一下发现hue是个很常用的工具.于是,就在自己的ubuntu14系统里,尝试安装hue.下面就是自己的安装步骤,记录如下: 1.先查看自己 ...

  2. Hue协作框架

    http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.6/manual.html 一:框架 1.支持的框架 ->job ->yar ...

  3. hue安装与部署

    运行环境 centOS 6.6 hadoop 2.4.0 hive 1.2.0 spark 1.4.1 HUE 3.9 介绍: Hue是一个开源的Apache Hadoop UI系统,最早是由Clou ...

  4. 《OD大数据实战》Hue环境搭建

    官网: http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.6/ 一.Hue环境搭建 1. 下载 http://archive.cloude ...

  5. HUE 安装

    1.从github网下载hue-master.zip (源代码包) 地址:https://github.com/cloudera/hue#development-prerequisites 2.安装依 ...

  6. 【转载】Hadoop可视化分析利器之Hue

    http://qindongliang.iteye.com/blog/2212619 先来看下hue的架构图:  (1)Hue是什么? Hue是一个可快速开发和调试Hadoop生态系统各种应用的一个基 ...

  7. Hue集成Hadoop和Hive

    一.环境准备 1.下载Hue:https://dl.dropboxusercontent.com/u/730827/hue/releases/3.12.0/hue-3.12.0.tgz 2.安装依赖 ...

  8. Hue 之 SparkSql interpreters的配置及使用

    1.环境说明: HDP 2.4 V3 sandbox hue 4.0.0 2.hue 4.0.0 编译及安装 地址:https://github.com/cloudera/hue/releases/t ...

  9. centos7 hue安装

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

随机推荐

  1. SCCM 2012 R2安装部署过程和问题(一)

    在进行Windows Server 2012 R2虚拟化测试前,由于需要安装,部署和管理很多的服务器,自然会想到该如何提高效率和有效的管理.在Windows Server 2008的时代微软已经提供称 ...

  2. ASP.NET Core AD 域登录

    在选择AD登录时,其实可以直接选择 Windows 授权,不过因为有些网站需要的是LDAP获取信息进行授权,而非直接依赖Web Server自带的Windows 授权功能. 当然如果使用的是Azure ...

  3. 【小白的CFD之旅】05 补充基础

    黄师姐是一个很干脆果敢的人,从她的日常装扮就能显露出来.卡帕运动装,白色运动鞋,马尾辫,这是小白对黄师姐的第一印象.“明天早上九点钟来实验室,我给你安排这阵子的任务.”黄师姐对小白说.说话语气和老蓝一 ...

  4. XML通过XSL格式化的那点事(XML到自定义节点折叠显示)

    引言 有时我们想看下系统生成的XML文件(如XML格式的Project文件),如果文件结构简单,我们浏览器看起来还比较方便,但是随着XML schema复杂后就变得让人头疼啦,单独写一个程序去做展现又 ...

  5. 从一个url输入浏览器到页面渲染出来,这个过程都发生了哪些事情?

    经典问题:在浏览器输入一个url后,会发生什么事情呢? (1)假设是简单的http请求(GET),IPV4,无代理. 浏览器先查看浏览器缓存-系统缓存-路由器缓存,若缓存中有,请略过中间步骤,直接跳到 ...

  6. 疑似easyui本身bug:easyui时间控件问题,试了几个版本都不行

    最近发现easyui时间控件的值格式不支持带斜杠的日期(2016/10/31),必须是2016-10-31这类的才能正常使用,否则默认初始化为当前时间 <input id="Retur ...

  7. 并查集补集作法 codevs 1069 关押罪犯

    1069 关押罪犯 2010年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description ...

  8. Django调用JS、CSS、图片等静态文件

    zz 在下面的例子中,我们将media作为静态(CSS\JS\图片文件)文件的目录 方法一. 1.首先在settings.py文件中自定义参数 STATIC_PATH=’./media’ .(意为当前 ...

  9. em(倍)与px的区别

    在国内网站中,包括三大门户,以及“引领”中国网站设计潮流的蓝色理想,ChinaUI等都是使用了px作为字体单位.只有百度好歹做了个可调的表率.而 在大洋彼岸,几乎所有的主流站点都使用em作为字体单位, ...

  10. win7 装了VB虚拟机 开始挺好用 后来突然就打不开了 提示如下错误:(如图)创建 COM 对象失败.

    创建 COM 对象失败. 应用程序将被中断. Start tag expected, '<' not found. Location: 'C:\Users\Mike/.VirtualBox\Vi ...