লিনাক্সের জন্য ওয়াইএএমএল কনফিগারেশনের কয়েকটি উদাহরণ এখানে রয়েছে (উইন্ডোজ পাথ এবং বিকল্পগুলি কিছুটা আলাদা) মূলত স্পষ্টভাবে কিছু ডিফল্ট এবং সাধারণত ব্যবহৃত সেটিংস সেট করে।
প্রথমত, mongod
ডিফল্ট পোর্ট, পথ, জার্নাল সেটিংস সহ একক স্টোনএলোন - এটি স্থানীয় পরীক্ষার জন্য ব্যবহৃত কনফিগারেশনের ধরণ, কয়েকটি অতিরিক্ত সহ সাধারণ স্টাইলটি দেখান:
storage:
dbPath: "/data/db"
directoryPerDB: true
journal:
enabled: true
systemLog:
destination: file
path: "/data/db/mongodb.log"
logAppend: true
timeStampFormat: iso8601-utc
processManagement:
fork: true
net:
bindIp: 127.0.0.1
port: 27017
wireObjectCheck : false
unixDomainSocket:
enabled : true
এই কনফিগারেশনে কিছু নোট:
- আপনি সাধারণত
wireObjectCheck: false
উত্পাদনে অবজেক্টটি চেক অফ করতে চান না , তবে পরীক্ষার উদ্দেশ্যে প্রচুর পরিমাণে ডেটা, এটি কিছুটা গতি বাড়িয়ে তুলবে এবং এ জাতীয় পরিবেশের মধ্যে একটি সর্বনিম্ন ঝুঁকি is
- প্রতিলিপি সেটটির সমস্ত সদস্য লুপব্যাক আইপি ঠিকানায় না থাকলে এটি প্রতিলিখনের জন্য কাজ করবে না (কারণ এটি কেবলমাত্র বাধ্যতামূলক নির্দিষ্ট বাধ্যবাধকতা), তাই সাবধান
এখন, আসুন প্রমাণীকরণ সক্ষম এবং একটি তীক্ষ্ণ ক্লাস্টারের অংশ হিসাবে চলমান একটি আদর্শ উত্পাদন প্রতিলিপি সেট সদস্যের জন্য একটি নমুনা কনফিগার ফাইলটি দেখুন:
storage:
dbPath: "/data/db"
directoryPerDB: true
journal:
enabled: true
systemLog:
destination: file
path: "/var/log/mongodb.log"
logAppend: true
timeStampFormat: iso8601-utc
replication:
oplogSizeMB: 10240
replSetName: "rs1"
processManagement:
fork: true
net:
bindIp: 192.0.2.1
port: 27018
security:
keyFile: "/data/key/rs1.key"
authorization: "enabled"
sharding:
clusterRole: "shardsvr"
এই কনফিগারেশনের কয়েকটি নোট:
- আবার ডিফল্ট এবং আবদ্ধ সেটিংসের সুস্পষ্ট ঘোষণা রয়েছে (উদাহরণস্বরূপ পোর্টটি ক্লাস্টারোল দ্বারা বোঝানো হয়েছে), সাধারণত বিভ্রান্তি এড়াতে এটি প্রস্তাবিত হয়
- আইপি বাইন্ডিংটি এখন কেবলমাত্র বাহ্যিক আইপি ঠিকানা, সুতরাং লুপব্যাক আইপিতে যোগাযোগ এখন ব্যর্থ হবে, তবে প্রতিলিপিটি দূরবর্তী হোস্টগুলিতে কাজ করতে পারে
- ওপলগ মুক্ত স্থানের 5% এ ডিফল্ট থাকে, তাই বেশি রক্ষণশীল হতে এবং বরাদ্দ করা আকারটি স্পষ্টভাবে নির্ধারণ করা বড় পরিমাণে সাধারণ
পরবর্তী, একটি নমুনা mongos
কনফিগার:
sharding:
configDB: "config1.example.net:27019,config2.example.net:27019,config3.example.net:27019"
autoSplit: true
systemLog:
destination: file
path: "/var/log/mongos.log"
processManagement:
fork: true
net:
port: 27017
bindIp: 192.0.2.2
maxIncomingConnections: 5000
security:
keyFile: "/data/key/mongos.key"
authorization: "enabled"
এখানে কেবলমাত্র প্রয়োজনীয় পরিবর্তনগুলি হ'ল অপসারণগুলি mongos
(যেহেতু এটি ডেটা সংরক্ষণ করে না) এবং configDB
স্ট্রিংয়ের সংযোজন , যা সমস্ত mongos
প্রক্রিয়াতে অভিন্ন হতে হবে apply আমি উদাহরণ হিসাবে সর্বাধিক সংযোগ সেটিং যুক্ত করেছি, এটি প্রয়োজন হয় না তবে প্রায়শই বৃহত্তর ক্লাস্টারের জন্য এটি ভাল ধারণা হতে পারে।
শার্পড ক্লাস্টারটি গোল করে আমাদের একটি নমুনা কনফিগার সার্ভার রয়েছে, যা সত্যিকার অর্থে কিছু ছোটখাট পরিবর্তন সহ প্রতিরূপ সেট সদস্যের একটি উপসেট:
storage:
dbPath: "/data/db"
journal:
enabled: true
systemLog:
destination: file
path: "/var/log/mongodb.log"
logAppend: true
timeStampFormat: iso8601-utc
processManagement:
fork: true
net:
bindIp: 192.0.2.3
port: 27019
security:
keyFile: "/data/key/config.key"
authorization: "enabled"
sharding:
clusterRole: "configsvr"
পরিশেষে, মঙ্গোডিবি 3.0 (এটি লেখার সময় এখনও প্রকাশিত হয়নি) বিশেষত নতুন স্টোরেজ ইঞ্জিনগুলির প্রবর্তনের সাথে সাথে বেশ কয়েকটি নতুন বিকল্প প্রবর্তন করবে। সুতরাং, একই প্রতিলিপি সেট সদস্যটিকে কীভাবে কনফিগার করতে হয় তার উদাহরণ এখানে দেওয়া হয়েছে, তবে এবার ওয়্যারিডটাইগার স্টোরেজ ইঞ্জিন এবং (ডিফল্ট) স্নেপ্পি সংকোচন পদ্ধতির সাথে (নোট: SERVER-16266 এর কারণে মূল থেকে পরিবর্তিত , এবং সংযুক্ত নমুনা engineConfig
):
storage:
dbPath: "/data/db"
engine: "wiredTiger"
wiredTiger:
engineConfig:
cacheSizeGB: 8
collectionConfig:
blockCompressor: snappy
systemLog:
destination: file
path: "/var/log/mongodb.log"
logAppend: true
timeStampFormat: iso8601-utc
replication:
oplogSizeMB: 10240
replSetName: "rs1"
processManagement:
fork: true
net:
bindIp: "192.0.2.1,127.0.0.1"
port: 27018
security:
keyFile: "/data/key/rs1.key"
authorization: "enabled"
sharding:
clusterRole: "shardsvr"
চূড়ান্ত বোনাস সংযোজন হিসাবে, আমি দেখিয়েছি কীভাবে একটি তালিকা ব্যবহার করে একাধিক আইপি ঠিকানা আবদ্ধ করতে হয়, এই ক্ষেত্রে একটি বাহ্যিক আইপি এবং লুপব্যাক আইপি।