Hue的配置详解
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.Hue概述
1>.什么是HUE
Hue(Hadoop User Experience)是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来.
下载地址:http://cloudera.github.io/hue/latest/
2>.HUE的功能
(1)SQL编辑,支持Hive、Impala、SparkSQL和各种关系型数据库
(2)管理Hadoop和Spark任务
(3)HBase数据的查询和修改
(4)Sqoop任务的开发和调试
(5)管理Oozie的工作流
(6)其他功能,例如浏览HDFS,浏览zookeeper……
3>.HUE简介
Hue的安装较简易,按照官方文档逐步操作即可。需要注意的是,Hue依赖Python 2.6.5 - 2.7,如果机器上原有Python 3,需要再安装一个符合要求版本的python,在两个版本python共存时,需要注意管理环境变量,以免以前依赖Python 3的程序出错。 Hue对很多大数据开发、分析同学来说是日常工作常用组件,然而对运维同学来说重要性却很低,因为它只是一个简单的web工程,没有什么可运维的。
接下来我们简单介绍一下Hue的一些常用配置。配置文件默认在/etc/hue/hue.ini。
二.HUE基础配置
这些配置位于配置文件的[desktop]段下
1>.http_host=0.0.0.0
绑定的ip,一般不修改.
2>.http_port=8888
绑定的端口,按需修改.
3>.安全密钥,随便写一个30-60长的字符串
secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o
4>.禁用的组件,可以都放开,到Hue的admin帐号中去配
app_blacklist=beeswax,impala,security,filebrowser,jobbrowser,rdbms,jobsub,pig,hbase,sqoop,zookeeper,metastore,spark,oozie,indexer
5>.Hue的登陆认证方式,一般不改
backend= desktop.auth.backend.AllowFirstUserDjangoBackend
这里补充一点Hue的登陆认证知识。安装完Hue后,第一次登陆的用户默认为admin用户(需妥善保管密码),之后有两种方式创建普通用户帐号: 1>.用admin用户登陆后,点击上方导航的User Admin图标,按提示操作,即可增、删、管理用户 2>.可以导入Linux操作系统的用户和用户组。需要保证hadoop用户组存在,然后在命令行执行build/env/bin/hue useradmin_sync_with_unix命令(如果一次导入后有新增账户,且新增账户也需要访问Hue,需要再次导入)。导入的账户,还需要Hue的admin分配初始密码后才可登陆。
6>.其余参数(SSL、banner等等)都次要,一般也不会修改。
三.HUE外部配置
这些配置位于配置文件的[hadoop]段下,一些外部服务的配置文件也需要做相应调整
1>.Hadoop
主要是为了能以web方式访问HDFS文件。需要在hdfs-site.xml中修改如下配置 <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> 以及在core-site.xml中修改如下配置 <property> <name>hadoop.proxyuser.hue.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hue.groups</name> <value>*</value> </property> 以及在httpfs-site.xml中修改如下配置 <property> <name>httpfs.proxyuser.hue.hosts</name> <value>*</value> </property> <property> <name>httpfs.proxyuser.hue.groups</name> <value>*</value> </property> 修改完后,重启HDFS服务。 另外,在hue.ini中的[hadoop] - [[hdfs_clusters]] - [[[default]]]下可配置HDFS的几个基本参数,如fs_defaultfs,webhdfs_url,hadoop_conf_dir,含义都很明显,看一下说明很容易配。
2>.oozie
Hue使用登录账户向Oozie提交MapReduce作业,因此需要配置Oozie将Hue的登录账户作为proxyuser。
在oozie-site.xml中增加以下配置并重启Oozie: <property> <name>oozie.service.ProxyUserService.proxyuser.hue.hosts</name> <value>*</value> </property> <property> <name>oozie.service.ProxyUserService.proxyuser.hue.groups</name> <value>*</value> </property>
另外hue.ini中的主要配置有:
[oozie]
#存储样本数据的本地路径
local_data_dir=/xxx
#存储采样数据的本地路径
sample_data_dir=/xxx
#存储oozie工作流的HDFS路径
remote_data_dir=/xxx
#一次调用中最大返回的oozie工作流数量
oozie_jobs_count=50
3>.hive
Hue可以作为执行Hive SQL的一种工具。为此必须保证一些HDFS目录对Hue登录用户有权限,如/user/hive/warehouse下的相应目录有写入(建表)权限,以及/tmp目录是777权限。如果不是要先做相应修改。
hue.ini中的主要配置有:
[beeswax]
#HiveServer2的服务器地址,如果使用了HAProxy配置了多个HiveServer2的地址,这里应填写HAProxy的地址
hive_server_host=xxx
# HiveServer2的端口,如果使用了HAProxy配置了多个HiveServer2的地址,这里应填写HAProxy的JDBC服务的端口(上一讲讲了,对于JDBC连接均衡算法应配为balance source,这对Impala还是Hive是完全一样的)
hive_server_port=xxx
#指向hive-site.xml文件的路径
hive_conf_dir=/xxx/xxx
4>.imapla
Impala一般也会用HAProxy做代理,配置项也不多,主要有。
[impala]
#连接的impalad的服务器地址,如果使用了HAProxy配置了多个impalad,这里应填写HAProxy的地址
server_host=xxx
#连接的impalad的端口,如果使用了HAProxy配置了多个impalad,这里应填写HAProxy的JDBC服务的端口
server_port=xxx
5>.YARN
Hue可使用菜单上的Job Browser浏览Yarn上的作业并进行Kill操作,相关配置在hue.ini中的[hadoop] - [[yarn_clusters]]下,其中[[[default]]]中可配置resourcemanager_host,resourcemanager_port,resourcemanager_api_url等,如果RM做了HA,可以和[[[default]]]平级再写一个[[[ha]]]段,里面的可配置项完全一致,值填写为另一个RM的地址和端口。