Replication and Sharding in MongoDB pt2

 

بخش دوم این مطلب به تنظیمات مربوط به سرورهای دیتا می‌پردازیم.

 

مسیر زیر را بر روی تمامی سرورهای shard ایجاد می‌کنیم:

mkdir /data/db

دستور مقابل را اجرا کرده تا پیام زیر نمایش داده شود:

mongod –shardsvr

waiting for connection on port 27018

 

در این مرحله باید سرورهای shard را به کلاستر اضافه کنیم. بر روی سرور مستر یک ترمینال جدید باز کرده و دستور mongo را اجرا می‌کنیم تا وارد خط فرمان دیتابیس شویم.

سپس دستورات زیر را جهت افزودن shard اجرا می کنیم تا پیام اضافه شدن نمایش داده شود:

sh.addShard(“repSet01:27018”)

sh.addShard(“repSet01:27018”)

sh.addShard(“repSet01:27018”)

“shardAdded” ….

با اجرای این دستور از وضعیت و اضافه شدن سرورهای دیتا به کلاستر اطمینان پیدا می‌کنیم:

sh.status()

حالا می توانیم sharding را بر روی یک دیتابیس تستی ساده فعال کنیم:

db.runCommand({enablesharding:”tesstdb”});

sh.shardCollection(“testdb.testdata”,{“name”:1})

 

با انجام این دستورات به صورت صحیح تنظیمات مربوط به راه‌اندازی یک کلاستر توزیع شده mongo به پایان می‌رسد. در بخش بعدی به نحوه کارکرد و ذخیره دیتا بر روی دیتابیس می‌پردازیم.

 

Replication and Sharding in MongoDB pt1

 

شاردینگ یک روش برای توزیع داده‌ها بر روی نودهای مختلف توسط دیتابیس Mongo است. در این مطلب به یک پیاده سازی ساده با سه سرور و یک replica set می پردازیم.

نمای کلی از یک Sharding را در شکل زیر میتوانید ببینید.

 

 

در این حالت ما سه سرور دیتا با نامهای repSet01 , repSet02 , repSet03 و یک مجموعه کانفیگ سرور با نامهای confSrv01 , confSrv02 , confSrv03 و یک Routing Server نصب می‌کنیم.

بر روی تمامی سرورها MongoDB را نصب می‌کنیم:

 

echo “deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main” | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list

sudo apt-get update

sudo apt-get install -y mongodb-org

 

بر روی کانفیگ سرورها این مسیر را ایجاد می‌کنیم:

mkdir /data/configdb

و این دستور را اجرا

mongod –configsvr

تا خروجی زیر بر روی هر سه سرور نمایش داده شود:

websvr admin web console waiting for connections on port 28019

 

حالا بر روی سرور مستر یا Routing Server لاگین کرده و دستور زیر را اجرا می کنیم: (توجه داشته باشید که من قبلا تنظیمات فایل /etc/hosts را بر روی تمامی سرورها انجام داده ام)

 

mongos –configdb repSet01:27019,repSet02:27019,repSet03:27019 –port 27020

 

تا خروجی زیر بر روی سرور مستر و کانفیگ سرورها نمایش داده شود:

config servers and shards connected successfully

connection accepted from nasterSrv01

 

در بخش اول کار ما با سرورهای Configتمام شد. در بخش دوم به نصب و تنظیمات سرورهای Replica Set می پردازیم.