HUE安装&集成

目录

  1. hue简介

  2. 安装maven

  3. 安装ant

  4. 安装hue

  5. hue集成hdfs

  6. hue集成yarn

  7. hue集成hive

  8. hue集成mysql

  9. hue集成zookeeper

  10. hue集成hbase

  11. hue集成oozie

  12. Shell脚本

hue简介

HUE=Hadoop User Experience

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

通过使用Hue,可以在浏览器端的Web控制台上与Hadoop集群进行交互,来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job,执行Hive的SQL语句,浏览HBase数据库等等。(说人话就是支持提供各种Web图形化界面的)

安装maven

  1. 上传解压apache-maven-3.6.3-bin.tar到~/app目录下
  2. 配置环境变量
  3. 输入mvn -version测试是否安装成功

安装ant

yum install ant -y

安装hue

  1. hue相关网站

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

    配置文档:http://archive.cloudera.com/cdh5/cdh/5/hue-3.9.0-cdh5.16.2

    源码:https://github.com/cloudera/hue

    这里我们直接用下载hue:http://archive.cloudera.com/cdh5/cdh/5/hue-3.9.0-cdh5.16.2.tar.gz

  2. 安装hue所需要的依赖包

    yum install asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc gcc-c++ krb5-devel libffi-devel libtidy libxml2-devel libxslt-devel make mysql mysql-devel openldap-devel python-devel sqlite-devel openssl-devel gmp-devel -y
  3. 解压安装Hue的tar包

    cd ~/software
    tar -zxvf hue-3.7.0-cdh5.3.6.tar -C ~/app
  4. 编译

    cd hue-3.7.0-cdh5.3.6
    make apps
  5. 修改hue.ini配置文件

    进入到desktop/conf目录下,找到hue.ini文件

    secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o
    http_host=hadoop
    http_port=8888
    time_zone=Asia/Shanghai
  6. 启动

    build/env/bin/supervisor

hue集成hdfs

  1. 配置hdfs.site.xml

    <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
    </property>
  2. 配置core-site.xml

    设置代理用户

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

    如果你的Hadoop配置了高可用,则必须通过httpfs来访问,需要添加如下属性,反则则不必须。(如果HUE服务与Hadoop服务不在同一节点,则必须配置)

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

    配置httpfs-site.xml

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

    以上两个属性主要用于HUE服务与Hadoop服务不在同一台节点上所必须的配置。

  3. 配置hue.ini

    找到[[hdfs_clusters]]标签

    HDFS服务器地址
    fs_defaultfs=hdfs://hadoop:9000

    如果开启了高可用,需要配置如下
    ## logical_name=mycluster

    向HDFS发送命令的请求地址
    webhdfs_url=http://hadoop:50070/webhdfs/v1

    HADOOP的一些配置
    hadoop_conf_dir=/home/hadoop/app/hadoop/etc/hadoop
    hadoop_hdfs_home=/home/hadoop/app/hadoop
    hadoop_bin=/home/hadoop/app/hadoop/bin
  4. 如果配置了高可用则启动hue前需要先启动httpfs服务

    /home/hadoop/app/hadoop/sbin/httpfs.sh start

hue集成yarn

如果没有在hadoop中配置历史节点,需要先配置历史节点

mapred-site.xml

<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop:19888</value>
</property>

启动历史服务器

$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver

找到[[yarn_clusters]]标签,涉及修改配置如下:

yarn服务的配置
resourcemanager_host=192.168.56.86
resourcemanager_port=8032

是否将作业提交到此群集,并监控作业执行情况
submit_to=True
#logical_name=cluster-yarn1(如果开高可用的话)

配置yarn资源管理的访问入口
resourcemanager_api_url=http://hadoop:8088
proxy_api_url=http://hadoop:8088

历史服务器管理的入口,查看作业的历史运行情况
history_server_api_url=http://hadoop:19888

注意:hue界面的超级用户名字需要和提交到yarn的用户名字相同

hue集成hive

配置hive-site.xml

<property>
<name>hive.server2.thrift.bind.host</name>
<value>hadoop</value>
<description>TCP绑定的主机</description>
</property>
<property>
<name>hive.server2.long.polling.timeout</name>
<value>5000</value>
<description>HiveServer2在响应使用长轮询的异步调用之前等待的时间(毫秒)</description>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://hadoop:9083</value>
<description>指向的是运行metastore服务的主机</description>
</property>

配置hue.ini,找到[beeswax]属性标签,涉及修改如下

[beeswax]
hive_server_host=hadoop
hive_server_port=10000
hive_conf_dir=/home/hadoop/app/hive/conf

启动

bin/hive --service metastore &
bin/hive --service hiveserver2 1>/dev/null 2>&1 &

注意:如果设置了uris,在今后使用Hive时,那么必须启动如上两个命令,否则Hive无法正常启动。

hue集成mysql

配置hue.ini,找到[[[mysql]]]标签,涉及修改如下

[[[mysql]]]
nice_name="mysql"
engine=mysql
host=hadoop
port=3306
user=root
password=root

hue集成Zookeeper

配置hue.ini

[zookeeper]
[[clusters]]
[[[default]]]
host_ports=hadoop:2181

启动zookeeper

zkServer.sh start
zkServer.sh status

hue集成hbase

hue集成oozie

Shell脚本

#! /bin/bash
echo "启动httpfs服务"
/home/hadoop/app/hadoop/sbin/httpfs.sh start

echo "启动历史服务"
/home/hadoop/app/hadoop/sbin/mr-jobhistory-daemon.sh start historyserver

echo "启动hive元数据"
$HIVE_HOME/bin/hive --service metastore &

echo "启动hive服务端"
$HIVE_HOME/bin/hive --service hiveserver2 1 > /dev/null 2>&1 &

echo "启动hue"
$HUE_HOME/build/env/bin/supervisor 1 > /dev/null 2>&1 &
Author: Tunan
Link: http://yerias.github.io/2020/03/09/hue/1/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.