মংডব্বের জন্য উবুন্টুতে আপস্টার্ট স্ক্রিপ্ট


11

আমি লিনাক্স এবং মংডোবিতে নতুন। আমি ইতিমধ্যে উবুন্টুতে মঙ্গডব ইনস্টল করেছি তবে আমি ভিন্ন বন্দরে আরও একটি উদাহরণ চালাতে চাই। যেমন আমি অন্যান্য প্রশ্ন এবং ফোরাম থেকে বুঝতে পেরেছি, অবশ্যই আপস্টার্ট স্ক্রিপ্ট থাকতে হবে। /programming/7300109/ubuntu-start-upstart-second-instance-of-mongodb

তবে আমি আমার সার্ভারে একটি upstart স্ক্রিপ্টটি সন্ধান করতে বা সনাক্ত করতে পারি না I

বা একই সার্ভারে ভিন্ন পোর্টে মংডোডের অন্য কোনও উদাহরণ শুরু করার জন্য অন্য কোনও যথাযথ এবং সহজ উপায় আছে।

উত্তর:


8

আপনি কি 10gen সংগ্রহশালা বা ডিফল্ট ডেবিয়ান / উবুন্টু রেপো থেকে চালাচ্ছেন? আমি অফিসিয়াল 10gen সংগ্রহস্থল ব্যবহার করার পরামর্শ দিচ্ছি।

এই লিঙ্কটি দেখুন - [10gen মঙ্গোডিবি উবুন্টুতে কীভাবে ইনস্টল করবেন:] http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ । এই পরিবর্তনের পূর্বে পূর্ববর্তী মংডোব ইনস্টলেশনটি আনইনস্টল করা ভাল, যার জন্য আপনাকে আপনার সংগ্রহস্থল উত্সটিও পরিবর্তন করতে হবে (/etc/apt/source.list- এ) তবে এটি উপরের লিঙ্কেও বিশদ। আমি সিস্টেমেট ওভারস্টার্ট ব্যবহার করার পরামর্শ দিচ্ছি এবং প্রক্রিয়াজাতকরণটি কীভাবে করা উচিত তা বর্ণিত হয়েছে।

10gen উবুন্টু সেট-আপ সহ, কনফিগারেশন ফাইলটি /etc/mongodb.conf এ রয়েছে।

আপনি বিভিন্ন মঙ্গড প্রক্রিয়া চালাতে পারবেন এমন বিভিন্ন উপায়ে রয়েছে, এটি কেবল ক্লিপ থেকে চালানো হবে -

sudo -u mongodb mongod --dbpath /var/tmp/mongotest --logpath /var/tmp/mongotest_log --port 3001 &

যা উত্পাদন করবে ('পিএস' ব্যবহার করে)

mongodb   2210  3.3  1.5 259012 15300 pts/0    Dl   11:48   0:00 mongod --dbpath /var/tmp/mongotest --logpath /var/tmp/mongotest_log --port 3001

এবং আপনি ক্লাই -> মঙ্গোদ - বন্দরের 3001 এর মাধ্যমে সংযোগ করতে পারেন

অন্য উপায়টি /etc/mongodb.conf এর একটি অনুলিপি তৈরি করছে -

sudo cp /etc/mongodb.conf /etc/mongodbnew.conf and editing the following lines in the new file - 


# mongodbnew.conf

dbpath=/var/lib/mongodbnew

#where to log
logpath=/var/log/mongodb/mongodbnew.log

port = 27018

