ก่อนที่จะทำความรู้จักกับ Riak ที่เขาบอกว่ามันคือ Distributed Key-value database นั้น
เรามาทำการติดตั้งเพื่อใช้งานมันดีกว่า
ซึ่งจะติดตั้งแบบง่ายๆ คงไม่ดีแน่
ดังนั้น เรามาทำการติดตั้งแบบ Cluster ผ่าน Docker กันดีกว่า
เป้าหมาย คือ ต้องการสร้าง Riak Cluster ขึ้นมา ประกอบไปด้วย 5 node
มาเริ่มกันเลยดีกว่า

สิ่งที่ต้องการสร้างจะเป็นดังรูป

Screen Shot 2557-09-09 at 4.29.52 PM

ขั้นตอนการติดตั้งเป็นดังนี้

Software ที่ต้องติดตั้งก่อน ประกอบไปด้วย

  • Docker
  • VirtualBox
  • Git

1. เริ่มต้นด้วยการติดตั้ง Docker

สามารถดูได้จาก blog ที่ผมเขียนเกี่ยวกับ Docker ที่นี่ 

กำหนด IP ของ Docker host

$export DOCKER_HOST=”tcp://127.0.0.1:4243″

2. ทำการสร้าง Image ของ Riak

โดย image นั้นสามารถใช้จาก  Docker Riak repository ได้เลย
แล้วนำมา build ได้ดังนี้

เมื่อทำการติดตั้งเสร็จเรียบร้อย
ตรวจสอบผ่าน docker images ได้ดังนี้

3. ทำการสั่งให้ Cluster ของ Riak ทำงาน

เมื่อทำการสร้าง Riak บน Docker เรียบร้อยแล้ว
ต่อไปเราจะต้องทำการสร้าง container ทำงานของ Riak
โดย Riak นั้นมันคือ  distributed database
ถ้าสร้าง Riak container เพียง 1 ตัวมันก็ใช่ที่
ดังนั้นเราจะทำการสร้าง Riak container ขึ้นมาจำนวน 5 container

สามารถสร้างด้วยคำสั่งดังนี้

ในตอนนี้เราได้ Riak container มา 5 container แล้ว
และทั้ง 5 container นั้นเชื่อมต่อกันในรูปแบบของ Cluster แล้วด้วย .. ง่ายมากๆ

4. ทำการทดสอบ Riak cluster

เราสามารถทดสอบใช้งาน Riak ผ่าน HTTP และ Protocol Buffer
ซึ่งเราจะเลือกใช้งานผ่าน HTTP ก็แล้วกัน

เริ่มที่การดูค่าสถิติ และ monitoring ก่อนเลย
จะมี end point ผ่าน /stats ได้เลย
หรือใช้งานผ่านคำสั่งดังนี้ เพื่อดูว่าใน cluster มีอะไรบ้าง

5. มาดูกันว่าแต่ Container ของ Riak มันติดต่อเข้าไปอย่างไร

คำอธิบาย

  • bucket ชื่อว่า test
  • ตัวอย่างเช่น riak05 นั้นจะทำการจับคู่ HTTP port 8098 เข้ากับ 49162 ส่วน port 8097 คือ Protocol Buffer
  • ตัวอย่างเช่น riak02 นั้นจะทำการจับคู่ HTTP port 8098 เข้ากับ 49158

6. เพิ่มข้อมูลเข้าไปยัง Riak ชื่อว่า riak05 กัน

โดยจะเพิ่มข้อมูไปยัง bucket ชื่อว่า test
ข้อมูลที่ต้องการอยู่ในรูปแบบ key-value คือ

  • key = somkiat
  • value =  สวัสดี Riak

ดังนี้

7. ทำการดึงข้อมูลมาจาก Riak ชื่อว่า riak02

เพื่อทำการทดสอบว่า Cluster ทำงานได้ถูกต้อง
นั่นคือข้อมูลในแต่ละ node ของ Riak cluster ต้องมีข้อมูลเหมือนกัน ดังนี้

เพียงเท่านี้เราก็สามารถติดตั้ง Riak ในรูปแบบของ Cluster ได้แบบง่ายๆ
ด้วยความช่วยเหลือจาก Docker

ต่อไปเราจะมาทำความรู้จักกันว่า Riak นั้นมันคืออะไรกันแน่ มีดีอะไรบ้าง

Reference Websites
Quick Start with Docker