您的位置:首页 > 产品设计 > UI/UE

hue快速入门--Hadoop可视化分析利

2017-10-10 10:06 435 查看
1. 需求引入

在大数据生态圈中有很多的技术,每一个技术的使用和管理都有自己的规范,例如hdfs操作有相关的插件,mr任务的监控有相关的页面,hbase的操作也有相对应的页面,那么这些零零散散的管理页面能否统一到一个软件中进行管理呢?

2. hue的简介

2.1. hue概述

Hue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。

 

通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job,执行Hive的SQL语句,浏览HBase数据库等等。



 

2.2. Hue能干什么?

1,访问HDFS和文件浏览

2,通过web调试和开发hive以及数据结果展示

3,查询solr和结果展示,报表生成

4,通过web调试和开发impala交互式SQL Query

5,spark调试和开发

6,Pig开发和调试

7,oozie任务的开发,监控,和工作流协调调度

8,Hbase数据查询和修改,数据展示

9,Hive的元数据(metastore)查询

10,MapReduce任务进度查看,日志追踪

11,创建和提交MapReduce,Streaming,Java job任务

12,Sqoop2的开发和调试

13,Zookeeper的浏览和编辑

14,数据库(MySQL,PostGres,SQlite,Oracle)的查询和展示

 

2.3. Hue怎么用或者什么时候应该用?

 

如果你们公司用的是CDH的hadoop,那么很幸运,Hue也是出自CDH公司,自家的东西用起来当然很爽。

 

如果你们公司用的是Apache Hadoop或者是HDP的hadoop,那么也没事,Hue是开源的,而且支持任何版本的hadoop。

 

关于什么时候用,这纯属一个锦上添花的功能,你完全可以不用hue,因为各种开源项目都有自己的使用方式和开发接口,hue只不过是统一了各个项目的开发方式在一个接口里而已,这样比较方便而已,不用你一会准备使用hive,就开一个hive的cli终端,一会用pig,你就得开一个pig的grunt,或者你又想查Hbase,又得需要开一个Hbase的shell终端。如果你们使用hadoop生态系统的组件很多的情况下,使用hue还是比较方便的,另外一个好处就是hue提供了一个web的界面来开发和调试任务,不用我们再频繁登陆Linux来操作了。

 

你可以在任何时候,只要能上网,就可以通过hue来开发和调试数据,不用再装Linux的客户端来远程登陆操作了,这也是B/S架构的好处。

 

 

3. Hue的安装

3.1. 安装依赖

yum -y install ant

yum -y install asciidoc

yum -y install cyrus-sasl-devel

yum -y install cyrus-sasl-gssapi

yum -y install gcc

yum -y install gcc-c++

yum -y install krb5-devel

yum -y install libtidy

yum -y install libxml2-devel

yum -y install libxslt-devel

yum -y install make

yum -y install mvn

yum -y install mysql

yum -y install mysql-devel

yum -y install openldap-devel

yum -y install python-devel

yum -y install sqlite-devel

yum -y install openssl-devel

yum -y install libffi-devel openssl-devel

yum -y install gmp-devel

3.2. 下载

Hue官网:http://gethue.com/

下载地址:http://gethue.com/downloads/releases/4.0.1/hue-4.0.1.tgz



 



 

3.3. 安装

使用普通用户hadoop安装

3.3.1. 上传压缩包

通过rz -y上传压缩包hue-4.0.1.tgz上传到linux的任意节点任意目录

3.3.2. 解压

通过tar –zxvf hue-4.0.1.tgz将压缩包解压到任意目录

3.3.3. 编译

进入到hue的目录,执行make apps命令,进行编译

3.3.4. 修改desktop\conf\hue.ini的基本配置

配置如下:

[desktop]

secret_key=XLWGyuEUB6NEYhWGl3mbZZdJtamyuybDxnjjth5r

http_host=client

http_port=8888

is_hue_4=true

time_zone=Asia/Shanghai

django_debug_mode=false

http_500_debug_mode=false

server_user=hadoop

server_group=hadoop

default_user=hadoop

default_hdfs_superuser=hadoop

3.3.5. 启动hue

命令:build/env/bin/supervisor

3.3.6. 访问hue
http://192.168.56.204:8888


 

4. Hue的使用

4.1. 集成hdfs和yarn

4.1.1. 启动hdfs的webhdfs

修改hdfs-site.xml开启webhdfs

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

 

配置core-site.xml:添加操作hue的用户和租

<property>

