Hue是一個圖形化的使用者界面,去操作或者開發一些hadoop應用,內建一些架構。
一 Hue架構圖
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN0LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90zZOBTQEF2ck1mYohWblZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zMzUjNxgDN5ATMyETM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
支援的架構:
JobOOZIE PIG HDFS:查檔案 檔案的管理:增删改查 HiveMetaStore 管理器 ImaplaShell
二 Hue安裝部署
2.1下載下傳解壓
下載下傳位址:https://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh.5.3.6.tar.gz
解壓:tar-zxf hue-3.7.0-cdh5.3.6.tar.gz
2.2編譯和安裝
在進行編譯之前需要一些前提條件,也就是需要安裝一些依賴包
yuminstall ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gccgcc-c++ krb5-devel libffi-devel libtidy libxml2-devel libxslt-devel
makemvn mysql mysql-devel openldap-devel python-devel sqlite-devel openssl-develgmp-devel –y
如果已經裝過了,就不用安裝了。
我本地機器:
yuminstall ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plainkrb5-devel libffi-devel libtidy libxml2-devel libxslt-devel mysql-developenldap-devel python-devel sqlite-devel openssl-devel gmp-devel –y
安裝的依賴中包含openjdk,編譯完後解除安裝openjdk
yumremove java
source/etc/profile
然後進入到hue主目錄:
cd/opt/cdh-5.3.6/hue-3.7.0-cdh5.3.6
makeapps
三 修改webserver配置檔案和啟動
cd/opt/cdh-5.3.6/hue-3.7.0-cdh5.3.6/desktop/conf
vimhue.ini
所有hue架構配置項都是以中括号标記
3.1修改httphost和 port
http_host=CDH-Hadoop-Cluster-01
http_port=8888
3.2指定SecretKey
#This is used for secure hashing in the session store.
secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o
3.3修改時區
#Time zone name
time_zone=Asia/Shanghai
啟動:
/build/env/bin/supervisor
啟動之後登入web ui
http://cdh-hadoop-cluster-01:8888/
首先會建立的你的管理者賬号
建議建立使用者和hadoop使用者相同,因為通路HDFS叢集。HDFS有權限檢查,如果用hadoop相同的使用者就避免了權限檢查
hadoophadoop
然後它會檢查一些配置檔案:
四 Hue與HDFS 和 YARN的內建
4.1Hue 和 HDFS內建
4.1.1配置WebHdfs
你應該啟用WebHdfs或者運作一個HttpFSserver. 要打開WebHDFS,4.1.1.1添加以下配置到hdfs-site.xml
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
4.1.1.2添加以下配置到core-site.xml
<!--toaccess hdfs, we need set proxy-->
<property>
<name>hadoop.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hue.groups</name>
<value>*</value>
</property>
4.1.1.3分發剛才配置到叢集其他機器
scphdfs-site.xml core-site.xml [email protected]:/opt
/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop
scphdfs-site.xml core-site.xml [email protected]:/opt
/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop
4.1.1.4重新開機hadoop 叢集
4.1.2配置hue.ini
Hue目前隻支援一個HDFS叢集
在hue.ini找到[hadoop]段,然後找[[hdfs_clusters]]子段,再找到
[[[default]]]子段
fs_defaultfs=hdfs://CDH-Hadoop-Cluster-01:8020
webhdfs_url=http://CDH-Hadoop-Cluster-01:50070/webhdfs/v1
hadoop_conf_dir=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop
hadoop_hdfs_home=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6
hadoop_bin=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/bin
4.2Hue 和 YARN 內建
4.2.1 配置YARN. 文檔提示不需要再配
4.2.2配置hue.ini
Hue目前隻支援一個YARN叢集,在hue.ini找到[hadoop]段,然後找[[yarn_clusters]]子段,再找到[[[default]]]子段
resourcemanager_host=CDH-Hadoop-Cluster-02
resourcemanager_port=8032
#Whether to submit jobs to this cluster
submit_to=True
hadoop_mapred_home=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6
hadoop_bin=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/bin
hadoop_conf_dir=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop
#URL of the ResourceManager API相當于yarn-site.xml配置yarn.
resourcemanager.webapp.address
resourcemanager_api_url=http://CDH-Hadoop-Cluster-02:8088
#URL of the ProxyServer API,相當于yarn-site.xml配置yarn.web-proxy.address
proxy_api_url=http://CDH-Hadoop-Cluster-02:8088
#URL of the HistoryServer API相當于mapred-site.xml裡面的mapreduce.jobhistory.webapp.address
history_server_api_url=http://CDH-Hadoop-Cluster-01:19888
4.3重新開機hadoop叢集和hue
五 Hive遠端MetaStore的配置和啟動
Hive的三種運作方式
1預設的derby資料庫 缺點:容量較小,不能啟動多個執行個體
2使用MySQL缺點: MySQL與Hive在同一台機器
3遠端的MetaStore,中繼資料存儲在遠端的MySQL當中
我們需要修改hive.metastore.uris:
<property>
<name>hive.metastore.uris</name>
<value></value>
</property>
開啟遠端MetaStore
bin/hive--service metastore &
每一次都必須先啟動遠端metastore,然後在啟動用戶端
六 Hue與 Hive內建
6.1hive配置
隻需要啟動hiveserver2
tcp協定:預設10000
http協定:預設10001
有時候出現連接配接逾時,我們把5000L改成5000
<property>
<name>hive.server2.long.polling.timeout</name>
<value>5000L</value>
</property>
改成
<property>
<name>hive.server2.long.polling.timeout</name>
<value>5000</value>
</property>
6.2配置hue.ini
hive_server_host=CDH-Hadoop-Cluster-01
hive_server_port=10000
hive_home_dir=/opt/cdh-5.3.6/hive-0.13.1-cdh5.3.6
hive_conf_dir=/opt/cdh-5.3.6/hive-0.13.1-cdh5.3.6/conf
6.3重新開機Hue
七 Hue 和 RDBMS的內建
找到[librmdbs]段 在hue.ini檔案中,然後在他下面找到[[databases]]子段
7.1啟用SQLite
首先去掉注釋## [[[sqlite]]]
[[[sqlite]]]
然後修改:
# Name to show in the UI.
nice_name=SQLite
#定義資料庫的位置
name=name=/opt/cdh-5.3.6/hue-3.7.0-cdh5.3.6/desktop/desktop.db
# 資料庫使用的引擎
engine=sqlite
7.2啟用MySQL
啟用mysql,去掉資料庫
[[[mysql]]]
nice_name="My SQL DB"
engine=mysql
## name=mysqldb 不打開,預設使用所有資料庫
host=hadoop-senior02.ibeifeng.com
port=3306
user=root
password=123456
7.3 重新開機Hue
八 Hue與Oozie的內建和使用
8.1 hue 配置oozie
找到[liboozie]段
oozie_url=http://CDH-Hadoop-Cluster-01:11000/oozie
<!--預設放到目前使用者主目錄下面,但是在Hue的時候指定的是/user/oozie/share/lib
是以我麼這裡就把user.name改成oozie-->
<property>
<name>oozie.service.WorkflowAppService.system.libpath</name>
<value>/user/${user.name}/share/lib</value>
</property>
改成:
<property>
<name>oozie.service.WorkflowAppService.system.libpath</name>
<value>/user/oozie/share/lib</value>
</property>
先停掉oozie:
bin/oozied.shstop
然後重新執行:
bin/oozie-setup.shsharelib create -fs hdfs://CDH-Office-Hadoop-01:8020 -locallib/opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/oozie-sharelib-4.0.0-cdh5.3
.6-yarn.tar.gz
再啟動oozie
bin/oozied.shstart