1. 程式人生 > >hue快速入門--Hadoop視覺化分析利器

hue快速入門--Hadoop視覺化分析利器

1. 需求引入
在大資料生態圈中有很多的技術,每一個技術的使用和管理都有自己的規範,例如hdfs操作有相關的外掛,mr任務的監控有相關的頁面,hbase的操作也有相對應的頁面,那麼這些零零散散的管理頁面能否統一到一個軟體中進行管理呢?
2. hue的簡介
2.1. hue概述
Hue是一個開源的Apache Hadoop UI系統,由Cloudera Desktop演化而來,最後Cloudera公司將其貢獻給Apache基金會的Hadoop社群,它是基於Python Web框架Django實現的。
 
通過使用Hue我們可以在瀏覽器端的Web控制檯上與Hadoop叢集進行互動來分析處理資料,例如操作HDFS上的資料,執行MapReduce Job,執行Hive的SQL語句,瀏覽HBase資料庫等等。

 
2.2. Hue能幹什麼?
1,訪問HDFS和檔案瀏覽
2,通過web除錯和開發hive以及資料結果展示
3,查詢solr和結果展示,報表生成
4,通過web除錯和開發impala互動式SQL Query
5,spark除錯和開發
6,Pig開發和除錯
7,oozie任務的開發,監控,和工作流協調排程
8,Hbase資料查詢和修改,資料展示
9,Hive的元資料(metastore)查詢
10,MapReduce任務進度檢視,日誌追蹤
11,建立和提交MapReduce,Streaming,Java job任務
12,Sqoop2的開發和除錯
13,Zookeeper的瀏覽和編輯
14,資料庫(MySQL,PostGres,SQlite,Oracle)的查詢和展示
 
2.3. Hue怎麼用或者什麼時候應該用?
 
如果你們公司用的是CDH的hadoop,那麼很幸運,Hue也是出自CDH公司,自家的東西用起來當然很爽。
 
如果你們公司用的是Apache Hadoop或者是HDP的hadoop,那麼也沒事,Hue是開源的,而且支援任何版本的hadoop。
 
關於什麼時候用,這純屬一個錦上添花的功能,你完全可以不用hue,因為各種開源專案都有自己的使用方式和開發介面,hue只不過是統一了各個專案的開發方式在一個接口裡而已,這樣比較方便而已,不用你一會準備使用hive,就開一個hive的cli終端,一會用pig,你就得開一個pig的grunt,或者你又想查Hbase,又得需要開一個Hbase的shell終端。如果你們使用hadoop生態系統的元件很多的情況下,使用hue還是比較方便的,另外一個好處就是hue提供了一個web的介面來開發和除錯任務,不用我們再頻繁登陸Linux來操作了。
 
你可以在任何時候,只要能上網,就可以通過hue來開發和除錯資料,不用再裝Linux的客戶端來遠端登陸操作了,這也是B/S架構的好處。
 
 
3. Hue的安裝
3.1. 安裝依賴
yum -y install ant
yum -y install asciidoc
yum -y install cyrus-sasl-devel
yum -y install cyrus-sasl-gssapi
yum -y install gcc
yum -y install gcc-c++
yum -y install krb5-devel
yum -y install libtidy
yum -y install libxml2-devel
yum -y install libxslt-devel
yum -y install make
yum -y install mvn
yum -y install mysql
yum -y install mysql-devel
yum -y install openldap-devel
yum -y install python-devel
yum -y install sqlite-devel
yum -y install openssl-devel
yum -y install libffi-devel openssl-devel
yum -y install gmp-devel
3.2. 下載
Hue官網:http://gethue.com/
下載地址:http://gethue.com/downloads/releases/4.0.1/hue-4.0.1.tgz

 

 
3.3. 安裝
使用普通使用者hadoop安裝
3.3.1. 上傳壓縮包
通過rz -y上傳壓縮包hue-4.0.1.tgz上傳到linux的任意節點任意目錄
3.3.2. 解壓
通過tar –zxvf hue-4.0.1.tgz將壓縮包解壓到任意目錄
3.3.3. 編譯
進入到hue的目錄,執行make apps命令,進行編譯
3.3.4. 修改desktop\conf\hue.ini的基本配置
配置如下:
[desktop]
secret_key=XLWGyuEUB6NEYhWGl3mbZZdJtamyuybDxnjjth5r
http_host=client
http_port=8888
is_hue_4=true
time_zone=Asia/Shanghai
django_debug_mode=false
http_500_debug_mode=false
server_user=hadoop
server_group=hadoop
default_user=hadoop
default_hdfs_superuser=hadoop
3.3.5. 啟動hue
命令:build/env/bin/supervisor
3.3.6. 訪問hue
http://192.168.56.204:8888

 
4. Hue的使用
4.1. 整合hdfs和yarn
4.1.1. 啟動hdfs的webhdfs
修改hdfs-site.xml開啟webhdfs
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
 
