ถ้าหากกำลังมองหาเครื่องมือที่ใช้จัดการ Server Cluster (ทำ HA) mesosophere และ marathon ก็เป็น open source ที่น่าสนใจเลยทีเดี๋ยว และสามารถนำไปใช้กับงาน Production ได้ เพราะมีความ stable โดยในตัวอย่างจะใช้ 2 host คือ master และ slave มีรายละเอียดดังนี้

  • hostname: master.example.local
  • IP Address: 192.168.56.130

และ

  • hostname: slave.example.local
  • IP Address: 192.168.56.131

โดยจะตั้งตั้งบน Ubuntu Server 14.04 ทั้ง 2 host ขั้นตอนการติดตั้งมีดังนี้

ที่เครื่อง Master และ Slave ให้ติดตั้ง Mesosphere ผ่าน apt-get

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF

DISTRO=$(lsb_release -is | tr '[:upper:]' '[:lower:]')

CODENAME=$(lsb_release -cs)

echo "deb http://repos.mesosphere.io/${DISTRO} ${CODENAME} main" | sudo tee /etc/apt/sources.list.d/mesosphere.list

apt-get update

สำหรับ host master

sudo apt-get install mesosphere

สำหรับ host slave

sudo apt-get install mesos

ต่อไปทำการ Set up Zookeeper รายละเอียดการเชื่อมต่อกับ Mesos

sudo vim /etc/mesos/zk

แก้ไขดังนี้

zk://192.168.56.130:2181/mesos

ทำการตั้งค่า Zookeeper บน host master

sudo vim /etc/zookeeper/conf/myid

ใส่เป็น 1

1

sudo vim /etc/zookeeper/conf/zoo.cfg

ใส่ค่าดังนี้

server.1=192.168.56.130:2888:3888

ต่อไปตั้งค่า quorum สำหรับ host master จะตั้งค่าตามจำนวนเครื่อง master ที่มีเพื่อให้ host master อื่นมีอำนาจในการจัดการระบบ cluster แทน host master ตัวเดิมหาก host master ตัวเดิมไม่สามารถ connect ได้ (ในตัวอย่างจะกำหนดค่าเป็น 1)

sudo vim /etc/mesos-master/quorum

1

ตั้งค่า IP Address และ hostname บน host master

echo 192.168.56.130 | sudo tee /etc/mesos-master/ip

sudo cp /etc/mesos-master/ip /etc/mesos-master/hostname

ตั้งค่า config ของ marathon บน host master

sudo mkdir -p /etc/marathon/conf

sudo cp /etc/mesos-master/hostname /etc/marathon/conf

sudo cp /etc/mesos/zk /etc/marathon/conf/master

sudo cp /etc/marathon/conf/master /etc/marathon/conf/zk

sudo vim /etc/marathon/conf/zk

zk://192.168.56.130:2181/marathon

ทำการสร้าง init script

sudo stop mesos-slave

echo manual | sudo tee /etc/init/mesos-slave.override

sudo restart zookeeper

sudo start mesos-master

sudo start marathon

ทำการตั้งค่าที่ host slave

sudo stop zookeeper

echo manual | sudo tee /etc/init/zookeeper.override

echo manual | sudo tee /etc/init/mesos-master.override

sudo stop mesos-master

echo 192.168.56.131 | sudo tee /etc/mesos-slave/ip

sudo cp /etc/mesos-slave/ip /etc/mesos-slave/hostname

sudo start mesos-slave

เปิด web browser เพื่อเข้าหน้า web ui marathon โดยเข้าไป ip address หรือ hostname ของ host master ที่ http://192.168.56.130:5050 เมื่อเข้ามาแล้วจะเห็นว่าในส่วนของ Slave จะมี Activate อยู่ 1 host

แล้วเข้าไปดูที่แท็ป slave จะเห็นรายละเอียดของ host slave

ต่อไปให้ลองสร้าง App เพื่อทดสอบโดยเข้าไปที่ URL http://192.168.56.130:8080 จะเข้ามาในส่วนของการ manage app ให้คลิ๊กที่ Create เพื่อสร้าง App ใหม่ แล้วใส่รายละเอียดดังนี้

และเมื่อกลับมาดูที่ URL http://192.168.56.130:5050 จะบอกรายละเอียดของ process ของ app ทั้งหมดใน cluster

เป็น app opensource manage cluster อีกตัวที่น่าใช้ครับ เพราะใช้งานง่ายมาก มีขั้นตอนติดตั้งไม่ซับซ้อน

Comments are closed.