3

I had a running EC2 server with an elastic IP address that was happily running memcached and beanstalkd listening on the external IP at port 11211 and 11300 respectively. I took a AMI of the server to upgrade the size and when the server restarted, neither memcached nor beanstalkd were running. Troubling for memcached as this was init.d to restart but beanstalkd was run as daemon from command line.

However, after several hours, I can't seem to figure out how to get them up and running again.

For memcached the config file reads:

# Default connection port is 11211 -p 11211 # Specify which IP address to listen on. The default is to listen on all IP addresses -l <EXTERNAL IP ADDRESS> 

When I try and run memcached as root from the command line:

memcached -d -m 1024 -u root -l <EXTERNAL IP ADDRESS> -v -p 11211 

I get:

bind(): Cannot assign requested address failed to listen on TCP port 11211: Cannot assign requested address 

Yet when I look at netstat, nothing is bound to that port already:

netstat -ant | grep LIST tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN tcp6 0 0 :::22 :::* LISTEN 

And if I grep the processlist, there is no other memcached running.

Iptables reports the following:

Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp spt:11300 state ESTABLISHED ACCEPT tcp -- anywhere anywhere tcp spt:11211 state ESTABLISHED Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 

The EC2 instance is using the same security group as the original server, so the required ports are open.

Finally, maybe a hint is that the ifconfig IP address is different to the elastic IP address. If I try listening on either the inet adds: Bcast: the memcached service runs and binds however I can't seem to access memcached via the elastic IP.

I MUST be doing something stupid and obvious to you. Thanks for your help.

1 Answer 1

7

bind to 0.0.0.0 that should be public.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.