hue之部署集成

1 hue简介

  • 什么是hue?
Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,
由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的。
通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,
例如操作HDFS上的数据,运行MapReduce Job,Hive等等。
  • 支持功能:
数据库查询编辑器,支持 Hive, Impala, MySql, PostGres, Sqlite and Oracle
动态查询仪表盘,支持 Solr
支持 Spark 编辑器和仪表盘
浏览器查看状态,支持 YARN, HDFS, Hive table Metastore, HBase, ZooKeeper
支持 Pig Editor, Sqoop2, Oozie workflows 编辑器和仪表盘
将数据导入hdfs

2.基础环境

2.1物理环境

一台1core、2G内存的Centos6.7虚拟机

2.2组件环境
组件名称 组件版本
Hadoop Hadoop-2.6.0-cdh5.7.0-src.tar.gz
jdk jdk-8u45-linux-x64.gz
hive hive-1.1.0-cdh5.7.0.tar.gz
hue hue-3.9.0-cdh5.7.0

所有的组件都是基于cdh5.7.0的,可从CDH官网组件仓库下载。

3.安装编译hue

3.1安装依赖的环境
[root@hadoop001 ~]# yum install -y ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc \
gcc-c++ krb5-devel libffi-devel libxml2-devel libxslt-devel make mysql mysql-devel openldap-devel python-devel sqlite-devel gmp-devel
3.2设置环境变量
[hadoop@hadoop001 ~]$ vim ./.bash_profile 
export HUE_HOME=/home/hadoop/app/hue-3.9.0-cdh5.7.0
export PATH=$HUE_HOME/bin:$PATH
[hadoop@hadoop001 ~]$ source ./.bash_profile 


3.3编译hue
#解压,注意检查用户与用户组
[hadoop@hadoop001 ~]$ tar -zxvf ~/soft/hue-3.9.0-cdh5.7.0.tar.gz -C ~/app/

#编译,make编译会下载很多的包,编译的快慢取决于网络,
[hadoop@hadoop001 ~]$ cd ~/app/hue-3.9.0-cdh5.7.0/
[hadoop@hadoop001 hue-3.9.0-cdh5.7.0]$ make apps

若出现如下:XXXX post-processed则表示hue编译成功
1190 static files copied to '/home/hadoop/app/hue-3.9.0-cdh5.7.0/build/static', 1190 post-processed.
make[1]: Leaving directory `/home/hadoop/app/hue-3.9.0-cdh5.7.0/apps'
3.4设置hue.ini文件( $HUE_HOME/desktop/conf/hue.ini)
[desktop]
secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o
http_host=hadoop001
time_zone=Asia/Shanghai

4.Hue集成hadoop

4.1修改hadoop配置文件( $HADOOP_HOME/etc/hadoop/ )
#hdfs-site.xml
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
     
#core-site.xml
    <property>
        <name>hadoop.proxyuser.hue.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.hue.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>
4.2修改hue.ini配置文件( $HUE_HOME/desktop/conf/hue.ini )

取消webhdfs_url的注释

[hadoop]

  # Configuration for HDFS NameNode
  # ------------------------------------------------------------------------
  [[hdfs_clusters]]
    # HA support by using HttpFs

    [[[default]]]
      # Enter the filesystem uri
      fs_defaultfs=hdfs://hadoop001:8020

      # NameNode logical name.
      ## logical_name=

      # Use WebHdfs/HttpFs as the communication mechanism.
      # Domain should be the NameNode or HttpFs host.
      # Default port is 14000 for HttpFs.
      webhdfs_url=http://hadoop001:50070/webhdfs/v1

5.Hue集成Hive

5.1修改hive配置文件( $HIVE_HOME/conf/hive-site.xml )

设置hs2相关信息

<property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
</property>
<property>
    <name>hive.server2.thrift.bind.host</name>
    <value>hadoop001</value>
</property>
<property>
    <name>hive.server2.long.polling.timeout</name>
    <value>5000</value>
</property>
<property>
    <name>hive.server2.authentication</name>
    <value>NONE</value>
</property>
5.2修改hue.ini配置文件( $HUE_HOME/desktop/conf/hue.ini )

取消如下注释,并修改hostname

[beeswax]

  # Host where HiveServer2 is running.
  # If Kerberos security is enabled, use fully-qualified domain name (FQDN).
  hive_server_host=hadoop001

  # Port where HiveServer2 Thrift server runs on.
  hive_server_port=10000

  # Hive configuration directory, where hive-site.xml is located
  hive_conf_dir=/home/hadoop/app/hive-1.1.0-cdh5.7.0/conf/

6.启动Hue

#启动hadoop
[hadoop@hadoop001 ~]$ start-all.sh 

#启动hiveserver2
[hadoop@hadoop001 ~]$ nohup hive --service hiveserver2  >~/app/hive-1.1.0-cdh5.7.0/console.log 2>&1 &

使用beeline连接hs2,-n hadoop 这里的hadoop是启动beeline的用户hadoop
[hadoop@hadoop001 ~]$ beeline -u jdbc:hive2://hadoop001:10000/default -n hadoop

连接时发生异常,信息如下:Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop001:10000: null 
解决方案:检查发现配置了hive的用户登录导致的,将hive.server2.authentication配置的值改为NONE即可,原先是NOSAL

#启动hue
[hadoop@hadoop001 ~]$ ~/app/hue-3.9.0-cdh5.7.0/build/env/bin/supervisor

hive是没必要启用用户登录去访问的。

7.访问hue

访问地址:http://ip:88888
我创建了一个hadoop账号,必须是hadoop用户,不然dfs只能操作/usr/XXX/目录,hive也是无法操作的。
1

7.1操作hdfs

这里我们可以对hdfs文件进行操作
2

7.2操作hive

3

猜你喜欢

转载自blog.csdn.net/qq_32641659/article/details/89358141
HUE
今日推荐