क्या मैं विंडोज (x64) 64 बिट पर्यावरण पर चलने वाला मेमकास्ट कर सकता हूं?


87

किसी को पता है अगर , जब या कैसे मैं प्राप्त कर सकते हैं memcached एक Windows 64 बिट पर्यावरण पर चल रहा है?

मैं एक नया होस्टिंग समाधान स्थापित कर रहा हूं और बहुत कुछ 64 बिट ओएस चलाना पसंद करेगा, और चूंकि यह एसक्यूएल सर्वर डीबी के साथ एएसपी.नेट एमवीसी समाधान है, ओएस या तो विंडोज सर्वर 2003 या (उम्मीद है!) 2008 होगा।

मुझे पता है कि यह सर्वर पर 32 बिट बनाम 64 बिट के बारे में एक बहस में फैल सकता है, लेकिन चलो यह कहना है कि मेरी प्राथमिकता 64 बिट है और मेरे पास कुछ बहुत अच्छे कारण हैं।

अब तक, मैं विकल्पों में से एक नंबर की कोशिश की है और एक पाया बिट की मदद एक 32bit मशीन पर इस उठने से संबंधित (और सफल रहा तो हो सकता है), लेकिन बाद से मूल विंडोज बंदरगाह Win32 विशिष्ट है, यह शायद ही मदद करने जा रहा है जब x64 पर एक सेवा के रूप में स्थापित किया जा रहा हो। यह भी libevent पर निर्भरता है जिसके लिए मैं केवल Win32 संकलित संस्करण प्राप्त कर सकता हूं।

