HUE的基本使用
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数据库等等。
核心功能
SQL编辑器,支持Hive, Impala, MySQL, Oracle, PostgreSQL, SparkSQL, Solr SQL, Phoenix…
搜索引擎Solr的各种图表
Spark和Hadoop的友好界面支持
支持调度系统Apache Oozie,可进行workflow的编辑、查看
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是一个友好的界面集成框架,可以集成我们各种学习过的以及将要学习的框架,一个界面就可以做到查看以及执行所有的框架
Hue的安装
我们这里使用tar.gz包的方式来记性安装
下载然后上传到linux系统,然后进行解压
cd /export/softwares/
tar -zxvf hue-3.9.0-cdh5.14.0.tar.gz -C ../servers/
第二步:编译安装启动
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
centos7的依赖包有一个不一样的,可以去csdn查查是哪个
开始配置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
创建mysql数据库
创建hue数据库
create database hue default character set utf8 default collate utf8_general_ci;
注意:实际工作中,还需要为hue这个数据库创建对应的用户,并分配权限,我这就不创建了,所以下面这一步不用执行了
grant all on hue.* to ‘hue’@’%’ identified by ‘hue’;
准备进行编译
cd /export/servers/hue-3.9.0-cdh5.14.0
make apps
linux系统添加普通用户hue
useradd hue
passwd hue
启动hue进程
cd /export/servers/hue-3.9.0-cdh5.14.0/
build/env/bin/supervisor
页面访问
http://node03:8888
第一次访问的时候,需要设置管理员用户和密码
我们这里的管理员的用户名与密码尽量保持与我们安装hadoop的用户名和密码一致,
我们安装hadoop的用户名与密码分别是root 123456
初次登录使用root用户,密码为123456
hue与其他框架的集成
1-hue与hadoop的HDFS以及yarn集成
第一步:更改所有hadoop节点的core-site.xml配置
记得更改完core-site.xml之后一定要重启hdfs与yarn集群
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</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
配置我们的hue与hdfs集成
[[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
配置我们的hue与yarn集成
[[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
2.配置hue与hive集成
如果需要配置hue与hive的集成,我们需要启动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机器上启动hive的metastore以及hiveserver2服务
cd /export/servers/hive-1.1.0-cdh5.14.0
nohup bin/hive --service metastore &
nohup bin/hive --service hiveserver2 &
3.配置hue与impala的集成
停止hue的服务进程
修改hue.ini配置文件
[impala]
server_host=node03
server_port=21050
impala_conf_dir=/etc/impala/conf
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
解决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的任务就不会报错了