CDH安裝Oozie/Hue,以及其基本使用
安裝Oozie:
1.登入資料庫後:
- create database oozie default character set utf8;
- grant all privileges on oozie.* to ‘oozie’@’localhost’ identified by ‘oozie’;
- grant all privileges on oozie.* to ‘oozie’@’%’ identified by ‘oozie’;
- flush privileges;
2.Add the MySQL JDBC Driver JAR to Oozie:
cp /usr/mysql-connector-java-5.1.45-bin.jar /opt/cloudera/parcels/CDH/lib/oozie/lib/
3.Oozie WebUI
http://ip10:11000/oozie/
首次使用報錯:
Oozie web console is disabled.
To enable Oozie web console install the Ext JS library.
Refer to Oozie Quick Start documentation for details.
【Oozie Web控制檯已禁用。 要啟用Oozie Web控制檯,請安裝Ext JS庫。 有關詳細資訊,請參閱Oozie快速入門文件。】
- 下載ExtJS庫(必須是2.2版本)
- 拷貝到 /opt/cloudera/parcels/CDH/lib/oozie/libext/
- unzip解壓:unzip ext-2.2.zip
- chown -R oozie:oozie ext-2.2
- 成功
關於Oozie
Oozie是管理Apache Hadoop作業的工作流排程程式系統。
Oozie是一個執行在Java servlet容器中的Java Web應用程式。這些操作構成一個有向無環圖。
工作流操作通過遠端系統啟動任務。當任務完成後,遠端系統會進行回撥來通知任務已經結束,然後再開始下一個操作。
Oozie4.1Web API
[4]
設想一下,當你的系統引入了spark或者hadoop以後,基於Spark和Hadoop已經做了一些任務,比如一連串的Map Reduce任務,但是他們之間彼此右前後依賴的順序,因此你必須要等一個任務執行成功後,再手動執行第二個任務。是不是很煩! 這個時候Oozie就派上用場了,它可以把多個任務組成一個工作流,自動完成任務的呼叫。
Oozie圍繞兩個核心:工作流(控制流節點)和協調器(動作節點),前者定義任務的拓撲和執行邏輯,後者負責工作流的依賴和觸發。[2]
安裝Hue
- 仔細閱讀上文的注意事項,我這裡只需在/etc/my.cnf下新增bind-address=0.0.0.0
- 重啟資料庫
- 為Hue建立資料庫
- create database hue default character set utf8 default collate utf8_general_ci;
- grant all on hue.* to ‘hue’@’%’ identified by ‘huepassword’;
- select * from information_schema.schemata;
- 新增服務Hue,連線資料庫
- 首次登入需建立超級使用者
- 因為之前沒有其他資料,所以我這不需要資料遷移,否則
- 介面
關於Hue
- Hue是一個用於操作和開發Apache Hadoop應用程式的圖形使用者介面。Hue應用程式被收集到桌面風格的環境中,並作為Web應用程式交付。
- 通過使用Hue我們可以在Web控制檯上與Hadoop叢集進行互動分析/處理資料,例如操作HDFS上的資料,執行MapReduce Job,執行Hive的SQL語句,瀏覽HBase資料庫等等。
- 核心功能
- SQL編輯器,支援Hive, Impala, MySQL, Oracle, PostgreSQL等資料視覺化
- Spark、Hadoop、Sqoop的友好介面支援
- 支援排程系統Apache Oozie,可進行workflow的編輯、檢視,任務排程[1]
Hue的入門級使用
- 配置hue.ini【先備份】,由於初次配置,我僅修改了yarn與Hive的配置
hue.ini中有大量的安全許可權類配置- 需要用Hue進行操作的,應該都需要在hue.ini中進行配置
1.Hue使用入門——Hue中使用Hive
- 先在Hive建立個簡單的資料庫:
- belline進入Hive0.11之後推薦的互動式命令列【連線上HiveServer2前的命令在最前面都需要加上”!”】
- !connect jdbc:hive2://ipaddress:10000連線開啟HiveServer2服務的機器【之後的操作和之前的Hive CLI就幾乎一樣了】
- 準備資料
sudo -uhdfs hdfs dfs -mkdir /tmp_data_2018511
sudo -uhdfs hdfs dfs -put /tmp/tmp2018511/emp.txt /tmp_data_2018511 - 建立外部資料表:
create EXTERNAL table IF NOT EXISTS tmp2018511.employee(
empno int,
ename string,
job string,
mgr int,
hiredate string,
sal double,
comm double,
deptno int
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
location '/tmp_data_2018511';
- belline進入Hive0.11之後推薦的互動式命令列【連線上HiveServer2前的命令在最前面都需要加上”!”】
- sudo -uhdfs hdfs dfs -chown hive:hive /tmp_data_2018511
Hue中可以直接檢視hdfs部分資料
- “裝載”資料:
load data inpath '/tmp_data_2018511/emp.txt' overwrite into table employee;
【因為是hdfs資料,所以沒有local欄位】
Hue中可以執行SQL查詢,以及一些基本的查詢結果視覺化,還可以匯出查詢結果。
CDH服務字母
HBASE部分
M —Master
HBTS –HBase Thrift Server
G –Gateway
HBRS –HBase REST Server
RS –RegionServer
HDFS部分
B –HDFS Balancer
FC –Failover Controller
SNN –SecondaryNameNode
NFSC –NFS Gateway
HFS –HttpFS
NFSG –HDFS NFS Gateway
NN –Namenode
G –Gateway
JN –JournalNode
DN –DateNode
Hive部分
HMS –Hive Metastore Server
WHC –WebHCat Server
HS2 –HiveServer2
G –Hive Gateway
Hue部分
HS –Hue Server
KTR kerberos Ticket Renewer
Oozie部分
OS –Oozie Server
YARN部分
G –Gateway
NM –NodeManager
Zookeeper
S –Server
Spark部分,以上總結意義不大,web中檢視更方便