मुझे संदेह है कि बस सी ++ में यह सब लोड हो रहा है और "कंपाइल" (64 बिट के लिए) मारना काम नहीं करेगा, कम से कम 32 और 64 बिट आर्किटेक्चर में जटिल अंतर के कारण नहीं, लेकिन मैं सोच रहा हूं कि क्या कोई इसे बंद करने पर काम कर रहा है ज़मीन? दुर्भाग्य से, मेरी विशेषज्ञता केवल प्रबंधित कोड (सी #) में निहित है, अन्यथा मैं खुद पर यह कोशिश करूंगा और ले जाऊंगा, लेकिन मुझे विश्वास नहीं हो रहा है कि मैं अकेला लड़का हूं जो 64 बिट विंडोज सर्वर पर चलने वाले मेमस्कैच को चलाने की कोशिश कर रहा हूं । ..मैं मैं?


अपडेट करें

हां मुझे डर है कि मैं अभी भी इसका उत्तर ढूंढ रहा हूं - मेरे सभी प्रयास (मेरे दयनीय सी ++ कौशल के साथ) एक स्थिर निर्माण विफल हो गए हैं - मैंने एक सर्वर को ट्रैश कर दिया है और 3 वीएम के बस इसे आजमा रहा हूं। असली विशेषज्ञों की ओर मुड़ें। क्या कोई इसे 64 बिट पर पोर्ट करने की योजना बना रहा है? या आप वास्तव में सुझाव दे रहे हैं कि मैं इसके बजाय एमएस वेग का उपयोग करता हूं? मुझे इस विचार से कंपकंपी आती है।


अपडेट: @ लार्स - मैं वास्तव में एनीम का उपयोग करता हूं - यह बहुत अच्छा है, लेकिन जो आप जिक्र कर रहे हैं वह सर्वर के बजाय क्लाइंट है।

@DannySmurf - मैं केवल 32 बिट OS पर सेवा के रूप में इसे स्थापित करने में सक्षम हूं। 64 बिट OS इस Win32 सेवा की स्थापना को अस्वीकार करता है। बेशक, बहुत सारे Win32 कोड x64 आर्किटेक्चर पर मूल रूप से काम करते हैं, इसलिए आप 32bit एप्लिकेशन (उदाहरण के लिए Office) या Vista / XP 64 आदि पर गेम चला सकते हैं, लेकिन सेवाओं में आने पर यह सीधे अनुवाद नहीं करता है। मैं कोई विशेषज्ञ नहीं हूं, मुझे संदेह है कि इसे सिंक के साथ करना है या उस सेवा को व्यवस्थित करना है जिसे सदस्यता लेने की आवश्यकता है, और मुझे संदेह है कि 64 और 32 अच्छी तरह से नहीं खेलते हैं। मुझे इसमें से किसी पर भी सुधार होने की खुशी है, लेकिन आपके प्रश्न का उत्तर देने के लिए - हां मैंने कोशिश की है।

@ ओजे - सीधे-आगे की प्रतिक्रिया के लिए बहुत बहुत धन्यवाद। मैंने जितना सोचा था, लेकिन यह निश्चित नहीं था कि किसी और के सुझाव थे या पहले से ही इस मार्ग से नीचे चले गए थे। हो सकता है कि जब StackOverflow LIVE हो, तब अधिक लोग जवाब देंगे और मुझे बताएंगे कि क्या यह कुछ देखा जा रहा है, और यद्यपि मैं खुद इसे आज़मा सकता हूं और संकलित कर सकता हूं - मैं बस "विश्वास" (मेरे C ++ अनुभव स्तर के साथ) नहीं कर सकता कि यह बड़े स्केल करने योग्य समाधानों के ऐसे महत्वपूर्ण घटक में "एंटरप्राइज़ स्तर" विश्वसनीयता प्रदान करेगा। मुझे लगता है कि इससे पहले कि मैं आश्वस्त हो सकता हूं मेरे गैर-प्रयोगात्मक प्रयोगों के बजाय इसे शिक्षित हस्तक्षेप की आवश्यकता होगी। मेरी ओर से एक छोटा सा निरीक्षण, साइट को नीचे ला सकता है। ओह अच्छा ... अगली बार तक।


सेवा को पंजीकृत करने का प्रयास करते समय कौन सी त्रुटि होती है? मैंने 32-बिट, 64-बिट वातावरण में विकसित कई सेवाएँ स्थापित कीं, और कभी समस्या नहीं हुई। 32-बिट में कमांड लाइन खोलने की कोशिश करें और
lsalamon

जवाबों:


52

नॉर्थ स्केल लेबल्स ने विंडोज x64 के लिए मेमकेड 1.4.4 का निर्माण जारी किया है:

http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available

http://labs.northscale.com/memcached-packages/

अद्यतन: उन्होंने हाल ही में जारी किए गए मेम्केड सर्वर को जारी किया है - अभी भी मुफ़्त, लेकिन क्लस्टरिंग, वेब-आधारित व्यवस्थापक / आँकड़े यूआई आदि के साथ बढ़ाया डिस्ट्रो (मैं किसी भी तरह से उनसे संबंधित नहीं हूं) http://northscale.com/ पर इसे देखें। उत्पादों / memcached.html और पर डाउनलोड: http://www.northscale.com/download.php?a=d

अद्यतन 2: नॉर्थस्केल मेमक्लेड अब स्टैंडअलोन डाउनलोड के रूप में उपलब्ध नहीं है। अब उन्होंने इसे अपने वाणिज्यिक नो-एसबी डीबी ऑफर का हिस्सा बना दिया है जिसे मेम्बेस कहा जाता है। इसे मेमकेड-ओनली मोड (अर्थात बिना दृढ़ता के) में चलाने के लिए कॉन्फ़िगर किया जा सकता है और 100% मुक्त संस्करण भी है। इसे यहाँ देखें: http://www.membase.org/downloads

अद्यतन 3: मेम्बेस CouchDB के साथ सोया है और CouchBase नामक एक हाइब्रिड उत्पाद की पेशकश की है। वे अभी भी http://www.couchbase.com/download पर एक "समुदाय" संस्करण प्रदान करते हैं


3
मुझे संपादित करने के लिए रिपीट नहीं है, लेकिन यहाँ 1 लिंक वर्तमान में सही नहीं है; 64 और बिट के बीच एक हाइफ़न की आवश्यकता है: blog.northscale.com/northscale-blog/2009/12/…
Maggie

22
डाउनलोड लिंक अभी भी काम करता है: s3.amazonaws.com/downloads.northscale.com/…
IEnumerator

मैं विंडोज़ के लिए कमांड लाइन का उपयोग करके मेमेकैच्ड सर्वर को कैसे कॉन्फ़िगर कर सकता हूं? मैंने codeproject.com/Articles/96698/… लिंक की कोशिश की । लेकिन खिचड़ी भाषा कॉन्फ़िगर करने में सक्षम।
नरेन

25

बस इतना ही लोग जानते हैं, 32-बिट और 64-बिट संस्करण के रूप में अच्छे लोगों द्वारा निर्मित मेम्बेस / काउचबेस / जो कुछ भी अभी भी उपलब्ध है, ब्लॉग URL हालांकि बदल गया है:

32-बिट बाइनरी मेमकेच्ड 1.4.4 विन्डोज़-सर्विस:

http://blog.couchbase.com/memcached-144-windows-32-bit-binary-now-available

http://s3.amazonaws.com/downloads.northscale.com/memcached-win32-1.4.4-14.zip

64-बिट बाइनरी विंडोज 1.4.4 विंडोज-सेवा के रूप में:

http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available

http://s3.amazonaws.com/downloads.northscale.com/memcached-win64-1.4.4-14.zip

64-बिट संस्करण में गलत अपटाइम है।

तो शायद आप इसके बजाय 1.4.2 का बाइनरी चाहते हैं:

http://www.urielkatz.com/archive/detail/memcached-64-bit-windows/

MemCacheDManager के साथ शामिल 32-बिट संस्करण भी Windows 2000 (कोई IPv6) पर चलने वाला नहीं है:

http://allegiance.chi-town.com/MemCacheDManager.aspx http://allegiance.chi-town.com/Download.aspx?dl=Releases/MemCacheDManager_1_0_3_0_msi&rurl=MemCacheDManager.aspx

Msi को अनपैक करने के लिए:

msiexec / a Releases_MemCacheDManager_1_0_3_0.msi / qb TARGETDIR = c: \ memcached


काउचबेस लगता है अब एक अलग दृष्टिकोण पर जोर दे रहा है couchbase.com/memcached
माइक

6

जीत x64 के लिए 1.4.5 द्विआधारी यहाँ पाया जा सकता है: http://downloads.northscale.com/memcached-1.4.5-amd64.zip

एक और विकल्प यहां से Couchbase Server 1.8.0 x64 को स्थापित करने के लिए होगा: http://www.couchbase.com/download , बंडल किए गए मेमकैश को 1.7.1.1 संस्करण लगता है (एक आंतरिक संस्करण जैसा लगता है, मैं नहीं बता सकता कि कौन सा असली है)

एक सेवा के रूप में मेमेकैल्ड चलाने के लिए, यह ट्यूटोरियल पर्याप्त हो सकता है:

http://www.richardnichols.net/2010/08/install-memcached-on-windows-server/


6

अप-टू-डेट बायनेरिज़

नॉर्थस्केल के पास वास्तव में पुराने संस्करण हैं (सबसे नया 1.4.5 है जो अप्रैल 2010 से है) लेकिन एक लड़का है जो सिग्विन का उपयोग करके संकलित विंडोज के लिए 64-बिट मेम्नेच्ड बायनेरिज़ प्रदान करता है (लेकिन उन्हें इसकी आवश्यकता नहीं है) अपने GitHub Gository github में। com / nono303 / memcached

उदाहरण के लिए, सबसे हाल ही में जारी किए गए संस्करण (इस उत्तर को लिखने के रूप में) 1.5.16 के बायनेरिज़ यहां हैं । दोनों 32 और 64-बिट संस्करण हैं।

विंडोज सर्विस के रूप में मेमेकैच्ड

यदि आप इसे Windows सेवा के रूप में स्थापित करना चाहते हैं, तो आप उदाहरण के लिए ओपन-सोर्स नॉन-सकिंग सर्विस मैनेजर का उपयोग कर सकते हैं :

nssm install memcached c:\path\to\memcached.exe
nssm start memcached

देखें प्रलेखन जानकारी के लिए।


3

मुझे व्यक्तिगत रूप से लगता है कि आपको 64-बिट प्लेटफ़ॉर्म पर मेमेकैच्ड पाने के लिए 64-बिट कंपाइलर (जाहिर तौर पर 64-बिट मशीन पर) का उपयोग करके एप्लिकेशन को फिर से प्राप्त करना होगा। यह कोड के आधार पर एक आसान काम नहीं हो सकता है। यदि यह 64-बिट पोर्टेबिलिटी को ध्यान में रखकर लिखा गया था, तो यह एक सरल recompile हो सकता है। यदि यह नहीं है, तो आप इसे बनाने से पहले बहुत अच्छी तरह से पैचिंग के लिए तैयार हो सकते हैं .. और फिर आपको यह सत्यापित करना होगा कि आपने कुछ भी नहीं तोड़ा है!

मुझे नहीं लगता कि आप 32 और 64-बिट के बीच के अंतर को कम कर रहे हैं। एक आम गलती यह मान लेना है कि नौकरी एक सरल recompile है जब वास्तव में ऐसा नहीं होता है। अधिकांश लोगों की तुलना में अधिक पोर्टेबिलिटी के मुद्दे हैं। सिर्फ इसलिए कि एप्लिकेशन बनाता है और आप एक बाइनरी के साथ समाप्त होते हैं, इसका मतलब यह नहीं है कि द्विआधारी को वैसा ही व्यवहार करना चाहिए जैसा कि उसे करना चाहिए। खासकर जब यह अन्य 32-बिट कोड के साथ बातचीत कर सकता है।

कहा जा रहा है कि, यह एक स्पिन देने के लायक हो सकता है!

सौभाग्य। चीयर्स!


@ लार्स: मैं उत्तर देने का प्रयास करने से पहले प्रश्न को पढ़ने की सलाह देता हूं।

@ जॉन सिबल और @ डैनीसमुर्फ: मेम्केड की प्रकृति को देखते हुए और इसे हासिल करने का लक्ष्य क्या है, निश्चित रूप से आप 64-बिट मशीन पर 32-बिट संस्करण चलाना नहीं चाहेंगे? यदि आपके पास 64-बिट सक्षम मशीन थी, तो हार्डवेयर की अधिकांश विशेषताओं को बनाने के लिए 64-बिट संस्करण को चलाने का कोई मतलब नहीं होगा।


3

मेरे पास win32 के लिए एक मेमकास्टेड-1.2.1 है जो मूल रूप से यहां से डाउनलोड किया गया है: http://jehiah.cz/projects/memcached-win32/ (लेकिन अब किसी कारण से यह एक टूटी हुई कड़ी है)।

यह है कि मैं कैसे Windows Server 2008 R2, 64 बिट पर Win32 के लिए मेमकास्टेड चलाने में कामयाब रहा। memcached.exe -> गुण -> संगतता -> इस कार्यक्रम को संगतता मोड में चलाएँ: Windows XP (SP 3) । ध्यान दें कि उपयोगकर्ता Uriel Katz ने इस चर्चा में उल्लेख किया है कि यह विधि उपयोग की 2GB मेमोरी तक सीमित है।


2

मैं सिर्फ 64 बिट विंडोज सिस्टम पर मेमेकैक्ड खोज रहा था और यह पाया। अब तक कोई भी Win64 मेमेकैश्ड वर्जन नहीं है। लेकिन मैंने अभी cmd के माध्यम से उपयुक्त कमांड के साथ memcached.exe शुरू किया है और यह अभी ठीक चल रहा है। मैं विस्टा 64 बिट का उपयोग कर रहा हूं, यह नहीं जानता कि विस्टा और सर्वर संस्करणों के बीच कोई अंतर है या नहीं।

सबसे विनम्र Fleshgrinder का संबंध है


इसके लिए धन्यवाद - इसे cmd से शुरू करना कोई समस्या नहीं थी - इसे सेवा के रूप में स्थापित करना समस्या थी। का संबंध है,
रॉबर्ट

1

यार, कोडप्लेक्स आपका दोस्त है -> इसके इस पोर्ट को देखें। इसमें 64 बिट रिलीज़ होता था, लेकिन यू या तो लेटेस्ट डाउनलोड कर सकता है और 64 बिट (बहुत आसान) के लिए संकलन कर सकता है या पिछले रिलीज़ को चेक कर सकता है।


1
हाय Pure.Krome, जानकारी के लिए धन्यवाद, लेकिन मैंने इस पृष्ठ को देखा है और मैंने 64 बिट सर्वर संस्करण कभी नहीं देखा है। और नहीं - ऊपर दिए गए ओजे के उत्तर के अनुसार, आप 64 बिट पर "आसानी से" संकलन नहीं कर सकते जब तक कि कोड उस तरह से नहीं लिखा गया हो, और स्मृति के साथ काम करना हमेशा उस सिद्धांत का परीक्षण करने के लिए एक बुरा स्थान होता है ...
RobertTheGrey

हम्म। आह -> x64 बिट बीटा संस्करण था, इसलिए इसे कुछ और हालिया अपडेट द्वारा बदल दिया गया है। यह यहाँ पाया गया था: codeplex.com/memcachedproviders/Release/…
Pure.Krome

1

32 बिट संस्करण WOW64 के माध्यम से 64 बिट पर चलता है, लेकिन प्रक्रिया अभी भी 2GB तक सीमित है, 64-बिट संस्करण के साथ आप उस से परे जा सकते हैं जिसमें एक से अधिक मशीन होगी।


0

क्या आप सुनिश्चित हैं कि 32-बिट संस्करण 64-बिट विंडोज़ पर, बिना संशोधन के नहीं चलता है? ज्यादातर बातें करते हैं।

असफल होना, क्या आपने वास्तव में इसे 64-बिट के लिए संकलित करने की कोशिश की है? कुछ Google समूहों आदि का संक्षिप्त स्कैन जहां लोगों ने यह प्रश्न पूछा था कि यह इसका समाधान हो सकता है। मुझे लगता है कि आप शायद 32-बिट और 64-बिट विंडोज के बीच अंतर को कम कर रहे हैं (कम से कम जहां तक ​​एक मूल एप्लिकेशन को संकलित करता है)।


0

FYI करें, मैं 64 बिट संस्करण प्राप्त नहीं कर सका (यहाँ से http://labs.northscale.com/memcached-packages// ) जब तक कि मैं प्रशासक के रूप में मेमेकैड नहीं चलाऊं, एक सेवा के रूप में स्थापित करने के लिए।

मैं बस निष्पादन योग्य गुणों पर गया, फिर संगतता टैब, और "इस प्रोग्राम को व्यवस्थापक के रूप में चलाएं" की जाँच की (ऐसा करने के अन्य तरीके का एक टन है, लेकिन यह सबसे सरल लग रहा था)

तब मैं आखिरकार सफलतापूर्वक चलने में सक्षम था: मेमकाड-डी स्थापित

यह स्थापित होने के बाद सेवा शुरू करना न भूलें :)


0

आप हमेशा एक बॉक्स पर 32-बिट मेमेकटेड प्रक्रियाओं के कई उदाहरण चला सकते हैं, जिससे उस मशीन को कुल> 2GB मेमेक स्पेस की सेवा मिल सकती है।


0

अगर यह मदद कर सकता है, तो मैंने इस पृष्ठ के माध्यम से पाए गए 1.4.5 64-बिट्स के संकलन के आधार पर एक रैपर किया है ( नॉर्थस्केल बाइनरी के लिए सीधा लिंक )।

यह एक विंडोज़ सेवा है और यह उत्पादन के माहौल में पूरी तरह से काम करती है:
https://github.com/eric-b/MemcachedService64

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.