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

一、 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。

Redhat Ubuntu 10.04 Ubuntu 12.04/14.04
gcc gcc gcc
g++ g++ g++
libxml2-devel libxml2-dev libxml2-dev
libxslt-devel libxslt-dev libxslt-dev
cyrus-sasl-devel libsasl2-dev libsasl2-dev
cyrus-sasl-gssapi libsasl2-modules-gssapi-mit libsasl2-modules-gssapi-mit
mysql-devel libmysqlclient-dev libmysqlclient-dev
python-devel python-dev python-dev
python-setuptools python-setuptools python-setuptools
sqlite-devel libsqlite3-dev libsqlite3-dev
ant ant ant
libsasl2-dev cyrus-sasl-devel libsasl2-dev
libsasl2-modules-gssapi-mit cyrus-sasl-gssapi libsasl2-modules-gssapi-mit
libkrb5-dev krb5-devel libkrb5-dev
libtidy-0.99-0 libtidy libtidy-0.99-0 (For unit tests only)
mvn mvn (From maven2 package or tarball) mvn (From maven2/maven3 package or tarball)
openldap-dev / libldap2-dev openldap-devel libldap2-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

扫描二维码关注公众号,回复: 8510926 查看本文章
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存储在内存的最近的日志。
发布了74 篇原创文章 · 获赞 74 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/chybin500/article/details/79391684