1. 程式人生 > >CDH安裝Oozie/Hue,以及其基本使用

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';
  • 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中檢視更方便

參考