मैं जेनकींस में ईसी 2 प्लगइन का उपयोग कर मास्टर-स्लेव कॉन्फ़िगरेशन को कॉन्फ़िगर करने का प्रयास कर रहा हूं। EC2 प्लगइन को कॉन्फ़िगर करने के बाद, जेनकिंस ने दास को सफलतापूर्वक लॉन्च किया और मैं उस दास में ssh भी कर सकता हूं। लेकिन जब मैं जेनकींस में नोड लॉग देखता हूं, तो मैं देखता हूं कि जेनकींस दास से कनेक्ट नहीं हो सका। मैं जो देख रहा हूं वह यहां है:

This node is offline because Jenkins failed to launch the slave agent   on it. See log for more details
INFO: Authenticating as ubuntu
Jan 31, 2017 6:29:00 PM null
INFO: Connecting to ip-10-226-254-52.ec2.internal on port 22, with timeout 10000.
Jan 31, 2017 6:29:10 PM null
INFO: Failed to connect via ssh: The kexTimeout (10000 ms) expired.
Jan 31, 2017 6:29:10 PM null
INFO: Waiting for SSH to come up. Sleeping 5.
Jan 31, 2017 6:29:15 PM null
INFO: Connecting to ip-10-226-254-52.ec2.internal on port 22, with timeout 10000.
Jan 31, 2017 6:29:25 PM null
INFO: Failed to connect via ssh: The kexTimeout (10000 ms) expired.
Jan 31, 2017 6:29:25 PM null
INFO: Waiting for SSH to come up. Sleeping 5.
ERROR: Unexpected error in launching a slave. This is probably a bug in Jenkins
java.lang.NullPointerException
at hudson.plugins.ec2.ssh.EC2UnixLauncher.bootstrap(EC2UnixLauncher.java:309)
at hudson.plugins.ec2.ssh.EC2UnixLauncher.launch(EC2UnixLauncher.java:131)
at hudson.plugins.ec2.EC2ComputerLauncher.launch(EC2ComputerLauncher.java:122)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:253)
at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

मैंने ऑनलाइन चेक किया लेकिन ज्यादा मदद नहीं कर सका। यदि आप में से कोई इस प्रकार की त्रुटि से परिचित है, तो कृपया मेरी सहायता करें। अग्रिम में धन्यवाद।

3
krish 31 जिंदा 2017, 21:40
क्या आपने एसएसएच कुंजी निर्दिष्ट की है जिसे जेनकींस उपयोगकर्ता/प्रक्रिया को कनेक्ट करने के लिए उपयोग करना चाहिए?
 – 
Michael J
1 फरवरी 2017, 02:42
- हां, मैंने उस कुंजी को निर्दिष्ट किया है जिसे मैं कमांड लाइन से ssh करता था। यहाँ नमूना कंसोल जेनकींस आउटपुट INFO: Launching instance: i-04f2269ce08edf96d Feb 01, 2017 3:13:41 AM null INFO: bootstrap() Feb 01, 2017 3:13:41 AM null INFO: Getting keypair... Feb 01, 2017 3:13:41 AM null INFO: Using key: fst-load-demo है
 – 
krish
1 फरवरी 2017, 06:15
मैं यह भी देख रहा हूँ कि जेनकींस स्लेव इंस्टेंस से लगातार जुड़ने की कोशिश कर रहा है INFO: Waiting for SSH to come up. Sleeping 5. Feb 01, 2017 4:59:58 AM null INFO: Connecting to 10.226.254.15 on port 22, with timeout 10000. Feb 01, 2017 5:00:08 AM null INFO: Failed to connect via ssh: The kexTimeout (10000 ms) expired. Feb 01, 2017 5:00:08 AM null INFO: Waiting for SSH to come up. Sleeping 5. Feb 01, 2017 5:00:13 AM null INFO: Connecting to 10.226.254.15 on port 22, with timeout 10000
 – 
krish
1 फरवरी 2017, 08:01

1 उत्तर

सबसे बढ़िया उत्तर

मुझे लगता है कि मैंने खुद को समझ लिया है। दास के उपयोग के लिए मैंने जिन सुरक्षा समूहों को निर्दिष्ट किया था उनमें एसएसएच पोर्ट (22) नहीं था, जो मास्टर के सुरक्षा समूह पर नहीं खोला गया था। SSH पोर्ट खोलने के बाद मैं स्लेव नोड से कनेक्ट करने में सक्षम हूँ नोट: मैं मास्टर और स्लेव दोनों के लिए समान सुरक्षा समूहों का उपयोग कर रहा हूँ

INFO: Connected via SSH.
Feb 02, 2017 4:29:59 PM null
INFO: connect fresh as root
5
krish 2 फरवरी 2017, 19:32