配置core-site.xml:新增操作hue的使用者和租
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
 
配置yarn-site.xml:開啟jobhistory
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master1:19888</value>
</property>
 
4.1.2. 配置hue.ini
[hadoop]
[[hdfs_clusters]]
[[[default]]]
fs_defaultfs=hdfs://master1:8020
logical_name=master1
webhdfs_url=http://master1:50070/webhdfs/v1
security_enabled=false
hadoop_conf_dir=/home/hadoop/hadoop/etc/hadoop
[[yarn_clusters]]
[[[default]]]
resourcemanager_host=master1
resourcemanager_port=8032
submit_to=True
resourcemanager_api_url=http://master1:8088
proxy_api_url=http://master1:8088
history_server_api_url=http://master1:19888
spark_history_server_url=http://master1:18088
4.1.3. 啟動hadoop
start-all.sh
4.1.4. 重新啟動hue
build/env/bin/supervisor
4.1.5. 操作hdfs

 

 

 
4.2. 整合hive
4.2.1. 在hive-site.xml中配置hiveserver2
<property>
<name>hive.server2.thrift.bind.host</name>
<value>master2ha</value>
</property>
<property>
<name>hive.server2.thrift.http.port</name>
<value>10001</value>
</property>
 
4.2.2. 啟動hiveserver2
/home/hadoop/hive/bin/hiveserver2
 
4.2.3. 配置hue.ini
[beeswax]
hive_server_host=master2ha
hive_server_port=10000
hive_conf_dir=/home/hadoop/hive/conf
server_conn_timeout=120
4.2.4. 重啟hue
build/env/bin/supervisor
4.2.5. 使用hive

 

 

 
4.3. 整合關係型資料庫
【注:需要切換回3.0版本使用】
4.3.1. 修改hue.ini
[librdbms]
[[databases]]
[[[sqlite]]]
nice_name=SQLite
name=/home/hadoop/hue-4.0.0/desktop/desktop.db
engine=sqlite
[[[mysql]]]
nice_name="My SQL DB"
engine=mysql
host=localhost
port=3306
user=root
password=root
4.3.2. 重啟hue
build/env/bin/supervisor
4.3.3. 操作資料庫

 

 

 
4.3.4. 在web頁面上將hue切換會3版本使用
4.4. 整合hbase
4.4.1. 啟動hbase的thriftserver
hbase-daemon.sh start thrift
4.4.2. 修改hue.ini
[hbase]
hbase_clusters=(Cluster|master1:9090)
hbase_conf_dir=/home/hadoop/hbase/conf
4.4.3. 重啟hue
build/env/bin/supervisor
4.4.4. 使用hbase

 
4.5. 整合solr
4.5.1. 修改hue.ini
[search]
solr_url=http://client:8080/solr/
security_enabled=false
empty_query=*:*
4.5.2. 重啟hue
build/env/bin/supervisor
4.5.3. 操作solr

 
4.6. 整合spark
4.6.1. 安裝mvn
wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
 
yum -y install apache-maven
4.6.2. 下載livy
https://github.com/cloudera/livy/releases
下載0.2.0版本

 
4.6.3. 編譯livy(時間超長,需要下載很多依賴)
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=1024m -XX:MaxPermSize=2048M"
mvn -Dspark.version=1.6.2 -Dmaven.test.skip package
 
編譯不成功,可以重新編譯:
mvn -Dmaven.test.skip clean package
 
4.6.4. 配置livy
修改livy-env.sh
export SPARK_HOME=/home/hadoop/spark
export HADOOP_CONF_DIR=/home/hadoop/hadoop/etc/hadoop/conf
 
修改spark-blacklist.conf
註釋spark.master
# spark.master
 
修改 livy.conf
//預設使用hiveContext
livy.repl.enableHiveContext = true
//開啟使用者代理
livy.impersonation.enabled = true
//設定session空閒過期時間
livy.server.session.timeout = 1h
 
4.6.5. 啟動livy
nohup livy-0.2.0/bin/livy-server >/dev/null 2>&1 &
通過埠8998訪問
4.6.6. Hue整合spark
修改hue.ini檔案
[spark]
livy_server_host=master1
livy_server_port=8998
livy_server_session_kind=process
security_enabled=false
sql_server_host=master1
sql_server_port=10000
重啟hue
build/env/bin/supervisor
4.6.7. 頁面展示
Scala介面頁面

 

 
Pythonspark

 

 
提交任務
--------------------- 
作者:cz-神運算元 
來源:CSDN 
原文:https://blog.csdn.net/senvil/article/details/78189463 
版權宣告:本文為博主原創文章,轉載請附上博文連結!