আমি dbpath (যেখানে মংডোব ফাইলগুলি সঞ্চয় করা আছে) / var / lib / mongodb থেকে / var / lib / mongodbnew এ পরিবর্তন করেছি; লগের পথটি mongodb.log থেকে mongodbnew.log এ পরিবর্তিত হয়েছে এবং পোর্টটি 27017 এর ডিফল্ট থেকে 27018 এ পরিবর্তিত হয়েছে (আপনাকে লাইনটি শর্তহীন করতে # টিও সরিয়ে ফেলতে হবে)।

এই কনফিগারেশন ফাইলটির নতুন নামটি প্রতিবিম্বিত করতে আমি শীর্ষস্থানটিও পরিবর্তন করেছি।

আপনাকে ডেটা ডিরেক্টরিও তৈরি করতে হবে কারণ এটি বিদ্যমান নেই এবং এটি ছাড়া মঙ্গোদ প্রক্রিয়া শুরু হবে না এবং তা নিশ্চিত করে মালিক এবং গোষ্ঠীটি মংডব -

sudo mkdir /var/lib/mongodbnew
sudo chown -R mongodb:mongodb mongodbnew/

অতিরিক্তভাবে, আপনার লগ ফাইলের ক্রিয়াকলাপগুলি তৈরি এবং পরিবর্তন করুন -

sudo touch /var/log/mongodb/mongodbnew.log && sudo chown mongodb:mongodb /var/log/mongodb/mongodbnew.log

ক্লিপ থেকে আপনার নতুন মঙ্গোদ প্রক্রিয়াটি (পটভূমিতে) শুরু করতে টাইপ করুন

sudo -u mongodb /usr/bin/mongod --config /etc/mongodbnew.conf &

যা স্ক্রিনে নিম্নলিখিতগুলি প্রেরণ করে -

"সমস্ত আউটপুট যাচ্ছে: /var/log/mongodb/mongodbnew.log"

মংডোড প্রক্রিয়াগুলি "পিএস" দিয়ে চলছে তা পরীক্ষা করুন -

sysadmin@ubuntu:/var/lib$ ps auwx | grep mongo | egrep -v 'grep|sudo'
mongodb    921 11.3  1.5 627672 15608 ?        Ssl  10:56   4:30 /usr/bin/mongod --config /etc/mongodb.conf
mongodb   2137  7.8  1.5 627672 15880 pts/0    Sl   11:36   0:00 /usr/bin/mongod --config /etc/mongodbnew.conf

আপনি সংযোগ করতে পারবেন তা যাচাই করতে মঙ্গো শেলটি চালান -

$ mongo --port 27018
MongoDB shell version: 2.0.5
connecting to: 127.0.0.1:27018/test
> 

লসফের সাহায্যে আপনার এখন দুটি মুগড প্রক্রিয়া দেখতে হবে, মূলটি 27017 এবং নতুনটি 27018 তে আবদ্ধ হবে bound

$ sudo lsof -i :27017
COMMAND PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mongod  921 mongodb    6u  IPv4   9066      0t0  TCP *:27017 (LISTEN)
sysadmin@ubuntu:/var/lib$ sudo lsof -i :27018
COMMAND  PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mongod  2137 mongodb    6r  IPv4  11923      0t0  TCP *:27018 (LISTEN)

দুটি প্রক্রিয়া প্রারম্ভকালে চলবে তা নিশ্চিত করতে, মূল আরআইডি কনফিগারেশন ফাইলটি অনুলিপি করুন -

sudo cp /etc/init/mongodb.conf /etc/init/mongodbnew.conf

যার ফলশ্রুতিতে দুটি ফাইলের ফলাফল হওয়া উচিত -

$ ls -lart /etc/init/mongo*
-rw-r--r-- 1 root root 536 May  8 15:51 /etc/init/mongodb.conf
-rw-r--r-- 1 root root 554 Jun 11 11:43 /etc/init/mongodbnew.conf

ভিআই ব্যবহার করে বা আপনি যা দেখতে পছন্দ করেন তা ব্যবহার করে নতুন মংডোবনেউকনফ ফাইলটি সম্পাদনা করুন -


## Ubuntu upstart file at /etc/init/mongodbnew.conf

limit nofile 20000 20000

kill timeout 300 # wait 300s between SIGTERM and SIGKILL.

pre-start script
    mkdir -p /var/lib/mongodbnew/
    mkdir -p /var/log/mongodbnew/
end script

start on runlevel [2345]

রানলেভলে থামুন [06]

script
  ENABLE_MONGODB="yes"
  if [ -f /etc/default/mongodbnew ]; then . /etc/default/mongodbnew; fi
  if [ "x$ENABLE_MONGODB" = "xyes" ]; then exec start-stop-daemon --start --quiet --chuid mongodb --exec                /usr/bin/mongod -- --config /etc/mongodbnew.conf; fi

শেষ স্ক্রিপ্ট

আমি এটি উবুন্টু 12.04 এ পরীক্ষা করেছি এবং এটি পুনরায় বুট করার পরেও ভালভাবে কাজ করে বলে মনে হচ্ছে। আমি অবশ্যই এটি প্রযোজনায় চালাচ্ছি না have দুঃখিত, কোনও টাইপো যদি উপরে থাকে তবে প্রচুর তথ্য রয়েছে এবং আমি কিছু মিস করেছি।

অবশেষে, এখানে রেপ্লিকা সেটের একটি লিঙ্ক যা এটি আপনাকে সহায়তা করতে পারে যেমন এটি ক্লাইম থেকে একাধিক মঙ্গোদ উদাহরণ শুরু করার উদাহরণ এসেছে - http://www.mongodb.org/display/DOCS/Replica+S++ টিউটোরিয়াল ।


ইনস্টল-মংডোব-অন-ডেবিয়ান-বা-উবুন্টু-লিনাক্সের লিঙ্কটি ডকস.মংডব.র.আর / ম্যানুয়াল / টিউটোরিয়াল / ইনস্টল -মঙ্গোডব-অন- ডেবিয়ান এবং ডকস.মংগদ্ব.আর্গম্যানুয়াল / টিউটোরিয়াল / ইনস্টল- মংগডবিতে পরিবর্তন করা হয়েছে -on-উবুন্টু
ফার্নান্দো কোশ

2

আমি উপরের উত্তরটি নিয়ে একটি সমস্যায় পড়েছি যেখানে স্টপ-স্টার্ট-ডেমন একই নাম দিয়ে একাধিকবার নতুন প্রক্রিয়া শুরু করে না। তবে, একটি --nameযুক্তি রয়েছে যা আপনাকে /etc/init/একটি নতুন নাম অন্তর্ভুক্ত করতে আপনার আপস্টার্ট স্ক্রিপ্টে লাইনটি পরিবর্তন করতে দেয় যাতে এটি শুরু হবে। এটার মতো কিছু:

if [ "x$ENABLE_MONGODB" = "xyes" ]; then exec start-stop-daemon --start --quiet --chuid mongodb --name mongodb-shard2 --exec /usr/bin/mongod -- --config /etc/mongodb-shard2.conf; fi

এই ক্ষেত্রে --nameযুক্তিটি এই দৃষ্টান্তটিকে অনন্য করে তোলে এবং এটি অন্যান্য মঙ্গোদ উদাহরণ থেকে পৃথকভাবে শুরু করার অনুমতি দেয়।


0

upstart স্ক্রিপ্ট পাওয়া যায় /etc/init/


THNX, একটি mongodb.conf আছে তবে এটি ডিফল্ট চলমান দৃষ্টান্তের জন্য

আমি কেবলমাত্র আমার মংডোডব্যাকটি দেখেছি এটি সূত্রগুলি / ইত্যাদি / ডিফল্ট / মংডোব সম্ভবত কনফিগারেশনের জন্য এবং তারপরে স্টার্ট-স্টপ-ডেমন ব্যবহার করে মঙ্গডব শুরু করে

আপনি এই ফাইলটি অনুলিপি করতে এবং একটি ভিন্ন পোর্ট দিয়ে মংডোব শুরু করতে আদেশটি পরিবর্তন করতে পারেন। আপনি সম্ভবত একটি সম্পূর্ণ নতুন কনফিগার ফাইল নির্দিষ্ট করতে চান যদিও আপনি লগ ফাইল ইত্যাদি পরিবর্তন করতে পারেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.