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

【十八掌●武功篇】第十一掌:HUE简介、基本安装配置

2018-02-27 18:08 465 查看

一、 HUE简介

HUE是Hadoop User Experience的简称,是一个Apache Hadoop UI系统,由Cloudera Desktop演化而来,是基于Python Web框架Django实现的,Cloudera公司将HUE贡献给Apache基金会的Hadoop社区,所以HUE有Apache版本和CDH版本,本文是基于CDH版本的。

官网的文档地址是:http://archive.cloudera.com/cdh5/cdh/5/hue/

HUE是Query、Explore、Repeat,一个轻量级的分析平台。HUE提供了一个操纵Hadoop和开发Hadoop应用的Web界面,它汇集了基于Hadoop的各个工具(如Hive、HBase、HDFS、Zookeeper、Spark等)于一身,使得用户操作他们更容易。

二、 HUE安装

安装HUE之前,应该确保已经安装了Hadoop和Hadoop平台上的其他组件(比如Hive、HBase等)。我们采用编译安装的方式,用的是hue-3.9.0-cdh5.12.0,这个版本是基于Hadoop的CDH5.12版本,HUE版本号是3.9.0,下载地址是:http://archive.cloudera.com/cdh5/cdh/5/

1、 安装依赖

下表是官网提供的安装依赖,Centos属于Redhat。

RedhatUbuntu 10.04Ubuntu 12.04/14.04
gccgccgcc
g++g++g++
libxml2-devellibxml2-devlibxml2-dev
libxslt-devellibxslt-devlibxslt-dev
cyrus-sasl-devellibsasl2-devlibsasl2-dev
cyrus-sasl-gssapilibsasl2-modules-gssapi-mitlibsasl2-modules-gssapi-mit
mysql-devellibmysqlclient-devlibmysqlclient-dev
python-develpython-devpython-dev
python-setuptoolspython-setuptoolspython-setuptools
sqlite-devellibsqlite3-devlibsqlite3-dev
antantant
libsasl2-devcyrus-sasl-devellibsasl2-dev
libsasl2-modules-gssapi-mitcyrus-sasl-gssapilibsasl2-modules-gssapi-mit
libkrb5-devkrb5-devellibkrb5-dev
libtidy-0.99-0libtidylibtidy-0.99-0 (For unit tests only)
mvnmvn (From maven2 package or tarball)mvn (From maven2/maven3 package or tarball)
openldap-dev / libldap2-devopenldap-devellibldap2-dev
使用yum安装所有的依赖,命令如下:

sudo yum -y install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi gcc gcc-c++ krb5-devel libtidy libxml2-devel libxslt-devel openldap-devel python-devel sqlite-devel openssl-devel mysql-devel gmp-devel


2、 解压Hue安装包

tar -zxvf /opt/sofeware/hue-3.9.0-cdh5.12.0.tar.gz -C /opt/modules/


3、 编译HUE

要在HUE解压目录下执行编译HUE命令,命令如下:

make apps


三、 HUE基本配置

HUE的配置文件在desktop/conf/hue.ini文件中。

(1) secret_key

secret_key属性是用来对session进行用哈希加密的字符串,如果不设置,那么hue也能运行,web server将不会对session进行哈希加密,但是会提示建议去设置这个属性。

官网建议30到60个长度的随机字符串,比如设置如下:

