2013年9月30日 星期一

Hadoop in Taiwan 2013 會後心得

時間 2013/9/28 (六) 09:00 ~ 17:00
地點 台北市南港區研究院路二段128號
中央研究院人文社會科學館 4F國際會議廳
研討會網址 http://www.hadoopintaiwan.com/

觀察與發現

  • 本次研討會主題以「即時、安全、易用」為主軸,整體而言涵蓋Hadoop Ecosystem的最新發展現況。
  • 在「即時」的部分,Intel Andrew Purtell提供許多新興技術(Storm、Shark、Impala、Kafka)與Hadoop整合的Architecture Pattern,非常值得對Big Data Platform架構有興趣的同仁學習與驗證。另外有兩場議程討論Cloudera Impala的使用,觀察現階段Real-time Query(RTQ)解決方案應該仍是以Impala為主。不過個人認為Impala仍是Cloudera主導的專案,社群(尤其是Apache)的參與度不高,仍需要觀察後續發展是否能夠維持目前的動能。
  • 在「未來」的部分,Intel Jason Dai則介紹UC Berkeley AMPLab的BDAS架構與組成元件。根據會後與講者交流得知,Intel似乎將BDAS視為下一代的Hadoop,投入80%人力與AMPLab合作研發,並在中國與阿里巴巴進行POC驗證,目前已進入準上線狀態。綜合09/12在Yahoo!TW Tech研討會的資訊,似乎BDAS相關元件已成為Next Gen Big Data Platform的重要核心技術
  • 在「安全」的部分,趨勢Jason Yueh與騰雲徐啟超兩位講者均提到目前社群已經開始進行Data Encrytion的研究與開發,不過實際仍面臨許多待克服的難題,包含:如何在資料加密與系統效能之間取得平衡、如何提供一致化的資料加密框架讓Hadoop Ecosystem能夠無縫接合。綜合兩位講者的觀察HBase應該是目前最有可能實施Data Encryption的專案。
  • 在「易用」的部分,Revolution Xiaohui Liu介紹ScaleR套件與ClouodR兩項產品。ScaleR能夠讓相同的程式代碼(R language)運作在不同的環境(本機、HPC、Hadoop MR),並提供豐富的函式庫來降低應用開發者的負擔。CloudR則是結合AWS提供on-demand analytics的SaaS環境,使用者只需要幾個簡單的步驟就可以在Web Based R IDE環境RStudio進行開發與驗證。根據講者demo畫面該服務未來支援的Hadoop版本包含IDH、CDH、Hortonwork,並沒有侷限在單一版本或廠商。

講座心得

主題 :Architectural patterns for building real time applications with Apache HBase
講者:Andrew Purtell (Apache HBase計畫提交人at Intel)
摘要:

  • 對於「即時」的要求而言,可以區分為How fast to refresh/process the data與How fast to answer the questions to the user。
  • 目前已有許多Hadoop Integration Pattern分別適用在不同的情境與需求。在這些情境中HBase都能夠扮演Persistence service provider的角色
  • 在9/18 Apache Fundation已經正式接納Storm為Incubator project

主題 :Big Data Security
講者:Jason Yueh (Distinguished Technologist at Trend Micro)
摘要: 

  • Big Data Security已從Authentication、Authorization、Gateway發展至Data Encryption。
  • 避免機密資料外洩的最佳作法就是「不要儲存機密資料」。考慮RDBMS已經相對發展成熟,建議將機密資料儲存在RDBMS而Hadoop僅保存非機密資料。實務上Trend Micro的機密資料(客戶個資)約百萬筆,而Log資料為每天幾百GB,因此該作法是可行的。
  • Audit Log對資安而言是非常重要的線索,不過需要搭配良好的工具進行整理與分析,Trend Micro目前是採用Splunk的解決方案。
  • 在Hadoop叢集外加入Gateway限制存取可以提高系統整體的安全性,目前社群也提出數個方案進行這方面的研究與開發。

主題:The Spark Stack: Lightning-Fast Analytics over Hadoop Data
講者:Jason Dai (Engineering Director & Principal Engineer, Intel Software and Services Group)
摘要: 

  • Big Data Analytic Stack是由UC Berkeley AMPLab提出的巨量資料平台架構,範圍涵蓋:資源管理(Mesos)、In-Memory 檔案系統(Tachyon)、In-Memory分散式運算框架(Spark)、RTQ SQL引擎(Shark)、串流處理框架(Spark Streaming)、圖學運算框架(GraphX)、便於開發與使用的Machine Learning框架(MBbase)。
  • 根據講者說明,BDAS能夠協助開發者基於相同的運算框架(Spark)進行資料處理、機器學習、圖學關聯分析、以及即時查詢等應用開發,而無須採用多種不同框架(Hadoop、Storm、Neo4J)與程式語言(Java、Python、Clojure、Scala)
  • Intel與AMPLab進行密切合作,除提升系統的穩定性外並將BDAS推廣至中國的網站用戶(阿里巴巴)進行POC驗證,獲得不錯的成果
備註: 講者同時也參與 Project Panthera: An Analytical SQL Engine for MapReduce on Hive 的開發,詢問結果目前並沒有將Panthera移植到Shark/Spark框架的規劃

