zoukankan      html  css  js  c++  java
  • 第一章 Hue的安装

    第一章 Hue的安装

    1、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数据库等等。

    HUE链接

    · Site: http://gethue.com/

    · Github: https://github.com/cloudera/hue

    · Reviews: https://review.cloudera.org

    Hue的架构

    ![img](file:///C:UsersADMINI~1AppDataLocalTempksohtml17404wps1.jpg)

    核心功能

    · SQL编辑器,支持Hive, Impala, MySQL, Oracle, PostgreSQL, SparkSQL, Solr SQL, Phoenix…

    · 搜索引擎Solr的各种图表

    · Spark和Hadoop的友好界面支持

    · 支持调度系统Apache Oozie,可进行workflow的编辑、查看

    HUE提供的这些功能相比Hadoop生态各组件提供的界面更加友好,但是一些需要debug的场景可能还是需要使用原生系统才能更加深入的找到错误的原因。

    HUE中查看Oozie workflow时,也可以很方便的看到整个workflow的DAG图,不过在最新版本中已经将DAG图去掉了,只能看到workflow中的action列表和他们之间的跳转关系,想要看DAG图的仍然可以使用oozie原生的界面系统查看。

    1,访问HDFS和文件浏览

    2,通过web调试和开发hive以及数据结果展示

    3,查询solr和结果展示,报表生成

    4,通过web调试和开发impala交互式SQL Query

    5,spark调试和开发

    7,oozie任务的开发,监控,和工作流协调调度

    8,Hbase数据查询和修改,数据展示

    9,Hive的元数据(metastore)查询

    10,MapReduce任务进度查看,日志追踪

    11,创建和提交MapReduce,Streaming,Java job任务

    12,Sqoop2的开发和调试

    13,Zookeeper的浏览和编辑

    14,数据库(MySQL,PostGres,SQlite,Oracle)的查询和展示

    ​ 一句话总结:Hue是一个友好的界面集成框架,可以集成我们各种学习过的以及将要学习的框架,一个界面就可以做到查看以及执行所有的框架

    2、Hue的安装

    ​ Hue的安装支持多种方式,包括rpm包的方式进行安装,tar.gz包的方式进行安装以及cloudera manager的方式来进行安装等,我们这里使用tar.gz包的方式来进行安装

    第一步:下载Hue的压缩包并上传到linux解压

    Hue的压缩包的下载地址:

    http://archive.cloudera.com/cdh5/cdh/5/

    我们这里使用的是CDH5.14.0这个对应的版本,具体下载地址为

    http://archive.cloudera.com/cdh5/cdh/5/hue-3.9.0-cdh5.14.0.tar.gz

    下载然后上传到linux系统,然后进行解压

    cd /export/softwares/
    tar -zxvf hue-3.9.0-cdh5.14.0.tar.gz -C ../servers/
    

    ![img](file:///C:UsersADMINI~1AppDataLocalTempksohtml17404wps2.jpg)

    第二步:编译安装启动

    2.1、linux系统安装依赖包:

    联网安装各种必须的依赖包

    yum install 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
    

    2.2开始配置Hue

    cd /export/servers/hue-3.9.0-cdh5.14.0/desktop/conf
    vim  hue.ini
    

    通用配置

    [desktop]
    secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o
    http_host=node03.hadoop.com
    is_hue_4=true
    time_zone=Asia/Shanghai
    server_user=root
    server_group=root
    default_user=root
    default_hdfs_superuser=root
    

    配置使用mysql作为hue的存储数据库,大概在hue.ini的587行左右

    [[database]]
    engine=mysql
    host=node03.hadoop.com
    port=3306
    user=root
    password=123456
    name=hue
    

    2.3、创建mysql数据库

    创建hue数据库

    create database hue default character set utf8 default collate utf8_general_ci;
    

    注意:实际工作中,还需要为hue这个数据库创建对应的用户,并分配权限,我这就不创建了,所以下面这一步不用执行了

    grant all on hue.* to 'hue'@'%' identified by 'hue';   
    

    2.4、准备进行编译

    cd /export/servers/hue-3.9.0-cdh5.14.0
    make apps
    

    2.5、linux系统添加普通用户hue

    useradd hue
    passwd hue
    

    2.6、启动hue进程

    cd /export/servers/hue-3.9.0-cdh5.14.0/
    build/env/bin/supervisor
    

    2.7、页面访问

    http://node03:8888

    • 第一次访问的时候,需要设置管理员用户和密码
    • 我们这里的管理员的用户名与密码尽量保持与我们安装hadoop的用户名和密码一致,
    • 我们安装hadoop的用户名与密码分别是root 123456
    • 初次登录使用root用户,密码为123456

    ![img](file:///C:UsersADMINI~1AppDataLocalTempksohtml17404wps3.jpg)

    进入之后发现我们的hue页面报错了,这个错误主要是因为hive的原因,因为我们的hue与hive集成的时候出错了,所以我们需要配置我们的hue与hive进行集成,接下里就看看我们的hue与hive以及hadoop如何进行集成

    3、hue与其他框架的集成

    3.1、hue与hadoop的HDFS以及yarn集成

    第一步:更改所有hadoop节点的core-site.xml配置

    记得更改完core-site.xml之后一定要重启hdfs与yarn集群

    三台机器更改``core-site.xml`

    <property>
    	<name>hadoop.proxyuser.root.hosts</name>    <--被代理的用户-->
    	<value>*</value>			 <--表示所有用户都可以代理上面配置的root用户-->
    </property>
    <property>
    	<name>hadoop.proxyuser.root.groups</name>    <--被代理的用户组-->
    	<value>*</value>			 <--表示所有用户组都可以代理上面配置的root用户组-->
    </property> 
    

    第二步:更改所有hadoop节点的hdfs-site.xml

    <property>
    	  <name>dfs.webhdfs.enabled</name>
    	  <value>true</value>
    </property>
    

    第三步:重启hadoop集群

    node01机器上面执行以下命令

    cd /export/servers/hadoop-2.6.0-cdh5.14.0
    sbin/stop-dfs.sh
    sbin/start-dfs.sh
    sbin/stop-yarn.sh
    sbin/start-yarn.sh
    

    第四步:停止hue的服务,并继续配置hue.ini

    cd /export/servers/hue-3.9.0-cdh5.14.0/desktop/conf
    vim hue.ini
    

    配置我们的huehdfs集成

    [[hdfs_clusters]]
    [[[default]]]
    fs_defaultfs=hdfs://node01.hadoop.com:8020
    webhdfs_url=http://node01.hadoop.com:50070/webhdfs/v1
    hadoop_hdfs_home=/export/servers/hadoop-2.6.0-cdh5.14.0
    hadoop_bin=/export/servers/hadoop-2.6.0-cdh5.14.0/bin
    hadoop_conf_dir=/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
    

    配置我们的hueyarn集成

    [[yarn_clusters]]
    [[[default]]]
    resourcemanager_host=node01
    resourcemanager_port=8032
    submit_to=True
    resourcemanager_api_url=http://node01:8088
    history_server_api_url=http://node01:19888
    

    3.2、配置hue与hive集成

    ​ 如果需要配置huehive的集成,我们需要启动hive的metastore服务以及hiveserver2服务impala需要hive的metastore服务hue需要hvie的hiveserver2服务

    更改hue的配置hue.ini

    修改hue.ini

    [beeswax]
    hive_server_host=node03.hadoop.com
    hive_server_port=10000
    hive_conf_dir=/export/servers/hive-1.1.0-cdh5.14.0/conf
    server_conn_timeout=120
    auth_username=root
    auth_password=123456
    [metastore]
    #允许使用hive创建数据库表等操作
    enable_new_create_table=true
    

    启动hive的metastore服务

    node03机器上启动hivemetastore以及hiveserver2服务

    cd /export/servers/hive-1.1.0-cdh5.14.0
    nohup bin/hive --service metastore &
    nohup bin/hive --service hiveserver2 &
    

    重新启动hue,然后就可以通过浏览器页面操作hive了

    3.3、配置hue与impala的集成

    停止hue的服务进程

    修改hue.ini配置文件

    [impala]
    server_host=node03
    server_port=21050
    impala_conf_dir=/etc/impala/conf
    

    3.4、配置hue与mysql的集成

    找到databases 这个选项,将这个选项下面的mysql注释给打开,然后配置mysql即可,大概在1547行

    [[[mysql]]]
    nice_name="My SQL DB"
    engine=mysql
    host=node03.hadoop.com
    port=3306
    user=root
    password=123456
    

    3.5、重新启动hue的服务

    cd /export/servers/hue-3.9.0-cdh5.14.0/
    build/env/bin/supervisor
    

    3.6、解决hive以及impala执行权限不足的问题

    在我们hive当中执行任意的查询,只要是需要跑MR的程序,就会报错,发现权限不够的异常,具体详细信息如下:

    INFO  : Compiling command(queryId=root_20180625191616_d02efd23-2322-4f3d-9cb3-fc3a06ff4ce0): select count(1) from mystu
    INFO  : Semantic Analysis Completed
    INFO  : Returning Hive schema: Schema(fieldSchemas:[FieldSchema(name:_c0, type:bigint, comment:null)], properties:null)
    INFO  : Completed compiling command(queryId=root_20180625191616_d02efd23-2322-4f3d-9cb3-fc3a06ff4ce0); Time taken: 0.065 seconds
    INFO  : Concurrency mode is disabled, not creating a lock manager
    INFO  : Executing command(queryId=root_20180625191616_d02efd23-2322-4f3d-9cb3-fc3a06ff4ce0): select count(1) from mystu
    INFO  : Query ID = root_20180625191616_d02efd23-2322-4f3d-9cb3-fc3a06ff4ce0
    INFO  : Total jobs = 1
    INFO  : Launching Job 1 out of 1
    INFO  : Starting task [Stage-1:MAPRED] in serial mode
    INFO  : Number of reduce tasks determined at compile time: 1
    INFO  : In order to change the average load for a reducer (in bytes):
    INFO  :   set hive.exec.reducers.bytes.per.reducer=<number>
    INFO  : In order to limit the maximum number of reducers:
    INFO  :   set hive.exec.reducers.max=<number>
    INFO  : In order to set a constant number of reducers:
    INFO  :   set mapreduce.job.reduces=<number>
    ERROR : Job Submission failed with exception 'org.apache.hadoop.security.AccessControlException(Permission denied: user=admin, access=EXECUTE, inode="/tmp":root:supergroup:drwxrwx---
    

    我们需要给hdfs上面的几个目录执行权限即可

    hdfs  dfs  -chmod o+x /tmp
    hdfs  dfs  -chmod o+x  /tmp/hadoop-yarn
    hdfs  dfs  -chmod o+x  /tmp/hadoop-yarn/staging
    

    ![img](file:///C:UsersADMINI~1AppDataLocalTempksohtml17404wps4.jpg)

    或者我们可以这样执行

    hdfs  dfs  -chmod -R o+x /tmp
    

    可以将/tmp目录下所有的文件及文件夹都赋予权限

    继续执行hive的任务就不会报错了

  • 相关阅读:
    easy ui 表单ajax和from两种提交数据方法
    easy ui 下拉级联效果 ,下拉框绑定数据select控件
    easy ui 下拉框绑定数据select控件
    easy ui 异步上传文件,跨域
    easy ui 菜单和按钮(Menu and Button)
    HTTP 错误 404.3
    EXTJS4.2 后台管理菜单栏
    HTML 背景图片自适应
    easy ui 表单元素input控件后面加说明(红色)
    EXTJS 4.2 添加滚动条
  • 原文地址:https://www.cnblogs.com/-xiaoyu-/p/11186666.html
Copyright © 2011-2022 走看看