2012-04-12 2 views
2

Ich hatte einen laufenden EC2-Server mit einer elastischen IP-Adresse, die gerne memcached und beanstalkd auf der externen IP an Port 11211 und 11300 abhört. Ich nahm eine AMI des Servers, um die Größe zu aktualisieren, und als der Server neu gestartet wurde, wurden weder Memcached noch Beanstalkd ausgeführt. Probleme mit memcached, da init.d neu gestartet wurde, aber beanstalkd als Daemon über die Befehlszeile ausgeführt wurde.Binding memcached und Beanstalk an externe IP auf einer EC2-Instanz

Aber nach mehreren Stunden kann ich nicht herausfinden, wie man sie wieder in Gang bringt.

Für Memcached der Konfigurationsdatei lautet:

# 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> 

Wenn ich versuche, und als root von der Kommandozeile Memcached laufen:

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

ich:

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

Doch wenn Ich sehe netstat, nichts ist schon an diesen Port gebunden:

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 

Und wenn ich die Prozessliste grep, gibt es kein anderes memcached ausgeführt.

Iptables berichtet folgendes:

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 

Die EC2-Instanz die gleiche Sicherheitsgruppe wie der ursprüngliche Server verwendet, so sind die erforderlichen Ports geöffnet.

Schließlich ist vielleicht ein Hinweis, dass die IP-Adresse ifconfig ist anders als die elastische IP-Adresse. Wenn ich versuche zu hören, fügt entweder das inet hinzu: Bcast: der memcached-Dienst läuft und bindet, aber ich kann anscheinend nicht auf memcached über die elastische IP zugreifen.

Ich MUSS etwas Dummes und Offensichtliches für Sie tun. Danke für Ihre Hilfe.

Antwort

7

Bindung an 0.0.0.0, die öffentlich sein sollte.