ป้ายกำกับ

วันอังคารที่ 17 มิถุนายน พ.ศ. 2557

HBase 0.96.2 Debian Package

เมื่อสองวันก่อนผมได้เขียนแนะนำการใช้งาน Hadoop Debian Package ที่ผมได้นำมาจัดการแก้ไขข้อผิดพลาดและทำ package ขึ้นมาใหม่ไว้แล้ว เพราะต้องการเผยแพร่ให้กับนักศึกษาของผม วันนี้ผมก็ได้ทำ Debian Package ของ HBase ขึ้นมาอีกไฟล์หนึ่ง เนื่องจาก HBase นั้นไม่มี Debian Package ให้ การจัดสภาพแวดล้อมและการตั้งค่าต่างๆ ยังไม่ค่อยจะสอดคล้องกับระบบของ Debian/Ubuntu มากนัก ผมจึงจำเป็นต้องแก้ไข ก็เลยจัดทำเป็น Debian Package ซะเลย จึงต้องการเผยแพร่และเขียนบันทึกแนะนำการใช้งานไว้ ณ. ที่นี้

Download

ไฟล์ที่ได้จัดทำขึ้นนี้เป็น HBase รุ่น 0.96.2 สามารถดาวโหลดได้ที่ Google Drive (md5sum) ซึ่งเป็นรุ่นที่ทำไว้สำหรับใช้งานร่วมกับ Hadoop 1.x สามารถดาวโหลดได้ที่ Google Drive (md5sum) เช่นกัน

Installation

เมื่อดาวโหลดมาแล้ว จะต้องติดตั้ง Hadoop 1.x ให้เรียบร้อยเสียก่อนนะครับ ซึ่งสามารถอ่านรายละเอียดวิธีการติดตั้งได้จากบทความเก่าที่เขียนไว้ จากนั้น สำหรับผู้ที่ใช้ GUI จะสามารถ Double-Click ที่ไฟล์และทำการติดตั้งได้เหมือนโปรแกรมอื่นๆตามปกติ แต่สำหรับผู้ที่ใช้ command-line interface สามารถติดตั้งได้ด้วยคำสั่ง
sudo dpkg -i hbase_0.96.2-hadoop1-SNORM_all.deb
โปรแกรมติดตั้งจะทำการสร้างกุญแจรหัสสำหรับใช้ในการเชื่อมต่อระหว่าง HBase กับ Hadoop โดยกุญแจรหัสนี้ จะสร้างไว้ในนามของ user hdfs จากนั้น จะทำการสร้างโฟลเดอร์ /hbase และโครงสร้างต่างๆสำหรับเก็บข้อมูลบนระบบไฟล์ HDFS ของ Hadoop แล้วจึงตั้งค่าให้บริการต่างๆทำงานอัตโนมัติ ไฟล์และโฟลเดอร์ที่ติดตั้งลงในเครื่องมีดังนี้
  1. /etc/hbase เป็นโฟลเดอร์ที่เก็บ configuration ไฟล์ต่างๆ เช่น hbase-env.sh ซึ่งเป็นไฟล์สำหรับตั้งค่าสภาพแวดล้อมสำคัญๆที่จำเป็น เช่น JAVA_HOME และ HBASE_CONF_DIR เป็นต้น และไฟล์ hbase-site.xml เป็นต้น
  2. /usr/bin และ /usr/sbin เก็บไฟล์โปรแกรม hbase, start-hbase.sh และ stop-hbase.sh
  3. /usr/share/doc/hbase เป็นโฟลเดอร์ที่เก็บเอกสาร คู่มือของ HBase
  4. /usr/share/hbase เป็นโฟลเดอร์ที่เก็บโปรแกรม HBase
  5. /var/log/hadoop/hbase เป็นโฟลเดอร์ที่เก็บ log ไฟล์ของ hbase ใช้ตรวจสอบการทำงานต่างๆหากมีปัญหา
เมื่อเสร็จสิ้นการติดตั้งแล้ว บริการต่างๆจะถูกสั่งให้ start ไว้แล้ว เราก็สามารถตรวจสอบระบบได้ว่ามีบริการต่างๆทำงานอยู่หรือไม่ ซึ่งทำได้ด้วยคำสั่ง
sudo jps
ซึ่งเป็นคำสั่งตรวจสอบ process ของโปรแกรมภาษา Java ทำงานคล้ายกับคำสั่ง ps ของ Unix นะครับ โดยผลลัพธ์จะต้องปรากฏชื่อบริการที่รันอยู่ทั้งหมด 3 บริการคือ
  1. hbase-zookeeper ชื่อที่แสดงคือ HQuorumPeer
  2. hbase-master ชื่อที่แสดงคือ HMaster เปิดเว็บดูได้ที่เว็บ http://localhost:60010
  3. hbase-regionserver ชื่อที่แสดงคือ HRegionServer เปิดเว็บดูได้ที่เว็บ http://localhost:60030
หากมีบริการครบถ้วน แสดงว่าการติดตั้งสำเร็จ แต่หากไม่ครบถ้วน สามารถตรวจสอบข้อผิดพลาดได้ที่ log ไฟล์นะครับ

Start/Stop Service

หากมีปัญหา ต้องการหยุดบริการเพื่อแก้ไขปัญหา และสั่งให้ทำงานใหม่ สามารถสั่งได้ด้วยคำสั่งดังนี้
  • สำหรับ start บริการทั้งหมดคือ zookeeper master และ regionserver ตามลำดับ
sudo start-hbase
  •  สำหรับ stop บริการทั้งหมด
sudo stop-hbase
แต่หากต้องการ start/stop บริการทีละตัวก็สามารถทำได้ด้วยคำสั่ง
  • สำหรับ start บริการทีละตัว
sudo service ชื่อบริการ start
  • สำหรับ stop บริการทีละตัว
sudo service ชื่อบริการ stop
สำหรับชื่อบริการของ HBase นั้น ใช้ชื่อจากหัวข้อที่แล้วนะครับ และบริการเหล่านี้ควรจะ start ตามลำดับที่เรียงไว้ 1-3 และเวลา stop ก็ควรย้อนลำดับกลับ 3-1

Usage

การใช้งานหลักๆคือคำสั่ง hbase หากสั่งโดยไม่ใส่ค่าใดๆจะแสดงข้อความแนะนำการใช้งานดังนี้
Usage: hbase [<options>] <command> [<args>]
Options:
  --config DIR    Configuration direction to use. Default: ./conf
  --hosts HOSTS   Override the list in 'regionservers' file
Commands:
Some commands take arguments. Pass no args or -h for usage.
  shell           Run the HBase shell
  hbck            Run the hbase 'fsck' tool
  hlog            Write-ahead-log analyzer
  hfile           Store file analyzer
  zkcli           Run the ZooKeeper shell
  upgrade         Upgrade hbase
  master          Run an HBase HMaster node
  regionserver    Run an HBase HRegionServer node
  zookeeper       Run a Zookeeper server
  rest            Run an HBase REST server
  thrift          Run the HBase Thrift server
  thrift2         Run the HBase Thrift2 server
  clean           Run the HBase clean up script
  classpath       Dump hbase CLASSPATH
  mapredcp        Dump CLASSPATH entries required by mapreduce
  version         Print the version
  CLASSNAME       Run the class named CLASSNAME
คำสั่งที่ใช้ประจำคือคำสั่ง hbase shell เพื่อเข้าไปจัดการฐานข้อมูล รายละเอียดการใช้งานอื่นๆสามารถศึกษาเพิ่มเติมได้จาก document ที่ /usr/share/doc/hbase/docs นะครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น