2016-04-25 11 views
20

पर मोंगोडब स्थापित करने के लिए अनुशंसित तरीका, सबसे पहले, आप मुझे कम करने से पहले, मैंने पहले ही How to install mongodb in Elastic Beanstalk? दिनांक 2014 को देखा है, जो अब काम नहीं करता है। साथ ही https://docs.mongodb.org/ecosystem/platforms/amazon-ec2/#manually-deploy-mongodb-on-ec2लोचदार बीनस्टॉक

के रूप में मैं एक नया लोचदार बीनस्टॉक वातावरण 1 EC2 सूक्ष्म उदाहरण के साथ Node.js पर चल रहा है की स्थापना की है '64 बिट अमेज़न लिनक्स 2016.03 v2.1.0 चल Node.js'

मैं पहले से ही ssh का उपयोग कर की कोशिश की है मेरे उदाहरण में कनेक्ट करने के लिए और यम आदेश का उपयोग MongoDB पैकेज इंस्टॉल:

$ sudo yum install -y mongodb-org-server mongodb-org-shell mongodb-org-tools 

और इस कॉल वापस प्राप्त किया:

Loaded plugins: priorities, update-motd, upgrade-helper 
No package mongodb-org-server available. 
No package mongodb-org-shell available. 
No package mongodb-org-tools available. 
Error: Nothing to do 
This EC2 instance is managed by AWS Elastic Beanstalk. Changes made via SSH 
WILL BE LOST if the instance is replaced by auto-scaling. For more information 
on customizing your Elastic Beanstalk environment, see our documentation here: 
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html 

वर्तमान में मेरी पर्यावरण एक उदाहरण वातावरण के रूप में सेट किया गया है, शुल्क बचाने के लिए: 210 जब मैं पहली बार ssh 'मेरे उदाहरण में d, मुझे यह त्रुटि चेतावनी प्राप्त किया। हालांकि, भविष्य में मैं एक ऑटो स्केलिंग पर्यावरण में अपग्रेड कर दूंगा।

इस वजह से, मैं पूछ रहा हूं कि यह ec2 में ssh के माध्यम से कोई बदलाव करने की सिफारिश है, या मुझे केवल ईबी सीएलआई का उपयोग करना चाहिए?

मेरे पास ईसी 2 और ईबी सीएलआई दोनों स्थानीय रूप से स्थापित हैं, हालांकि मैंने पहले कभी ईबी सीएलआई का उपयोग नहीं किया है। अगर मुझे ईबी का उपयोग करना चाहिए, तो क्या किसी के पास मोंगोडब स्थापित करने का एक अनुशंसित तरीका है?

+2

आप लचीला बीनस्टॉक पर एक डेटाबेस स्थापित करने के लिए नहीं करना चाहते करने के लिए कनेक्ट बनाएं के बाहर एक MongoDB सर्वर बनाएँ। आपको अपने ईबी पर्यावरण में एसएसएच के माध्यम से भी कोई बदलाव नहीं करना चाहिए। क्या आपको एहसास नहीं है कि ईबी स्वचालित रूप से आपके पर्यावरण से सर्वर जोड़ और हटा देगा? इसमें जोड़े गए नए सर्वरों में आपके परिवर्तन नहीं होंगे, और पुराने सर्वर जो चलने वाले डेटाबेस जैसे चीजों को हटा दिए जाएंगे और आप सबकुछ खो देंगे। लोचदार बीनस्टॉक के साथ मोंगोडीबी का उपयोग करने के सही तरीके से इस प्रश्न का मेरा उत्तर पढ़ें: http://stackoverflow.com/questions/33837610/elastic-beanstalk-deployment-with-mongodb –

+0

हां, मुझे एहसास हुआ। यही कारण है कि मैंने समझाया कि मैं वर्तमान में एक सर्वर ऐप चला रहा हूं, हालांकि मैं ऑटो स्केलिंग में अपग्रेड करने के लिए अनुशंसित स्थापना जानना चाहता था। लिंक के लिए धन्यवाद। – amyloula

उत्तर

31

यदि कोई उत्तर देने की स्थिति में है, तो मुझे सलाह है कि मुझे व्यवसाय समर्थन से प्राप्त सलाह दी गई है।

लोचदार बीनस्टॉक को तैनात सभी कोड "स्टेटलेस" होना चाहिए IE. कभी भी एसएसएच या एफ़टीपी का उपयोग कर चल रहे बीनस्टॉक इंस्टेंस में परिवर्तन न करें .... क्योंकि इससे असंगतताएं और डेटा खो जाएंगे! - लोचदार बीनस्टॉक को उस एप्लिकेशन के लिए डिज़ाइन नहीं किया गया है जो स्टेटलेस नहीं है। पर्यावरण को आपके नेटवर्क/सीपीयू लोड पर लंबित और ऊपर स्केल करने और बेस एएमआई से नए उदाहरण बनाने के लिए डिज़ाइन किया गया है। अगर किसी उदाहरण में समस्याएं या अंतर्निहित हार्डवेयर हैं, तो लोचदार बीनस्टॉक इन चल रहे उदाहरणों को समाप्त कर देगा और नए उदाहरणों के साथ प्रतिस्थापित करेगा। इसलिए, क्यों कोई कोड संशोधन लागू नहीं किया जाना चाहिए या मौजूदा उदाहरण पर "सीधे" किया जाना चाहिए क्योंकि नए उदाहरण इन प्रत्यक्ष परिवर्तनों से अवगत नहीं होंगे। सभी परिवर्तन/कोड को या तो लोचदार बीनस्टॉक कंसोल या सीएलआई उपकरण पर अपलोड किया जाना चाहिए और सभी चल रहे उदाहरणों को धक्का दिया जाना चाहिए। लचीला बीनस्टॉक डिजाइन अवधारणाओं पर अधिक जानकारी निम्न लिंक पर पढ़ा जा सकता है http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.concepts.design.html

