16 hue框架使用

976-沈同学

发表文章数:65

热门标签

首页 » 大数据 » 正文

16 hue框架使用

1.hue介绍

HUE=Hadoop User Experience
主要用于与我们其他各个框架进行整合,例如hdfs,mapreduce,hive,impala,oozie,spark
整合完成之后,只需要在我们hue这一个框架提供的web界面里面就可以操作我们所有其他的框架
HUE链接

Site: http://gethue.com/
Github: https://github.com/cloudera/hue
Reviews: https://review.cloudera.org

hue架构
16 hue框架使用
hue的主体架构:

UI:前端的管理界面
hue server:运行的一个tomcat
hueDB:数据库存储,存放我们提交的一些任务信息,保存的一些执行信息

hue的核心功能:

sql编辑器:可以支持各种框架的sql的执行
支持hive,mysql,oracel,PostgreSQL,impala,SparkSQL,Solr SQL等等各种框架的sql
搜索引擎Solr的各种图表
Spark和Hadoop的友好界面支持
支持调度系统Apache Oozie,可进行workflow的编辑、查看

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是一个友好的界面集成框架,可以集成我们各种学习过的以及将要学习的框架,一个界面就可以做到查看以及执行所有的框架
16 hue框架使用

2.hue安装

第一步:下载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/

第二步:编译安装启动

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.开始配置Hue:

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

vi hue.ini (用notepad++改,不会错)

#通用配置
[desktop]
secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o
http_host=node3.hadoop.com
http_port=8888
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=node3.hadoop.com
port=3306
user=root
password=123456
name=hue

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';

4.准备进行编译

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

5.linux系统添加普通用户hue

useradd hue
passwd hue

6.启动hue进程

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

7.页面访问

http://node3:8888

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

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>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property> 

第二步:更改所有hadoop节点的hdfs-site.xml
配置开启hdfs的webHdfs功能
开启了这个功能之后,可以让我们通过浏览器来操作我们hdfs上面的文件,
包括修改,删除,添加。

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

第三步:重启hadoop集群
在node1机器上面执行以下命令

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

配置我们的hue与hdfs集成

[[hdfs_clusters]]
    [[[default]]]
fs_defaultfs=hdfs://node1.hadoop.com:8020
webhdfs_url=http://node1.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

配置我们的hue与yarn集成

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

3.2、配置hue与hive集成

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

更改hue的配置hue.ini

[beeswax]
  hive_server_host=node3.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服务(需要开启)

去node3机器上启动hive的metastore以及hiveserver2服务
cd /export/servers/hive-1.1.0-cdh5.14.0
nohup bin/hive --service metastore &
nohup bin/hive --service hiveserver2 &

3.3、配置hue与impala的集成

修改hue.ini配置文件

[impala]
  server_host=node3
  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=node3.hadoop.com
      port=3306
      user=root
      password=123456

3.5、配置hue与hbase的集成

第一步:修改hue.ini

cd /export/servers/hue-3.9.0-cdh5.14.0/desktop/conf
vim hue.ini
[hbase]
  hbase_clusters=(Cluster|node1:9090)
  hbase_conf_dir=/export/servers/hbase-1.2.0-cdh5.14.0/conf

第二步:启动hbase的thrift server服务

第一台机器执行以下命令启动hbase的thriftserver
cd /export/servers/hbase-1.2.0-cdh5.14.0
bin/hbase-daemon.sh start thrift  

3.6、重新启动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
或者我们可以这样执行
hdfs  dfs  -chmod -R o+x /tmp
可以将/tmp目录下所有的文件及文件夹都赋予权限
继续执行hive的任务就不会报错了
标签:

拜师教育学员文章:作者:976-沈同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《16 hue框架使用》 发布于2020-06-18

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录