1. 程式人生 > >Hue3.9 安裝教程:華麗的Spark,Hadoop UI

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
  1. 將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>
  1. 將hadoop-core修改為hadoop-common(core會報錯找不到)
<artifactId>hadoop-common</artifactId>
  1. 將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>

成功後如下圖所示:
可以對檔案進行刪除,移動,下載,和預覽,非常方便
hue-hdfs效果圖

YARN
不要修改yarn的配置,直接上效果圖:
我們可以檢視每個任務的執行情況
hue-yarn效果圖

HBase
啟動Thrift Server:

hbase thrift start 

我們可以通過hue檢視所有的Hbase表,並且對內容進行查詢,刪除,更新等一系列操作
hue-hbase