Apache Hue详解安装及软件的集成

一、 Apache 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数据库等等。
在这里插入图片描述
2. Hue能做什么
访问HDFS和文件浏览
通过web调试和开发hive以及数据结果展示
查询solr和结果展示,报表生成
通过web调试和开发impala交互式SQL Query
spark调试和开发
Pig开发和调试
oozie任务的开发,监控,和工作流协调调度
Hbase数据查询和修改,数据展示
Hive的元数据(metastore)查询
MapReduce任务进度查看,日志追踪
创建和提交MapReduce,Streaming,Java job任务
Sqoop2的开发和调试
Zookeeper的浏览和编辑
数据库(MySQL,PostGres,SQlite,Oracle)的查询和展示
在这里插入图片描述
在这里插入图片描述
3. Hue的架构
Hue是一个友好的界面集成框架,可以集成各种大量的大数据体系软件框架,通过一个界面就可以做到查看以及执行所有的框架。
Hue提供的这些功能相比Hadoop生态各组件提供的界面更加友好,但是一些需要debug的场景可能还是要使用原生系统才能更加深入的找到错误的原因。
在这里插入图片描述

二、 Hue的安装

1. 上传解压安装包
Hue的安装支持多种方式,包括rpm包的方式进行安装、tar.gz包的方式进行安装以及cloudera manager的方式来进行安装等,我们这里使用tar.gz包的方式来进行安装。
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
cd /export/servers/
tar -zxvf hue-3.9.0-cdh5.14.0.tar.gz
2. 编译初始化工作
2.1. 联网安装各种必须的依赖包

yum install -y asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc gcc-c++ krb5-devel libffi-devel libxml2-devel libxslt-devel make 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=node-1
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=node-1
port=3306
user=root
password=Hadoop
name=hue

2.3. 创建mysql中Hue使用的DB
create database hue default character set utf8 default collate utf8_general_ci;

3. 编译Hue
cd /export/servers/hue-3.9.0-cdh5.14.0
make apps

编译成功之后,会在hue数据库中创建许多初始化表。

在这里插入图片描述
在这里插入图片描述
4. 启动Hue、Web UI访问
cd /export/servers/hue-3.9.0-cdh5.14.0/
build/env/bin/supervisor

页面访问路径:
http://node-1:8888
第一次访问的时候,需要设置超级管理员用户和密码。记住它。
在这里插入图片描述
若想关闭Hue ,直接在窗口ctrl+c即可。

三、 Hue与软件的集成

1. Hue集成HDFS
注意修改完HDFS相关配置后,需要把配置scp给集群中每台机器,重启hdfs集群。
1.1. 修改core-site.xml配置

<!—允许通过httpfs方式访问hdfs的主机名 -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<!—允许通过httpfs方式访问hdfs的用户组 -->
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>

1.2. 修改hdfs-site.xml配置

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

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

[[hdfs_clusters]]
    [[[default]]]
fs_defaultfs=hdfs://node-1:9000
webhdfs_url=http://node-1:50070/webhdfs/v1
hadoop_hdfs_home= /export/servers/hadoop-2.7.5
hadoop_bin=/export/servers/hadoop-2.7.5/bin
hadoop_conf_dir=/export/servers/hadoop-2.7.5/etc/hadoop

1.4. 重启HDFS、Hue
start-dfs.sh

cd /export/servers/hue-3.9.0-cdh5.14.0/
build/env/bin/supervisor
在这里插入图片描述
2. Hue集成YARN
2.1. 修改hue.ini

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

2.2. 开启yarn日志聚集服务
MapReduce 是在各个机器上运行的, 在运行过程中产生的日志存在于各个机器上,为了能够统一查看各个机器的运行日志,将日志集中存放在 HDFS 上, 这个过程就是日志聚集。

<property>  ##是否启用日志聚集功能。
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>  ##设置日志保留时间,单位是秒。
<name>yarn.log-aggregation.retain-seconds</name>
<value>106800</value>
</property>

2.3. 重启Yarn、Hue
build/env/bin/supervisor
在这里插入图片描述
3. Hue集成Hive
如果需要配置hue与hive的集成,我们需要启动hive的metastore服务以及hiveserver2服务(impala需要hive的metastore服务,hue需要hvie的hiveserver2
服务)。
3.1. 修改Hue.ini

[beeswax]
  hive_server_host=node-1
  hive_server_port=10000
  hive_conf_dir=/export/servers/hive/conf
  server_conn_timeout=120
  auth_username=root
  auth_password=123456

[metastore]
  #允许使用hive创建数据库表等操作
  enable_new_create_table=true

3.2. 启动Hive服务、重启hue
去node-1机器上启动hive的metastore以及hiveserver2服务
cd /export/servers/hive
nohup bin/hive --service metastore &
nohup bin/hive --service hiveserver2 &

重新启动hue。
cd /export/servers/hue-3.9.0-cdh5.14.0/
build/env/bin/supervisor
在这里插入图片描述
在这里插入图片描述
4. Hue集成Mysql
4.1. 修改hue.ini
需要把mysql的注释给去掉。 大概位于1546行
进入末行模式 :set nu

[[[mysql]]]
      nice_name="My SQL DB"
      engine=mysql
      host=node-1
      port=3306
      user=root
      password=hadoop