समाधान सुझाव: मन में ऊपर के साथ, MongoDB आवेदन डाटा स्टोर करने का उपयोग कर यदि हमारे सिफारिश डे-जोड़ी MongoDB वातावरण से होगा आपका नोड.जेएस आवेदन। आईई लोचदार बीनस्टॉक के बाहर एक मोंगोडीबी सर्वर बनाएं, उदाहरण के लिए सीधे ईसी 2 इंस्टेंस पर मोंगोडीबी लॉन्च करना और अपने ऐल में कनेक्शन सेटिंग्स का उपयोग करके अपने लोचदार बीनस्टॉक नोड.जेएस एप्लिकेशन को मोंगोडीबी सर्वर से कनेक्ट करें।

- मोंगोडीबी बनाना कुछ उदाहरण लिंक हैं जो मोंगोडीबी सर्वर बनाने के लिए आपके परिदृश्य के लिए उपयोग किए जा सकते हैं। तैनात MongoDB EC2 पर, https://docs.mongodb.org/ecosystem/platforms/amazon-ec2/ MongoDB नोड ग्राहक https://docs.mongodb.org/getting-started/node/client/ MongoDB एडब्ल्यूएस बादल त्वरित आरंभ गाइड पर लचीला बीनस्टॉक को http://docs.aws.amazon.com/quickstart/latest/mongodb/architecture.html

-Adding वातावरण चर अपने MongoDB सर्वर संदर्भित करने के लिए एक बार आप अपने MongoDB सर्वर आपके द्वारा बनाए गए पर्यावरण चर का उपयोग कर अपने लोचदार बीनस्टॉक पर्यावरण के लिए आवश्यक कनेक्शन सेटिंग्स को पारित कर सकते हैं। उदाहरण का उपयोग करते हुए .ebextensions .config आप मोंगो यूआरएल/बंदरगाहों/उपयोगकर्ताओं आदि जोड़ सकते हैं जो ..

option_settings: - OPTION_NAME: MONGO_DB_URL मूल्य: "आपका MongoDB EC2 आंतरिक IP पता" पर कैसे करने के लिए

सूचना पर्यावरण गुणों का उपयोग करें और उन्हें अपने आवेदन के भीतर से नीचे देखा जा सकता है। .ebextensions का उपयोग कर http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html#create_deploy_nodejs_custom_container-envprop और जानकारी .config नीचे दिए गए लिंक http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html

वैकल्पिक रूप से आप भी CLI या एडब्ल्यूएस कंसोल EB के माध्यम से उपयोग करते हुए वातावरण चर सेट कर सकते हैं CLI सेट वातावरण चर नीचे प्रति पढ़ा जा सकता है पर पाया जा सकता संपर्क। http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-setenv.html एडब्ल्यूएस कंसोल का उपयोग सिस्टम गुण (एडब्ल्यूएस प्रबंधन कंसोल) सेट करने के लिए लोचदार बीनस्टॉक कंसोल खोलें। अपने पर्यावरण के लिए प्रबंधन कंसोल पर नेविगेट करें। कॉन्फ़िगरेशन चुनें। सॉफ़्टवेयर कॉन्फ़िगरेशन अनुभाग में, संपादित करें का चयन करें। के तहत पर्यावरण गुण, अपना नाम/मान बनाने के ...

पहुँचने पर्यावरण कॉन्फ़िगरेशन सेटिंग Node.js एडब्ल्यूएस लचीला बीनस्टॉक में चल रहे पर्यावरण के अंदर, आप निम्नलिखित के लिए process.env.ENV_VARIABLE समान का उपयोग कर वातावरण चर का उपयोग कर सकते उदाहरण। process.env.MONGO_DB_URL process.env.PARAM2

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html#create_deploy_nodejs_custom_container-envprop

सारांश: सारांश में मैं लचीला बीनस्टॉक वातावरण के साथ MongoDB को एकीकृत करने के लिए निम्न चरण की सिफारिश करेंगे। चरण 1) लचीला बीनस्टॉक चरण 2) लचीला बीनस्टॉक में अपने Node.js आवेदन है कि अपने MongoDB सर्वर

+4

दुर्भाग्यवश, अमेज़ॅन व्यवसाय समर्थन एक महत्वपूर्ण कारण से चूक गया कि आप ऐप सर्वर के समान सर्वर पर मोंगो इंस्टॉल क्यों करना चाहते हैं; mongoDB क्लस्टर का उपयोग करने के लिए, यह अनुशंसा की जाती है कि एप्लिकेशन सर्वर प्रत्येक प्रॉक्सी के रूप में कार्य करने के लिए एक मोंगो (बहुवचन लेकिन शाब्दिक रूप से "मोंगो एस") उदाहरण नहीं चलाते हैं। ओपीएस मूल प्रश्न अभी भी मान्य है और यह जानना दिलचस्प होगा कि इसे संभालने के लिए आधिकारिक रूप से समर्थन विधि क्या होगी। – Shaggydev

संबंधित मुद्दे