主題:基於 R 加Hadoop的高性能預測分析
講者:Liu Xiaohui (Revolution Analytics; Senior Developer)
摘要: 

  • 講者提出一個實際案例,說明用戶首先使用R進行資料建模與評估,然後再將R語言程式改用Hive實作執行在Hadoop叢集,不但增加開發者的負擔,也延長整體專案的時程
  • Revolution提供的ScaleR套件能夠讓用戶在不同的環境(本機、HPC、Hadoop MR)執行相同的程式碼,並提供豐富的函式庫以降低應用開發者的負擔。目前支援的函式庫種類包含:Descriptive Statistics、Statistical Tests、Sampling、Predictive Models、Data Visualization、Simulation、Cluster Analysis、Classification等
  • CloudR則是結合AWS EC2與Hadoop(IDH、Hortonwork、CDH)提供on-demand analytics的SaaS環境,使用者只需要幾個簡單的步驟就可以在Web-based R IDE環境RStudio進行開發與驗證。此外也提供Web-based的SSH與IDH Manager管控畫面

主題:Savanna - Hadoop跟OpenStack的第一次接觸
講者:macJack
摘要:

  • Savanna是今年4月由Hortonwork、Red Hat、Mirantis提出,希望在OpenStack環境提供Hadoop自動供裝與管理的專案
  • 主要功能包含
    • designed as an OpenStack component
    • managed through REST API with UI available as part of OpenStack Dashboard
    • support for different Hadoop distributions
  • 系統架構主要包含幾個重要元件,包含:
    • Cluster Configuration Manager
      all the business logic resides here
    • Auth component
      responsible for client authentication & authorization
    • DAL
      Data Access Layer, persists internal models in DB
    • VM Provisioning
      component responsible for communication with Nova and Glance
    • Deployment Engine
      pluggable mechanism responsible for deploying Hadoop on provisioned VMs; existing management solutions like Apache Ambari and Cloudera Management Console could be utilized for that matter
    • REST API
      exposes Savanna functionality via REST
    • Python Savanna Client
      similar to other OpenStack components Savanna has its own python client
    • Savanna pages
      GUI for the Savanna is located on Horizon
  • 在9/25釋出最新版本0.2.2,已完成功能包含
    • Basic cluster provisioning of Apache Hadoop
    • Cluster operation support and integration with tooling, advanced configuration (HDFS, Swift, etc.)
    • 0.2.2可透過Hortonwork提供的plug-in供裝HDP版本

主題:HBase Operation
講者:劉一正
摘要:

  • 講者分享HBase維運常遇見的問題,包含:
  • Region Hotspot
  • Data can’t be inserted
  • Incorrect property setting
  • Backup impacks performance
  • Inconsistent
  • Major compaction
  • -ROOT- .META. corrupt
  • 根據經驗來看,每台Region Server的Region數目是影響效能的最重要因素,Region數目越高將造成主機更忙碌
  • 如果將MapReduce與HBase安裝在相同叢集時,需要特別注意兩者之間是否會產生資源競爭問題
  • 了解整體系統運作架構將有助於釐清問題與提出解決方案 (以下是自己歸納的HBase R/W架構)

主題:Real-time Big Data Analytics Engine using Impala
講者:Jason Shih / Etu
摘要:

  • Impala 1.2新增功能包含
    • cost-based join order optimization
    • support existing Hive UDFs(Java) without recompile
    • add Impala(C++) UDFs and UDAs
    • 支援更多JDBC/ODBC connector,包含:MicroStrategy、Qlikview、Tableau
  • 2.0預計新增功能
    • SQL 2003-compliant analytic window functions (aggregation OVER PARTITION)
    • Additional authentication mechanisms – including the ability to specify username/passwords in addition to the already supported Kerberos authentication
    • Enhanced, production-ready, YARN-integrated resource manager
    • ORDER BY without LIMIT clauses
  • 講者建議不要在Impala使用Insert語法,應該直接將資料存入HDFS/HBase後再從Impala進行查詢

主題:Hadoop Security: Now and future
講者:徐啟超 / TCloud Computing
摘要:


  • Hortonwork的Ambari 1.2.5已經提供Security Wizard,能夠大幅簡化安全相關設定與管理的負擔
  • 目前提升Hadoop安全的主流作法為:叢集內啟動Kerberos、經由Gateway (Apache Knox) 提供對外服務
  • 社群已開始進行資料加密相關patch的研究與開發,包含
    • [HADOOP-9331] Hadoop crypto codec framework and crypto codec implementations
    • [MAPREDUCE-5025] Key Distribution and Management for supporting crypto codec in Map Reduce
    • [HBASE-7544] Transparent table/CF encryption
    • [HIVE-5207] Support data encryption for Hive tables
    • [PIG-3289] Encryption aware load and store functions
  • 由於各專案採取實作的方式有差,因此開發進度上並不一致;HBase-7544直接採用Java內建的安全性框架,而不是基於Hadoop Common專案所提供的安全框架(仍在開發key management、encryption codec management等相關功能),因此將是最有可能提供資料加密功能的Hadoop Ecosystem套件
  • InfoQ的文章 Big Data Security: The Evolution of Hadoop’s Security Model 也有關於這部分的介紹
備註: Intel Rhino Project 應該算是很完整地規劃與實作Hadoop Ecosystem的整體安全性,不過預期應該只有IDH會整合這部分的成果..唉