While launching AWS EC2 instance the java program is not executing what might be the issue?

+1 vote

I have two Java programs in my EC2 instance which is launched in a public subnet. The programs are stored under /home/ec2-user/559 folder as jar files named response_server.jar and server.jar. server.jar file is listening on port 5000 to talk to a client and response_server.jar is listening on port 6000 . ELB is configured to ping the EC2 instances on port 6000 for health checking and hence response_server.jar is used to return a random response when pinged on port 6000 (mainly for ELB)

I am having two issues :

First issue : When I ssh in to the EC2 instance and manually run the jar files using the command below, they work as expected and my client program receives the response on both port 5000 and 6000 .

cd /home/ec2-user/559/
java -jar response_server.jar & java -jar server.jar

However, I want the two programs to start with the launch of the EC2 instance. Hence I added them as a part of my user-data :

#! /bin/bash
java -jar /home/ec2-user/559/response_server.jar & 
java -jar /home/ec2-user/559/server.jar &

Now, if I connect the client program, I get an error that the connection is refused. Unless I manually run them in the ssh session, it doesn't connect.

Second issue : Kind of related to the first issue, my ELB shows this EC2 instance as unhealthy unless I manually run the jar files for ELB to check the health status on port 6000.

I am unable to figure out why the java programs arent launching when rebooting the EC2 instance when using the launch script. I checked to see if the ports are open after booting the instance and find that the ports are not in listening state.

Any help would be of great help !

May 13 in AWS by code_ninja
• 5,710 points

retagged 6 days ago by Kalgi 18 views

1 answer to this question.

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
+1 vote
  • Well you are facing a script issue
  • So first create a separate script for each jar file
  • You don't have to put jar file in your user-date, instead for refrence use below snipet for response_server.jar to create java_response_server_launch.sh script
#! /usr/bin/sh

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
JAVA=/usr/bin/java
MY_SERVER=/home/ec2-user/559/response_server.jar & 
USER=your_username
/bin/su - $USER -c "$JAVA -jar $MY_SERVER &"
  • Put your script under /etc/init.d directory, and then use the command: update-rc.d java_response_server_launch.sh defaults
  • later use chmod +x the script, to change the access mode of the file. 

I hope this helps you:)

answered May 13 by ArchanaNagur
• 1,070 points

Related Questions In AWS

0 votes
1 answer

What AWS EC2 instance is more suitable for Chat Application?

I would recommend starting with a T2.micro ...READ MORE

answered Jul 9, 2018 in AWS by Priyaj
• 56,120 points
35 views
0 votes
2 answers

Launching an EC2 Instance using AWS SDK Java

package com.ec2application.ec2application; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.regions.Regions; import com.amazonaws.services.ec2.AmazonEC2; import ...READ MORE

answered Jan 22 in AWS by Priyaj
• 56,120 points
194 views
0 votes
1 answer

How to Pass the VPC ID while creating the Ec2 instance in AWS using Python Boto3

import boto3 ec2 = boto3.resource('ec2') instance = ec2.create_instances( ...READ MORE

answered Jan 29 in AWS by Priyaj
• 56,120 points
129 views
+1 vote
3 answers

Log in to AWS using Access Key ID and Secret Access Key ID

Access keys consist of an access key ...READ MORE

answered Aug 17, 2018 in AWS by Priyaj
• 56,120 points
86 views
0 votes
2 answers
0 votes
1 answer
0 votes
1 answer

What is difference between Lightsail and EC2?

EC2 is one of the service by AWS ...READ MORE

answered Aug 7, 2018 in AWS by ArchanaNagur
• 1,070 points
121 views
+2 votes
3 answers

What is an Edge Location?

An Edge location is basically a small ...READ MORE

answered Jul 13, 2018 in AWS by Priyaj
• 56,120 points
221 views

© 2018 Brain4ce Education Solutions Pvt. Ltd. All rights Reserved.
"PMP®","PMI®", "PMI-ACP®" and "PMBOK®" are registered marks of the Project Management Institute, Inc. MongoDB®, Mongo and the leaf logo are the registered trademarks of MongoDB, Inc.