zoukankan      html  css  js  c++  java
  • HUE工具使用

    1、HUE简介

      来源

    HUE=HadoopUser Experience,看这名字就知道怎么回事了吧,没错,直白来说就是Hadoop用户体验,是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。通过使用HUE我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据。

      官网及使用者

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

    2、安装HUE

    2.1、帮助文档

    http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.0/manual.html 

    2.2、准备环境依赖

    打开官方网站可以找到对应的部署HUE所需的各种依赖列表,如下图所示:

     

    如上图所示,这部分内容是告诉你,安装编译Hue需要依赖哪些Linux安装包,你只需要使用yum命令一次安装就可以了,在此给大家整理好该命令(注意使用root权限安装):

    # 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

    (尖叫提示:使用yum安装这些包的同时,也会自动安装openJDK的依赖,所以,请自行删除安装后的openJDK,忘记的同学请参考Linux基础)

    (查询:# rpm -qa | grep java)

    (删除:# rpm -e --nodeps  xxxxxxx-java-xxxx.rpm)

    2.3、解压HUE

    $ tar -zxf /opt/softwares/hue-3.7.0-cdh5.3.6.tar.gz -C /opt/modules/cdh/

    2.4、编译HUE

    到hue安装目录下,执行make apps

    $ make apps

    尖叫提示:使用普通用户编译

    大概等个几分钟之后,就编译成功了。

    2.5、配置HUE

    修改Hue.ini文件

    文件位置:/opt/modules/cdh/hue-3.7.0-cdh5.3.6/desktop/conf/hue.ini

    其中的secret_key请参照官方网站配置:

     

    修改内容参照如下:

     

    2.6、启动HUE

    完成之后呢,保存退出,我们来使用命令启动Hue$ build/env/bin/supervisor,出现如下界面表示启动成功:

     

    接下来使用浏览器来查看hue界面:http://hadoop-senior01.itguigu.com:8888,接着我们就看到如下界面:

     

    这句话是在提示你,第一次使用本工具,需要创建一个用户及密码,且会成为hue的超级用户凭证,在此呢,我设置为admin用户名,密码随意,那就123456吧,然后呢就可以见到如下界面了: 

    3、HUE与HDFS

    3.1、梳理集群环境

     

    3.2、配置hdfs-site.xml

    添加

    属性:dfs.webhdfs.enabled

    属性值:true

    解释:Enable WebHDFS (REST API) in Namenodes and Datanodes.

    3.3、配置core-site.xml

    添加

    属性:hadoop.proxyuser.hue.hosts

    变更为:hadoop.proxyuser.admin.hosts

    属性值:*

    解释:代理的用户

     

    属性:hadoop.proxyuser.hue.groups

    变更为:hadoop.proxyuser.admin.groups

    属性值:*

    解释:代理的用户组

     

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

     

    属性:hadoop.proxyuser.hue.hosts

    变更为:hadoop.proxyuser.httpfs.hosts

    属性值:*

     

    属性:hadoop.proxyuser.hue.groups

    变更为:hadoop.proxyuser.httpfs.groups

    属性值:*

     

    3.4、httpfs-site.xml

    添加

    属性:httpfs.proxyuser.hue.hosts

    属性值:*

     

    属性:httpfs.proxyuser.hue.groups

    属性值:*

     

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

    尖叫提示:

    * 如果没有配置NameNode的HA,HUE可以用WebHDFS来管理HDFS

    * 如果配置了NameNodeHA,则HUE只可用HttpFS来管理HDFS

    3.5、scp同步配置

    $ scp -r etc/ hadoop-senior02.itguigu.com:/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/
    
    $ scp -r etc/ hadoop-senior03.itguigu.com:/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/

    3.6、启动httpfs服务

    $ /opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/httpfs.sh start &

    3.7、配置hue.ini

    找到[hadoop]标签

     

    3.8、测试

    $ build/env/bin/supervisor

    打开HUE的页面,进行HDFS管理。

    尖叫提示:

    如果提示错误根目录应该归属于hdfs,请修改python变量,位置如下:

    /opt/modules/cdh/hue-3.7.0-cdh5.3.6/desktop/libs/hadoop/src/hadoop/fs/webhdfs.py

    修改其中的变量值为:

    DEFAULT_HDFS_SUPERUSER = 'admin'

    然后重启HUE服务即可。

    尖叫提示:

    启动HUE服务时,请先kill掉之前的HUE服务,如果提示地址被占用,请使用如下命令查看占用8888端口的进程并kill掉:

    $ netstat -tunlp | grep 8888

    4、HUE与YARN

    4.1、配置hue.ini

    找到[[yarn_clusters]]标签,修改配置如下图所示:

     

    4.2、重启HUE测试查看

    $ build/env/bin/supervisor

    5、HUE与Hive

    5.1、修改Hive配置文件hive-site.xml

    HUE与hive集成需要hive开启HiveServer2服务

     

    属性:hive.server2.thrift.port

    属性值:10000

     

    属性:hive.server2.thrift.bind.host

    属性值:hadoop-senior01.itguigu.com

     

    属性:hive.server2.long.polling.timeout

    属性值:5000

     

    属性:hive.metastore.uris

    属性值:thrift://hadoop-senior01.itguigu.com:9083

    5.2、启动Hive

    $ bin/hive --service metastore &
    
    $ bin/hive --service hiveserver2 &

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

    5.3、配置hue.ini

    找到[beeswax]属性标签,配置如图:

     

    5.4、重启hue进行Hive测试

     

    来到这样的界面进行简单的查询即可测试

    $ build/env/bin/supervisor

    6、HUE与Mysql

    6.1、配置hue.ini

    找到[[[mysql]]]标签,并删掉标签注释,配置如下:

     

    6.2、重启hue.ini测试

    启动后即可测试是否成功连接Mysql服务,并且测试是否可以看到数据

    $ build/env/bin/supervisor

    7、HUE与Oozie

    7.1、配置hue.ini

    找到[liboozie]标签以及[oozie]标签配置如下

    [liboozie]:

     

    [oozie]:

     

    7.2、启动Oozie相关服务

    $ bin/oozied.sh start

    7.3、重启HUE测试查看Oozie

    $ build/env/bin/supervisor

    尖叫提示:如果提示无法关联oozie的share/lib,请使用hdfs命令创建该目录即可:

    $ bin/hdfs dfs -mkdir -p /user/oozie/share/lib

    8、HUE与HBase

    8.1、修改hue.ini配置

    找到[hbase]标签,修改内容如图:

     

    8.2、启动HBase的thrift服务

    $ bin/hbase-daemon.sh start thrift

    8.3、重启HUE进行测试

    $ build/env/bin/supervisor

    9、HUE与Zookeeper

    9.1、配置hue.ini

    找到[zookeeper]标签,配置如下:

     

    9.2、重启HUE查看即可

    $ build/env/bin/supervisor

    10、HUE与Sqoop2

    10.1、如何配置

    尖叫提示:HUE只支持Sqoop2的集成,不支持Sqoop1,在此不再演示。

    http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh5.3.0/user-guide/sqoop.html

    11、总结

    在此我们总结一下集成HUE时,我们开启的后台服务项

    11.1、Hadoop

    $ /opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/httpfs.sh start &

    11.2、Hive

    $ /opt/modules/cdh/hive-0.13.1-cdh5.3.6/bin/hive --service metastore &
    
    $ /opt/modules/cdh/hive-0.13.1-cdh5.3.6/bin/hive --service hiveserver2 &

    11.3、HBase

    $ /opt/modules/cdh/hbase-0.98.6-cdh5.3.6/bin/hbase-daemon.sh start thrift &

    11.4、Oozie

    $ /opt/modules/cdh/oozie-4.0.0-cdh5.3.6/bin/oozied.sh start &

    为了方便,我们把这些服务加在群起脚本中,如图所示:

     

    完整脚本如下:

    #!/bin/bash
    echo "===================================正在开启集群服务=======================================" echo "===================================正在开启Zookeeper节点==================================" for i in admin@hadoop-senior01.itguigu.com admin@hadoop-senior02.itguigu.com admin@hadoop-senior03.itguigu.com do ssh $i '/opt/modules/cdh/zookeeper-3.4.5-cdh5.3.6/bin/zkServer.sh start' done echo "===================================正在开启NameNode节点==================================" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh start namenode' echo "===================================正在开启DataNode节点==================================" for i in admin@hadoop-senior01.itguigu.com admin@hadoop-senior02.itguigu.com admin@hadoop-senior03.itguigu.com do ssh $i '/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh start datanode' done echo "===================================正在开启SeondaryNameNode节点==========================" ssh admin@hadoop-senior03.itguigu.com '/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/hadoop-daemon.sh start secondarynamenode' echo "===================================正在开启ResourceManager节点===========================" ssh admin@hadoop-senior02.itguigu.com '/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/yarn-daemon.sh start resourcemanager' echo "===================================正在开启NodeManager节点===============================" for i in admin@hadoop-senior01.itguigu.com admin@hadoop-senior02.itguigu.com admin@hadoop-senior03.itguigu.com do ssh $i '/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/yarn-daemon.sh start nodemanager' done echo "===================================正在开启JobHistoryServer节点==========================" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/mr-jobhistory-daemon.sh start historyserver' echo "===================================正在开启HBase节点=====================================" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hbase-0.98.6-cdh5.3.6/bin/start-hbase.sh' echo "===================================正在第1节点开启httpfs服务==============================" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/sbin/httpfs.sh start &' echo "===================================正在第1节点开启metastore与hiveserver2服务==============" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hive-0.13.1-cdh5.3.6/bin/hive --service metastore &' ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hive-0.13.1-cdh5.3.6/bin/hive --service hiveserver2 &' echo "===================================正在第1节点开启HBase thrift服务========================" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hbase-0.98.6-cdh5.3.6/bin/hbase-daemon.sh start thrift &' echo "===================================正在第1节点开启Oozie服务===============================" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/oozie-4.0.0-cdh5.3.6/bin/oozied.sh start &' echo "===================================正在第1节点开启HUE服务=================================" ssh admin@hadoop-senior01.itguigu.com '/opt/modules/cdh/hue-3.7.0-cdh5.3.6/build/env/bin/supervisor &'

      

     

  • 相关阅读:
    HTML&CSS学习总结(一)
    PHP学习总结(一)
    二、python基础1 基本语法、流程控制
    MySQL练习题
    python自动化学习目录大全
    简单练习:Python三级菜单优化
    一、python语言简介
    网络编程与并发—批量主机管理开发
    windows安装nginx并存放静态资源
    集成xxl-job分布式任务调度平台
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/10942436.html
Copyright © 2011-2022 走看看