Hadoop เป็นหนึ่งในเทคโนโลยีการทำ Big Data ที่กำลังเป็นที่นิยมอย่างมากเนื่องจากมีความสามารถในการเก็บข้อมูลนับเป็น PetaByte และนำมาใช้งานในเว็บใหญ่ๆและหน่วยงานต่างๆจำนวนมากอาทิเช่น Yahoo หรือ Facebook  แม้ Hadoop จะเป็น Open Source แต่ก็มีผู้ผลิตหลายรายต่างทำ Distribution ของ Hadoop ออกมาอาทิเช่น IBM, Amazon, Intel, Microsoft, Cloudera และ Hortonworks เป็นต้น โดย Forrester Research ได้เปรียบเทียบ Hadoop Distribution ต่างๆในรูปที่ 1

Screenshot 2015-05-23 08.59.33

รูปที่ 1 การเปรียบ Hadoop Distribution ของ Forrester Research

Hadoop Distribution แบ่งออกเป็น 4  กลุ่ม ดังแสดงในรูปที่ 2

  • Apache Open source: ตัวที่เป็น Open Source Project ของ Apache ที่เราสามารถ Download ได้จากเว็บ hadoop.apache.org
  • Hadoop Software Vendors: กลุ่มนี้คือผู้ผลิตที่ไม่ได้ผูกติดกับ Hardware Vendor โดยสามารถจะติดตั้ง  Hadoop Distribution กับ Server ค่ายใดก็ได้ กลุ่มนี้จะเป็นผู้นำตลาดด้าน Hadoop โดยมีรายหลักสามรายคือ Cloudera, Hortonworks และ MapR
  • Hadoop Distribution ของผู้ผลิต Hardware: ผู้ผลิต Hardware บางรายก็จะทำ Hadoop Distribution ออกมา และมักจะแนะนำให้ผู้ใช้เลือกใช้เครื่อง Server ของตัวเองอาทิเช่น IBM Inforsphere BigInsight, Pivotal HD ของ EMC และ Teradata
  • Hadoop Distribution ของผู้ให้บริการ Cloud: กลุ่มนี้จะเป็น Hadoop ที่รันอยู่บน Cloud เท่านั้นและไม่สามารถติดตั้งบน Server ทั่วไปได้ ตัวอย่างของ Hadoop ในกลุ่มนี้คือ Amazon EMR และ  Microsoft Azure HDInsight

Screenshot 2015-05-23 08.59.41

รูปที่ 2 ประเภทของ Hadoop Distribution

ผมเองเคยทดลองใช้และติดตั้ง Hadoop Cluster สำหรับ Distribution ต่างๆดังนี้ Apache Hadoop, Cloudera, Hortonworks, Amazon EMR, Microsoft Azure และ Google Cloud Platform ซึ่งการติดตั้ง Hadoop Cluster จะมีปัญหาในเรื่องการหา Server ผมจึงเลือกใช้ Virtual Server ที่อยู่บน Cloud ที่เป็น EC2 ของ Amazon Web Services หรือไม่ก็จะเลือกใช้ Hadoop as a Services ที่อยู่บน Cloud ซึ่งง่ายต่อการติดตั้ง สำหรับเอกสารการติดตั้ง Hadoop Distribution ต่างๆที่ผมและทีมงานเคยเขียนไว้หรือจากแหล่งอื่นๆมีดังนี้

จากการทดลองติดตั้งใช้งาน Cluster ต่างๆ ขอเปรียบเทียบดังนี้

  • Apache Hadoop Distribution: มีข้อเด่นคือเป็น Opensource และไม่ต้องห่วงเรื่อง License การใช้งานแต่มีข้อจำกัดคือเราต้องบริหารจัดการ Distribution ต่างๆของ Hadoop เอง ซึ่งบางครั้งอาจจะเจอปัญหาเรื่อง Bug หรือ Conflict ระหว่าง version ตัวอย่างเช่น Flume 1.5 อาจจะต้องปรับบางไฟล์เพื่อให้ทำงานกับ Hadoop 2.7 ได้ นอกจากนี้ขั้นตอนในการติดตั้งต่างๆจะยากกว่า Distribution ต่างๆ
  • Hortonworks สามารถติดตั้งได้โดยง่ายแต่ผู้ใช้ต้องจัดการลง SSH ในแต่ Server เอง ข้อดีอีกอย่างคือมี โปรแกรมบริหาร Cluster ทีเป็น Opensource ที่ชื่อ Ambari ทำให้เพิ่มหรือลด Server  ได้โดยง่าย

Screenshot 2015-05-23 09.13.03

  • Cloudera น่าจะเป็น  Distribution ทีติดตั้งได้ง่ายที่สุดที่ผมได้ทดลองมา ข้อดีอีกอย่างคืมีโปรแกรม  Hue ที่ช่วยทำ Web GUI สำหรับผู้ต้องการใช้งาน Hadoop ส่วนโปรแกรมจัดการ Cluster คือ  Cloudera Manager นั้นอาจผูกติดกับบริษัท Cloudera ไปหน่อย

Screenshot 2015-05-23 09.13.13

  • Hadoop as a Service on Cloud มีข้อดีคือติดตั้งได้โดยอัตโนมัติ เราเพียงแต่บอกขนาดของ Server จำนวนโหนด และซอฟต์แวร์ที่ต้องการจะติดตั้ง จากประสบการณ์ของผมค่อนข้างจะชอบของ  Amazon EMR มากสุด แต่การใช้งาน Hadoop as a Service มีข้อจำกัดตรงต้องใช้ Hadoop และ Ecosystem  ตามที่ผู้ให้บริการ Cloud กำหนดมาเท่านั้น เราไม่สามารถเลือกใช้เองได้

ผมคิดว่าทางที่ดีที่สุดสำหรับผู้ต้องการทดลองทำ Big Data คือทดลองติดตั้ง Hadoop Distribution ใดก็ได้บน Cloud Server แล้วเราจะเข้าใจระบบและการใช้งานได้ดีขึ้น

ธนชาติ นุ่มนนท์

IMC Institute

พฤษภาคม 2558

ใส่ความเห็น