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的地址和端口。