<name>hadoop.proxyuser.hadoop.hosts</name>

<value>*</value>

</property>

<property>

<name>hadoop.proxyuser.hadoop.groups</name>

<value>*</value>

</property>

 

配置yarn-site.xml:开启jobhistory

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>master1:19888</value>

</property>

 

4.1.2. 配置hue.ini

[hadoop]

[[hdfs_clusters]]

[[[default]]]

fs_defaultfs=hdfs://master1:8020

logical_name=master1

webhdfs_url=http://master1:50070/webhdfs/v1

security_enabled=false

hadoop_conf_dir=/home/hadoop/hadoop/etc/hadoop

[[yarn_clusters]]

[[[default]]]

resourcemanager_host=master1

resourcemanager_port=8032

submit_to=True

resourcemanager_api_url=http://master1:8088

proxy_api_url=http://master1:8088

history_server_api_url=http://master1:19888

spark_history_server_url=http://master1:18088

4.1.3. 启动hadoop

start-all.sh

4.1.4. 重新启动hue

build/env/bin/supervisor

4.1.5. 操作hdfs



 



 



 

4.2. 集成hive

4.2.1. 在hive-site.xml中配置hiveserver2

<property>

<name>hive.server2.thrift.bind.host</name>

<value>master2ha</value>

</property>

<property>

<name>hive.server2.thrift.http.port</name>

<value>10001</value>

</property>

 

4.2.2. 启动hiveserver2

/home/hadoop/hive/bin/hiveserver2

 

4.2.3. 配置hue.ini

[beeswax]

hive_server_host=master2ha

hive_server_port=10000

hive_conf_dir=/home/hadoop/hive/conf

server_conn_timeout=120

4.2.4. 重启hue

build/env/bin/supervisor

4.2.5. 使用hive



 



 



 

4.3. 集成关系型数据库

【注:需要切换回3.0版本使用】

4.3.1. 修改hue.ini

[librdbms]

[[databases]]

[[[sqlite]]]

nice_name=SQLite

name=/home/hadoop/hue-4.0.0/desktop/desktop.db

engine=sqlite

[[[mysql]]]

nice_name="My SQL DB"

engine=mysql

host=localhost

port=3306

user=root

password=root

4.3.2. 重启hue

build/env/bin/supervisor

4.3.3. 操作数据库



 



 



 

4.3.4. 在web页面上将hue切换会3版本使用

4.4. 集成hbase

4.4.1. 启动hbase的thriftserver

hbase-daemon.sh start thrift

4.4.2. 修改hue.ini

[hbase]

hbase_clusters=(Cluster|master1:9090)

hbase_conf_dir=/home/hadoop/hbase/conf

4.4.3. 重启hue

build/env/bin/supervisor

4.4.4. 使用hbase



 

4.5. 集成solr

4.5.1. 修改hue.ini

[search]

solr_url=http://client:8080/solr/

security_enabled=false

empty_query=*:*

4.5.2. 重启hue

build/env/bin/supervisor

4.5.3. 操作solr



 

4.6. 集成spark

4.6.1. 安装mvn

wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

 

yum -y install apache-maven

4.6.2. 下载livy
https://github.com/cloudera/livy/releases
下载0.2.0版本



 

4.6.3. 编译livy(时间超长,需要下载很多依赖)

export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=1024m -XX:MaxPermSize=2048M"

mvn -Dspark.version=1.6.2 -Dmaven.test.skip package

 

编译不成功,可以重新编译:

mvn -Dmaven.test.skip clean package

 

4.6.4. 配置livy

修改livy-env.sh

export SPARK_HOME=/home/hadoop/spark

export HADOOP_CONF_DIR=/home/hadoop/hadoop/etc/hadoop/conf

 

修改spark-blacklist.conf

注释spark.master

# spark.master

 

修改 livy.conf

//默认使用hiveContext

livy.repl.enableHiveContext = true

//开启用户代理

livy.impersonation.enabled = true

//设置session空闲过期时间

livy.server.session.timeout = 1h

 

4.6.5. 启动livy

nohup livy-0.2.0/bin/livy-server >/dev/null 2>&1 &

通过端口8998访问

4.6.6. Hue集成spark

修改hue.ini文件

[spark]

livy_server_host=master1

livy_server_port=8998

livy_server_session_kind=process

security_enabled=false

sql_server_host=master1

sql_server_port=10000

重启hue

build/env/bin/supervisor

4.6.7. 页面展示

Scala接口页面



 



 

Pythonspark



 



 

提交任务

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hue