4.2. 重启hue
cd /export/servers/hue-3.9.0-cdh5.14.0/
build/env/bin/supervisor
在这里插入图片描述
5. Hue集成Oozie
5.1. 修改hue配置文件hue.ini

[liboozie]
  # The URL where the Oozie service runs on. This is required in order for
  # users to submit jobs. Empty value disables the config check.
  oozie_url=http://node-1:11000/oozie

  # Requires FQDN in oozie_url if enabled
  ## security_enabled=false

  # Location on HDFS where the workflows/coordinator are deployed when submitted.
  remote_deployement_dir=/user/root/oozie_works

[oozie]
  # Location on local FS where the examples are stored.
  # local_data_dir=/export/servers/oozie-4.1.0-cdh5.14.0/examples/apps

  # Location on local FS where the data for the examples is stored.
  # sample_data_dir=/export/servers/oozie-4.1.0-cdh5.14.0/examples/input-data

  # Location on HDFS where the oozie examples and workflows are stored.
  # Parameters are $TIME and $USER, e.g. /user/$USER/hue/workspaces/workflow-$TIME
  # remote_data_dir=/user/root/oozie_works/examples/apps

  # Maximum of Oozie workflows or coodinators to retrieve in one API call.
  oozie_jobs_count=100

  # Use Cron format for defining the frequency of a Coordinator instead of the old frequency number/unit.
  enable_cron_scheduling=true

  # Flag to enable the saved Editor queries to be dragged and dropped into a workflow.
  enable_document_action=true

  # Flag to enable Oozie backend filtering instead of doing it at the page level in Javascript. Requires Oozie 4.3+.
  enable_oozie_backend_filtering=true

  # Flag to enable the Impala action.
  enable_impala_action=true

[filebrowser]
  # Location on local filesystem where the uploaded archives are temporary stored.
  archive_upload_tempdir=/tmp

  # Show Download Button for HDFS file browser.
  show_download_button=true

  # Show Upload Button for HDFS file browser.
  show_upload_button=true

  # Flag to enable the extraction of a uploaded archive in HDFS.
  enable_extract_uploaded_archive=true

5.2. 启动hue、oozie
启动hue进程
cd /export/servers/hue-3.9.0-cdh5.14.0
build/env/bin/supervisor
启动oozie进程
cd /export/servers/oozie-4.1.0-cdh5.14.0
bin/oozied.sh start
页面访问hue
http://node-1:8888/

5.3. 使用hue配置oozie调度
hue提供了页面鼠标拖拽的方式配置oozie调度
在这里插入图片描述
5.4. 利用hue调度shell脚本
在HDFS上创建一个shell脚本程序文件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打开工作流调度页面。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.5. 利用hue调度hive脚本
在HDFS上创建一个hive sql脚本程序文件。
在这里插入图片描述
打开workflow页面,拖拽hive2图标到指定位置。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.6. 利用hue调度MapReduce程序
利用hue提交MapReduce程序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.7. 利用Hue配置定时调度任务
在hue中,也可以针对workflow配置定时调度任务,具体操作如下:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
一定要注意时区的问题,否则调度就出错了。保存之后就可以提交定时任务。
在这里插入图片描述
在这里插入图片描述
点击进去,可以看到定时任务的详细信息。
在这里插入图片描述
在这里插入图片描述
6. Hue集成Hbase
6.1. 修改hbase配置
在hbase-site.xml配置文件中的添加如下内容,开启hbase thrift服务。
修改完成之后scp给其他机器上hbase安装包。

<property>
  <name>hbase.thrift.support.proxyuser</name>
  <value>true</value>
</property>
<property>
  <name>hbase.regionserver.thrift.http</name>
  <value>true</value>
</property>

6.2. 修改hadoop配置
在core-site.xml中确保 HBase被授权代理,添加下面内容。
把修改之后的配置文件scp给其他机器和hbase安装包conf目录下。

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

6.3. 修改Hue配置

[hbase]
  # Comma-separated list of HBase Thrift servers for clusters in the format of '(name|host:port)'.
  # Use full hostname with security.
  # If using Kerberos we assume GSSAPI SASL, not PLAIN.
  hbase_clusters=(Cluster|node-1:9090)

  # HBase configuration directory, where hbase-site.xml is located.
  hbase_conf_dir=/export/servers/hbase-1.2.1/conf

  # Hard limit of rows or columns per row fetched before truncating.
  ## truncate_limit = 500

  # 'buffered' is the default of the HBase Thrift Server and supports security.
  # 'framed' can be used to chunk up responses,
  # which is useful when used in conjunction with the nonblocking server in Thrift.
  thrift_transport=buffered

6.4. 启动hbase(包括thrift服务)、hue
需要启动hdfs和hbase,然后再启动thrift。
start-dfs.sh
start-hbase.sh
hbase-daemon.sh start thrift

重新启动hue。
cd /export/servers/hue-3.9.0-cdh5.14.0/
build/env/bin/supervisor
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7. Hue集成Impala
7.1. 修改Hue.ini

[impala]
  server_host=node-3
  server_port=21050
  impala_conf_dir=/etc/impala/conf

7.2. 重启Hue
cd /export/servers/hue-3.9.0-cdh5.14.0/
build/env/bin/supervisor
在这里插入图片描述
在这里插入图片描述

发布了46 篇原创文章 · 获赞 207 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_42518541/article/details/103502650