ช่วงสองสัปดาห์ที่ผ่านมา ผมให้ทีมนักศึกษาฝึกงานของ IMC Institute ในโครงการ Big Data School ได้ทดลองติดตั้งและเปรียบเทียบ Hadoop Distribution ต่างๆ ซึ่งผมได้เคยเขียนเรื่อง การติดตั้ง Hadoop Distributions พร้อมทั้งวิธีการติดตั้งไว้แล้ว ในบทความ “Big Data School กับการติดตั้ง Hadoop Distributions” ซึ่งในการเปรียบเทียบDistribution ต่างๆ ผมให้นักศึกษาทดลองติดตั้งสองแบบคือ
- การติดตั้ง Hadoop Cluster 4-5 เครื่องบน Amazon EC2 หรือ Microsoft Azure สำหรับที่จะใช้เป็น Production
- การใช้ Hadoop Sandbox บนเครื่อง Server หรือเครื่อง PC หนึ่งเครื่อง สำหรับที่จะใช้เป็นเครื่องทดลองหรือทำ Development
ซึ่งนักศึกษาก็ได้แบ่งกลุ่มกันทำ Hadoop Distribution 4 ชุดคือ
และผมได้ให้พวกเขาสรุปเปรียบเทียบในประเด็นต่างๆเช่น ราคา, ความยากง่ายในการใช้งาน, ความยากง่ายในการติดตั้ง, Opensource Compatibity, คู่มือเอกสารต่างๆและชุมชน, การสนับสนุนจากผู้ผลิต ซึ่งพอสรุปประเด็นต่างๆได้ดังนี้
- ราคา: ในแง่ราคา Apache Hadoop เป็นฟรีซอฟต์แวร์แต่ก็ไม่มี support ใดๆ ซึ่งถ้าเปรียบเทียบกรณีนี้ Hortonworks จะดีสุดเพราะฟรีเช่นกันยกเว้นต้องการซื้อ support ขณะที่ Cloudera จะหรีเฉพาะ Express Version และ MapR จะฟรีเฉพาะเวอร์ชั่น M3 ซึ่งทั้งสองเวอร์ชั่นไม่ใช่ Full Feature ที่ทั้งสองรายมีให้
- ความง่ายในการติดตั้ง Cluster: เมื่อพิจารณาจากประเด็นนี้ Cloudera จะติดตั้งง่ายสุดโดยผ่าน Cloudera Manager แต่จริงๆแล้วการติดตั้ง Hortonworks ก็ไม่ยากเกินไปถ้าติดตั้งผ่าน Public Cloud หรือ Private Cloud ที่เป็น Openstack โดยใช้ Cloudbreak ส่วน Apache Hadoop ติดตั้งค่อนข้างยากแต่อาจใช้ Ambari ได้
- ความง่ายในการใช้งาน: Cloudera และ MapR จะมีส่วนติดต่อผู้ใช้ที่เป็น Hue ที่ค่อนข้างง่ายต่อการใช้งาน ส่วนของ Hortonworks ใช้ Ambari ที่มี Feature เพียงบางส่วน ส่วนของ Apache Hadoop จะต้องติดตั้ง Hue เองซึ่งค่อนข้างยาก
- Opensource Compatibility: กรณีนี้ Hortonworks จะดีกว่ารายอื่นมากเพราะจะสอดคล้องกับ Apache Hadoop ที่เป็น Opensource ขณะที่ Cloudera จะเป็น Vendor Lockin หลายตัว อาทิเช่น Cloudera Manager หรือ Impala เช่นเดียวกับ MapR ที่ Lockin ตั้งแต่ MapR-FS และ MapR Streaming
- Sandbox: ถ้าต้องการหาตัวทดลองเล่น Cloudera มีจุดเด่นที่มี Docker Image ให้เลยสามารถเล่นกับเครื่องใดก็ได้ ขณะที่ Hortonworks จะเน้นให้เล่นกับ VMware/VirtualBox หรือจะรันผ่าน Microsoft Azure เท่านั้น ส่วน distributation อื่นๆ (MapR, Apache Hadoop) ก็ไม่มี Official Docker Image เช่นกัน
- คู่มือเอกสารต่างๆและ Community: ในแง่นี้ทั้งสามรายที่เป็น Commercial Distribution ต่างก็มีเอกสารพอๆกัน แต่ถ้าพูดถึง Community เราอาจเห็นจำนวนคนที่จะแชร์ข้อมูล Cloudera มากกว่า Hortonworks แต่ทั้งนี้เราสามารถใช้ Community กลุ่มเดียวกับ Pure Apache Hadoop เพราะ Hortonworks จะมีความ Opensource Compatibity ค่อนข้างสูงแต่สองรายใหญ่ต่างก็มีงานประจำปีหลายที่คือ Hadoop Summit ของ Hortonworks และ Hadoop World ของ Cloudera ส่วน MapR จำนวน Community น้อยสุด
- การสนับสนุนจากผู้ผลิต: ถ้ามองในแง่ประเทศไทย การสนับสนุนจากผู้ผลิตของ Cloudera ยังนำรายอื่นๆอยู่มาก ทำให้หน่วยงานในประเทศไทยรายแห่งสนใจใช้ Cloudera
ทั้งนี้เมื่อพิจารณาโดยรวมแล้ว เราสรุปกันว่า ถ้าจะทำ Product ที่มีราคาถูกสุดและสอดคล้องกับ Pure Apache Hadoop มากที่สุดควรเลือกใช้ Hortonworks ทั้งนี้เพราะ Commercial Distribution จะมีค่าใช้จ่ายในแง่ License หรือ Subscribtion แต่ถ้ามีงบประมาณค่อนข้างเยอะก็อาจเลือกใช้ได้ แต่ไม่ควรใช้ Free Version ของสองรายดังกล่าว (Cloudera และ MapR) ทั้งนี้เนื่องจากไม่ใช่ Full Features และบางอย่างขาดความเสถียร
แต่ถ้าต้องการทดลองหรือใช้เพื่อทำ Development โดยผ่าน Hadoop Sandbox ก็จะแนะนำให้ใช้ Cloudera Quickstart ซึ่งผมเองก็ใช้ตัวนี้ในการอบรม ดังตัวอย่างเอกสารอบรมของผมดังนี้ >> Big data processing using Cloudera Quickstart
สุดท้ายผมมี Slide ทีนักฝึกงานของ IMC Institute ได้ทำขึ้นเพื่อเปรียบเทียบ Hadoop Distribution ต่างๆดังนี้
- Hortonworks >> https://docs.google.com/presentation/d/1U6sQSAyQMzFg9Dq9ZLIt_2E_a-6q3kyScMtJV9V2g2g/edit?usp=sharing
- MapR >> https://docs.google.com/presentation/d/10I-YWfSVlhsGbt5NCQbnAy8nws3zFU_wWBZwo4CflnQ/edit?usp=sharing
- Cloudera >> https://docs.google.com/presentation/d/1Wbi6Q1sGWEjUwXzbsewQBqZ3mFAfA51EbtMLluMKB4I/edit?ts=57621459#slide=id.g14f5cc73fc_22_8
- Pure Apache Hadoop
-
Pure Hadoop Original Apache Hadoop Series >> https://docs.google.com/presentation/d/1ujHiqi1ZnKRkaN03k0f9UazJiVpR-LDQt4Pno_Xi-pU/edit#slide=id.g14f6b587f9_1_327Apache hadoop cluster on Docker: >> https://docs.google.com/presentation/d/171diV930LZb4J_GkXfdbhsx4zB5BbVHrFTYZSUMR5Vw/edit?ts=575e207c#slide=id.g14f01e49ed_0_240Original Apache Hadoop 2.7.1 Multi-node Cluster Installation
-
ธนชาติ นุ่มมนท์
IMC Institute
มิถุนายน 2559