2016-11-29 12 views
11

निर्माण के दौरान ऑफलाइन जा रहा है, निर्माण के दौरान ऑफ़लाइन चला गया। मैं इसे कैसे ठीक कर सकता हूं, मैंने एसओ और जेनकींस के मुद्दों में बहुत से संबंधित प्रश्न देखे लेकिन किसी ने भी समाधान नहीं दिया।जेनकिन्स गुलाम

मेरे विन्यास:

जेनकींस संस्करण 1.651.1, एक जेनकींस मास्टर (उबंटू), 2 दास (उबंटू) प्रत्येक रैम 16GB रनिंग समानांतर में बनाता है के साथ Zuul संस्करण 2.1.1.dev393।

जेनकींस मास्टर, डेवस्टैक और दोनों नोडपूल दास एक ही आईपी रेंज में हैं।

मुझे एक समस्या का सामना करना पड़ रहा है जब दास में से एक का निर्माण पूरा हो जाता है तो दास दोनों में जावा प्रक्रिया मारे जा रही है ताकि दूसरा दास ऑफलाइन हो जाये।

मुझे दासों में चल रही प्रक्रियाओं को सूचीबद्ध करके इस समस्या को मिला और देखा कि गुलामों में से एक ने अपना निर्माण पूरा किया है और दूसरा दास अभी भी निर्माण चला रहा है जब जावा प्रक्रिया दोनों दासों में एक साथ मारे जा रही है।

पहले मुझे यह समस्या थी और इसे ओपन जेडीके से ओरेकल के जेडीके में स्विच करके हल किया गया था। अब दास ओरेकल जावा 1.8.0_111 उपयोग कर रहे हैं, लेकिन अब हम

बिल्ड लॉग ओरेकल-java8 भी साथ एक ही मुद्दा हो रही है:

01:42:07 Slave went offline during the build 
01:42:07 ERROR: Connection was broken: java.io.IOException: Unexpected termination of the channel 
01:42:07 at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:50) 
01:42:07 Caused by: java.io.EOFException 
01:42:07 at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2351) 
01:42:07 at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2820) 
01:42:07 at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:804) 
01:42:07 at java.io.ObjectInputStream.<init>(ObjectInputStream.java:302) 
01:42:07 at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:48) 
01:42:07 at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read( AbstractSynchronousByteArrayCommandTransport.java:34) 
01:42:07 at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48) 
01:42:07 
01:42:07 Build step 'Execute shell' marked build as failure 
+0

क्या आपने सिस्टम संदेश लॉग में देखा था? यह देखने का प्रयास करें कि [यह समस्या और कामकाज] (https://github.com/scala/scala-jenkins-infra/issues/26) आपके मामले के लिए प्रासंगिक है। –

+0

जब हमने बहुत व्यस्त हो गया तो हमने इसे नियमित रूप से देखा। इसके बाद हम इसे "सीपीयू" आवंटित करते हैं। उसके बाद इसे नहीं देखा (अब तक 2 महीने)। – Jayan

+0

आप मास्टर कैसे चला रहे हैं? डोकर? मास्टर नोड के लिए संसाधन आवंटन क्या है? – Jayan

उत्तर

5

दास ऑफ़लाइन चला जाता है, क्योंकि या तो

  1. नौकरियों चल उस पर होने की तुलना में अधिक रैम का उपभोग कर रहे हैं या कोई स्मृति शेष नहीं है।

- यदि ऐसा है, तो दासों में कम संख्या में निष्पादक होने की कोशिश करें या नोड्स में अधिक CPU/RAM रखें।

  1. स्लेव क्लीनअप प्रक्रिया चल रही हो सकती है या कुछ अनाथ प्रक्रिया वापस चल रही है, जो कनेक्शन ब्रेक का कारण बन रही है।

- सफाई प्रक्रिया को रोकें या अनाथ प्रक्रिया को मार दें, जो स्मृति का उपभोग कर रहा है।

  1. एसएसएच कुंजी मास्टर और गुलामों के बीच बदल सकती है।

- एसएसपी कुंजी को फिर से एसपीपी के माध्यम से गुलामों को भेजने की आवश्यकता है और एक बार फिर से स्पर्श करने की आवश्यकता है।

कृपया एक बार प्रयास करें और अधिक सहायता के लिए नीचे दिए गए लेख पढ़ें।

+0

मैंने इन सभी विकल्पों को आजमाया, कुछ भी मदद नहीं की .. कुछ और बात मेरी समस्या का कारण बन रही है ... – RMK

1

मैं लिनक्स पर जेनकींस दास कनेक्शन के साथ इसी तरह की कठिनाई थी। वे या तो निष्क्रिय होने की बजाय शुरू या ड्रॉप नहीं करेंगे।

मुझे पता चला कि समस्या लिनक्स खोल के साथ थी, और जिस तरह से यह दूरस्थ कनेक्शन को संभाला था।

काफी प्रयास के बाद, मेरे समाधान किया गया था:

  • स्वामी और गुलाम मशीनों पर जेनकींस लिए एक अलग उपयोगकर्ता बनाएँ।
  • इन जेनकिंस उपयोगकर्ताओं के लिए ~/.bashrc फ़ाइलों को हटाएं (आरएम)
  • सर्वरों को बाउंस करें।

bashrc फ़ाइलों (यहां तक ​​कि खाली वाले) के अस्तित्व ने क्लस्टर को दूषित कर दिया। यही एकमात्र समाधान था जो गुलामों को हमारे पर्यावरण में संघीय बना देगा। दस्तावेज़ों ने इसे कवर नहीं किया था।

आप कल्पना कर सकते हैं कि "बहुत प्रयास" मूल रूप से बैशर फ़ाइलों के विभिन्न संयोजनों के साथ पूरे क्लस्टर को उछाल रहा था जब तक कि अंततः उन्हें निराशा में नहीं हटा दिया जाता।

enivronment Centos और जेनकींस सीआई आईबीएम ClearCase के साथ एकीकृत था।

उम्मीद है कि यह समाधान आपकी समस्या में कुछ ढीला करने में मदद कर सकता है।

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