secret_key=sWMBw%_]{%ScaeeV,cu{>Czo"t:YV!PJ|^8B{@d.fzFJrn9gw)0LT8"H%MVz


(2) 配置http_host

在[desktop]节点下,配置http_host属性,这个属性是指用那个域名访问HUE Web Server,这里设置为当前机器的hostname,

http_host=bigdata-senior01.chybinmy.com


(3) http_port

http_port属性是指Web Server监听的端口号,默认是8888

http_host=bigdata-senior01.chybinmy.com


(4) 设置时区

# Time zone name
time_zone=Asia/Shanghai


(5) 启动HUE Web UI

执行以下命令可以以阻塞式方式启动HUE Web Server

/opt/modules/hue-3.9.0-cdh5.12.0/build/env/bin/supervisor
````

在浏览器中访问:http://bigdata-senior01.chybinmy.com:8888

第一次访问会显示创建用户界面,创建的用户将成为HUE的管理员账号和密码。

登录进去后,可以看到HUE的界面,但是当前功能都不能使用,因为没有集成任何Hadoop的上工具,接下来需要配置HUE与HDFS、YARN、Hive、HBase、Spark等工具的集成。

<div class="se-preview-section-delimiter"></div>

### 四、  集成HDFS

HDFS相关的配置在配置文件hue.ini的[hadoop]节点下的[hdfs_clusters]子节点中。

<div class="se-preview-section-delimiter"></div>

#### (1)    fs_defaultfs

fs_defaultfs属性是指HDFS的根目录,对应于Hadoop配置文件core-site.xml中的fs.defaultFS属性值。

<div class="se-preview-section-delimiter"></div>

```shell
fs_defaultfs=hdfs://ns1


(2) 设置Hadoop配置文件位置

hadoop_conf_dir=$HADOOP_HOME/etc/hadoop/


(3) 设置webhdfs_url

webhdfs_url=http://bigdata-senior01.chybinmy.com:50070/webhdfs/v1


(4) 启用webhdfs

HUE是使用WebHDFS访问HDFS,所以要在Hadoop配置中将它打开,在Hadoop的hdfs-site.xml中添加配置。

<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>


(5) 设置代理用户

在Hadoop的core-site.xml配置任意主机上的名为hue的用户都可以访问HDFS,任意用户组的名为hue的用户可以访问HDFS。

<property>
<name>hadoop.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hue.groups</name>
<value>*</value>
</property>


(6) 设置httpfs代理用户

如果Hadoop是HA模式,是通过httpfs来访问HDFS的,要在httpfs-site.xml配置文件中设置代理用户。

<property>
<name>httpfs.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>httpfs.proxyuser.hue.groups</name>
<value>*</value>
</property>


(7) 重启HDFS

当修改了hdfs-site.xml、core-site.xml、httpfs-site.xml后要重新启动HDFS。

/opt/modules/hadoopha/hadoop-2.5.0/sbin/stop-dfs.sh
/opt/modules/hadoopha/hadoop-2.5.0/sbin/start-dfs.sh


(8) 启动httpfs

如果Hadoop是HA模式,是通过httpfs访问HDFS的,需要将HttpFs服务启动起来,这个服务其实是个一个Tomcat站点,端口默认是14000,命令如下:

启动httpfs:

/opt/modules/hadoopha/hadoop-2.5.0/sbin/httpfs.sh start


查看端口:

netstat -tlnup | grep 14000


(9) 在HUE中查看HDFS

再次启动HUE后,可以查看HDFS中的文件了。

/opt/modules/hue-3.9.0-cdh5.12.0/build/env/bin/supervisor


五、 集成YARN

在HUE配置文件hue.ini中,yarn_clusters节点是HUE相关YARN的配置,实例如下:

[[yarn_clusters]]

[[[default]]]
# Enter the host on which you are running the ResourceManager
#如果不是YARN HA模式需要设置这个参数,指定RM在哪个主机上
#resourcemanager_host=localhost

# The port where the ResourceManager IPC listens on
#如果不是YARN HA模式需要设置这个参数,指定RM在哪个主机上
## resourcemanager_port=8032

# Whether to submit jobs to this cluster
#HUE是否将Job提交到当前配置的集群
submit_to=True

# Resource Manager logical name (required for HA)
#HUE是否将Job提交到当前配置的集群
logical_name=ha-rm1111

# Change this if your YARN cluster is Kerberos-secured
## security_enabled=false

# URL of the ResourceManager API
#指定HA中一个RM的API地址
resourcemanager_api_url=http://bigdata-senior02.chybinmy.com:8088

# URL of the ProxyServer API
#指定代理地址
proxy_api_url=http://bigdata-senior02.chybinmy.com:8088

# URL of the HistoryServer API
#指定HistoryServer的地址,使得HUE上可以查看Job历史记录
history_server_api_url=http://bigdata-senior02.chybinmy.com:19888/jobhistory

# URL of the Spark History Server
## spark_history_server_url=http://localhost:18088

# In secure mode (HTTPS), if SSL certificates from YARN Rest APIs
# have to be verified against certificate authority
## ssl_cert_ca_verify=True

# HA support by specifying multiple clusters.
# Redefine different properties there.
# e.g.

[[[ha]]]
# Resource Manager logical name (required for HA)
#指定HA的逻辑名称,要和上面default节点的逻辑名称一致
logical_name=ha-rm1111

# Un-comment to enable
submit_to=True

# URL of the ResourceManager API
#HA中备用的RM API,当default失效时,HUE自动切换到这个指定的RM
resourcemanager_api_url=http://bigdata-senior03.chybinmy.com:8088


六、 集成Hive

首先应该保证已经安装了Hive,并且已经启动了HiveServer2服务,因为HUE是通过HiveSever2连接的Hive,HUE和HiveServer2最好在一台机器上。启动HiveSever2的命令为:

#启动HiveServer2服务
nohup hive --service hiveserver2 > hive_run.log 2>&1 &
#检查端口号,HiveSever2默认端口号是10000
netstat -tlnup |grep 10000
#检查进程
ps -ef | grep HiveServer2


HUE集成Hive是通过配置hue.ini中的beeswax节点配置的。

[beeswax]

# Host where HiveServer2 is running.
# If Kerberos security is enabled, use fully-qualified domain name (FQDN).
# HiveServer2服务所在的主机名
hive_server_host=bigdata-senior03.chybinmy.com

# Port where HiveServer2 Thrift server runs on.
#  HiveServer2服务的端口号,默认就是10000
hive_server_port=10000

# Hive configuration directory, where hive-site.xml is located
# Hive的配置文件所在路径
hive_conf_dir=/opt/modules/hive-0.13.1-cdh5.3.6/conf/

# Timeout in seconds for thrift calls to Hive service
# HUE连接Hive 的超时时间,单位是秒
server_conn_timeout=120


配置好以上参数后,重启HUE,就可以进行Hive查询了。

七、 集成HBase

1、 修改HUE配置

(1) 修改hue.ini文件

[hadoop@bigdata-51cdh conf]$ cd /opt/modules/hue-3.7.0-cdh5.3.6/desktop/conf/
[hadoop@bigdata-51cdh conf]$ vim hue.ini


(2) 修改HBase节点的配置

[hbase]
# 配置HUE连接Hbase使用的Thrift服务器
hbase_clusters=(Cluster|bigdata-51cdh.chybinmy.com:9090)
#HBase配置目录,HUE读取这些配置感知HBase
hbase_conf_dir=/opt/modules/hbase-0.98.6-cdh5.3.6/conf


2、 启动HBase Thrife服务

[hadoop@bigdata-51cdh conf]$ cd /opt/modules/hbase-0.98.6-cdh5.3.6/
[hadoop@bigdata-51cdh hbase-0.98.6-cdh5.3.6]$ bin/hbase-daemon.sh start thrift


启动后可以看到ThriftServer进程。

查看9090端口状态是否监控正常。

[hadoop@bigdata-51cdh hbase-0.98.6-cdh5.3.6]$ netstat -tlnup | grep 9090


3、 启动HUE

nohup /opt/modules/hue-3.7.0-cdh5.3.6/build/env/bin/supervisor  > hive_run.log 2>&1 &


4、 查看HUE中的HBase

访问8888端口的HUE Web页面,转到HBase菜单,可以看到HBase中的表。

http://bigdata-51cdh.chybinmy.com:8888/

八、 HUE管理

1、 验证参数配置

可以通过页面:http://bigdata-51cdh.chybinmy.com:8888/desktop/dump_config

查看当前的所有配置,超级管理员才能查看这个页面。

2、 HUE日志

HUE的日志在安装根目录下logs目录中或者是在/var/log/hue目录下可以找到,在日志目录下有以下几个日志文件:

access.log:记录了所有的对hue web sever的请求记录。

supervisor.log:记录了supervisor进程的日志

supervisor.out:supervisor进程打印的标准输出和error输出日志。

其他日志

也可以通过页面查看日志:http://bigdata-51cdh.chybinmy.com:8888/logs

这个页面上的日志只是最近一部分,这部分日志是HUE Server存储在内存的最近的日志。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  HUE