Hue3.9 安裝教程:華麗的Spark,Hadoop UI
Hue3.9
因網上沒有一篇教程可以完全參照安裝成功,我將我安裝過程中遇到的問題集結起來,以及其他教程的精華部分整理好,內容如下:
Hue是一個開源的Apache Hadoop UI系統,最早是由Cloudera Desktop演化而來,由Cloudera貢獻給開源社群,它是基於Python Web框架Django實現的。通過使用Hue我們可以在瀏覽器端的Web控制檯上與Hadoop叢集進行互動來分析處理資料,例如操作HDFS上的資料,支援Spark編輯器和儀表板(Dashboard),支援HBase瀏覽器,能夠視覺化資料、查詢資料、修改HBase表等。
環境準備
CentOS6.6 ,提前預裝maven,git,jdk7
同時在root下安裝如下內容:
yum install -y gcc libxml2-devel libxslt-devel cyrus-sasl-devel mysql-devel python-devel python-setuptools python-simplejson sqlite-devel ant gmp-devel cyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-gssapi
下載原始碼
cd /opt/
git clone https://github.com/cloudera/hue.git
修改POM
vim /opt/hue/maven/pom.xml
- 將Hadoop和Spark修改為相應的版本:
<hadoop-mr1.version>2.6.0</hadoop-mr1.version>
<hadoop.version>2.6.0</hadoop.version>
<spark.version>1.4.0</spark.version>
- 將hadoop-core修改為hadoop-common(core會報錯找不到)
<artifactId>hadoop-common</artifactId>
- 將hadoop-test的版本改為1.2.1:
<artifactId>hadoop-test</artifactId>
<version>1.2.1</version>
4.將兩個ThriftJobTrackerPlugin.java檔案刪除,分別在如下兩個目錄:
/opt/hue/desktop/libs/hadoop/java/src/main/java/org/apache/hadoop/thriftfs/ThriftJobTrackerPlugin.java
/opt/hue/desktop/libs/hadoop/java/src/main/java/org/apache/hadoop/mapred/ThriftJobTrackerPlugin.java
漫長的編譯過程
cd /opt/hue
make apps
期間會提示spark-assembly_2.10:1.4.0.jar找不到的錯誤:
Failure to find org.apache.spark:spark-assembly_2.10:jar:1.4.0
由於maven倉庫中沒有這個jar包。所以我們需要將$SPAEK_HOME/lib中的spark-assembly-1.4.0-hadoop2.6.0.jar重新命名為park-assembly-1.4.0.jar放到~/.m2/repository/org/apache/spark/spark-assembly_2.10/1.4.0/中即可!
初次啟動
編譯成功後,hue就可以運行了
/opt/hue/build/env/bin/supervisor
啟動後通過瀏覽器訪問8000埠。
雖然啟動了,我們看到很多功能都報錯,因為我們還沒有為Hue進行正確的配置。
引數配置
vim desktop/conf/pseudo-distributed.ini
首先是desktop配置項:
配置項 | 內容 | 說明 |
---|---|---|
default_hdfs_superuser | hadoop | HDFS管理使用者 |
http_host | master | Hue Web Server所在主機/IP |
http_port | 8000 | Web Server服務埠 |
server_user | hadoop | 執行Hue Web Server的程序使用者 |
server_group | hadoop | 執行Hue Web Server的程序使用者組 |
default_user | root | Hue管理員 |
HDFS的配置:
配置項 | 內容 | 說明 |
---|---|---|
fs_defaultfs | hdfs://master:8020 | HDFS管理使用者 |
Yarn的配置:
配置項 | 內容 | 說明 |
---|---|---|
resourcemanager_host | master | 對應yarn-site.xml配置項yarn.resourcemanage |
resourcemanager_port | 8032 | ResourceManager服務端 |
resourcemanager_api_url | 對應於yarn-site.xml配置項yarn.resourcemanage | |
proxy_api_url | 對應yarn-site.xml配置項yarn.web-proxy.address | |
history_server_api_url | 對應mapred-site.xml配置項mapreduce.jobhistory.we |
zookeeper配置
配置項 | 內容 | 說明 |
---|---|---|
host_ports | master:2181,slave1:2181,slave2:2181 | 多個zookeeper逗號分隔 |
Hbase配置
配置項 | 內容 | 說明 |
---|---|---|
hbase_clusters | (HBase | master:9090) |
對接配置
HDFS
在NameNode的hdfs-site.xml增加如下配置:
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
在NameNode的core-site.xml增加如下配置:
<property>
<name>hadoop.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hue.groups</name>
<value>*</value>
</property>
成功後如下圖所示:
可以對檔案進行刪除,移動,下載,和預覽,非常方便
YARN
不要修改yarn的配置,直接上效果圖:
我們可以檢視每個任務的執行情況
HBase
啟動Thrift Server:
hbase thrift start
我們可以通過hue檢視所有的Hbase表,並且對內容進行查詢,刪除,更新等一系列操作