• hue install


    http://ju.outofmemory.cn/entry/105162
    Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job等等。很早以前就听说过Hue的便利与强大,一直没能亲自尝试使用,下面先通过官网给出的特性,通过翻译原文简单了解一下Hue所支持的功能特性集合:

    默认基于轻量级sqlite数据库管理会话数据,用户认证和授权,可以自定义为MySQL、Postgresql,以及Oracle
    基于文件浏览器(File Browser)访问HDFS
    基于Hive编辑器来开发和运行Hive查询
    支持基于Solr进行搜索的应用,并提供可视化的数据视图,以及仪表板(Dashboard)
    支持基于Impala的应用进行交互式查询
    支持Spark编辑器和仪表板(Dashboard)
    支持Pig编辑器,并能够提交脚本任务
    支持Oozie编辑器,可以通过仪表板提交和监控Workflow、Coordinator和Bundle
    支持HBase浏览器,能够可视化数据、查询数据、修改HBase表
    支持Metastore浏览器,可以访问Hive的元数据,以及HCatalog
    支持Job浏览器,能够访问MapReduce Job(MR1/MR2-YARN)
    支持Job设计器,能够创建MapReduce/Streaming/Java Job
    支持Sqoop 2编辑器和仪表板(Dashboard)
    支持ZooKeeper浏览器和编辑器
    支持MySql、PostGresql、Sqlite和Oracle数据库查询编辑器
    下面,我们通过实际安装来验证Hue的一些功能。

    环境准备

    这里,我所基于的基本环境及其配置情况,如下所示:

    CentOS-6.6 (Final)
    JDK-1.7.0_25
    Maven-3.2.1
    Git-1.7.1
    Hue-3.7.0(branch-3.7.1)
    Hadoop-2.2.0
    Hive-0.14
    Python-2.6.6
    基于上面的软件工具,要保证正确安装和配置。需要说明的是,我们通过Hue来执行Hive查询,需要启动HiveServer2服务:

    cd /usr/local/hive
    bin/hiveserver2 &
    否则通过Hue Web控制无法执行Hive查询。

    安装配置

    我新建了一个hadoop用户,以hadoop用户,首先使用yum工具来安装Hue相关的依赖软件:

    sudo yum install krb5-devel cyrus-sasl-gssapi cyrus-sasl-deve libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel python-simplejson sqlite-devel
    然后,执行如下命令进行Hue软件包的下载构建:

    cd /usr/local/
    sudo git clone https://github.com/cloudera/hue.git branch-3.7.1
    sudo chown -R hadoop:hadoop branch-3.7.1/
    cd branch-3.7.1/
    make apps
    上述过程如果没有任何问题,我们就已经安装好Hue。Hue的配置文件为/usr/local/branch-3.7.1/desktop/conf/pseudo-distributed.ini,默认的配置文件不能正常运行Hue,所以需要修改其中的内容,与我们对应的Hadoop集群配置相对应。该配置文件根据整合不同的软件,将配置分成多个段,每个段下面还有子段,便于管理配置,如下所示(省略子段名称):

    desktop
    libsaml
    libopenid
    liboauth
    librdbms
    hadoop
    filebrowser
    liboozie
    oozie
    beeswax
    impala
    pig
    sqoop
    proxy
    hbase
    search
    indexer
    jobsub
    jobbrowser
    zookeeper
    spark
    useradmin
    libsentry
    我们很容易根据需要来配置自己需要的内容。我们修改配置文件的情况,如下表所示:

    Hue配置段 Hue配置项 Hue配置值 说明
    desktop default_hdfs_superuser hadoop HDFS管理用户
    desktop http_host 10.10.4.125 Hue Web Server所在主机/IP
    desktop http_port 8000 Hue Web Server服务端口
    desktop server_user hadoop 运行Hue Web Server的进程用户
    desktop server_group hadoop 运行Hue Web Server的进程用户组
    desktop default_user yanjun Hue管理员
    hadoop/hdfs_clusters fs_defaultfs hdfs://hadoop6:8020 对应core-site.xml配置项fs.defaultFS
    hadoop/hdfs_clusters hadoop_conf_dir /usr/local/hadoop/etc/hadoop Hadoop配置文件目录
    hadoop/yarn_clusters resourcemanager_host hadoop6 对应yarn-site.xml配置项yarn.resourcemanager.hostname
    hadoop/yarn_clusters resourcemanager_port 8032 ResourceManager服务端口号
    hadoop/yarn_clusters resourcemanager_api_url http://hadoop6:8088 对应于yarn-site.xml配置项yarn.resourcemanager.webapp.address
    hadoop/yarn_clusters proxy_api_url http://hadoop6:8888 对应yarn-site.xml配置项yarn.web-proxy.address
    hadoop/yarn_clusters history_server_api_url http://hadoo6:19888 对应mapred-site.xml配置项mapreduce.jobhistory.webapp.address
    beeswax hive_server_host 10.10.4.125 Hive所在节点主机名/IP
    beeswax hive_server_port 10000 HiveServer2服务端口号
    beeswax hive_conf_dir /usr/local/hive/conf Hive配置文件目录
    上面主要配置了Hadoop集群相关的内容,以及Hive(beeswax段配置的是Hive,通过HIveServer2与Hive交互)。
    最后,启动Hue服务,执行如下命令:

    cd /usr/local/branch-3.7.1/
    build/env/bin/supervisor &
    Hue功能验证

    我们主要通过在Hue Web控制台上执行Hive查询,所以需要准备Hive相关的表和数据。

    Hive准备
    我们首先在Hive中创建一个数据库(如果没有权限则授权):

    GRANT ALL TO USER hadoop;
    CREATE DATABASE user_db;
    这里,hadoop用户是Hive的管理用户,可以将全部权限赋给该用户。
    创建示例表,建表DDL如下所示:

    CREATE TABLE user_db.daily_user_info (
    device_type int,
    version string,
    channel string,
    udid string)
    PARTITIONED BY (
    stat_date string)
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ' '
    STORED AS INPUTFORMAT
    'org.apache.hadoop.mapred.TextInputFormat'
    OUTPUTFORMAT
    'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat';
    准备的数据文件格式,示例如下所示:

    .2.1 C-gbnpk b01b8178b86cebb9fddc035bb238876d
    3.0.7 A-wanglouko e2b7a3d8713d51c0215c3a4affacbc95
    1.2.7 H-follower 766e7b2d2eedba2996498605fa03ed33
    1.2.7 A-shiry d2924e24d9dbc887c3bea5a1682204d9
    1.5.1 Z-wammer f880af48ba2567de0f3f9a6bb70fa962
    1.2.7 H-clouda aa051d9e2accbae74004d761ec747110
    2.2.13 H-clouda 02a32fd61c60dd2c5d9ed8a826c53be4
    2.5.9 B-ywsy 04cc447ad65dcea5a131d5a993268edf
    各个字段之间使用TAB分隔,每个字段含义与上面表user_db.daily_user_info的字段对应,然后我们将测试数据加载到示例表的各个分区之中:

    LOAD DATA LOCAL INPATH '/home/hadoop/u2014-12-05.log' OVERWRITE INTO TABLE user_db.daily_user_info PARTITION (stat_date='2014-12-05');
    LOAD DATA LOCAL INPATH '/home/hadoop/u2014-12-06.log' OVERWRITE INTO TABLE user_db.daily_user_info PARTITION (stat_date='2014-12-06');
    LOAD DATA LOCAL INPATH '/home/hadoop/u2014-12-07.log' OVERWRITE INTO TABLE user_db.daily_user_info PARTITION (stat_date='2014-12-07');
    LOAD DATA LOCAL INPATH '/home/hadoop/u2014-12-08.log' OVERWRITE INTO TABLE user_db.daily_user_info PARTITION (stat_date='2014-12-08');
    LOAD DATA LOCAL INPATH '/home/hadoop/u2014-12-09.log' OVERWRITE INTO TABLE user_db.daily_user_info PARTITION (stat_date='2014-12-09');
    LOAD DATA LOCAL INPATH '/home/hadoop/u2014-12-10.log' OVERWRITE INTO TABLE user_db.daily_user_info PARTITION (stat_date='2014-12-10');
    LOAD DATA LOCAL INPATH '/home/hadoop/u2014-12-11.log' OVERWRITE INTO TABLE user_db.daily_user_info PARTITION (stat_date='2014-12-11');
    可以通过Hive CLI接口登录,查看表中数据:

    SELECT COUNT(1) FROM daily_user_info;
    我这里有241709545条记录作为测试数据。

    Hue登录页面
    Hue服务启动成功后,可以直接通过浏览器打开连接http://10.10.4.125:8000/,就可以登录。第一次打开,需要输入默认用户和口令,然后就可以登录进去,如下图所示:

  • 相关阅读:
    centos 部署.NET CORE
    nginx 负载均衡
    graylog centos7 部署
    springboot 2.x centos 7.0 部署
    HashMap源代码阅读理解
    服务器安装redis
    java ---- gradle
    uboot-makefile总览
    makeFile
    Spring 推断构造方法
  • 原文地址:https://www.cnblogs.com/mayidudu/p/6149916.html
Copyright © 2020-2023  润新知