OK, eu resolvi isso. Eu tive um problema com o meu script xinetd.
Falha ao ligar no 9200 - corrigido no arquivo / etc / services.
Eu estou tentando usar o HAProxy como um balanceador de carga para 2 nós mysql. Eu tenho HAProxy escutando em 3307 e encaminha solicitações para os bancos de dados em 3306. Quando o cliente está tentando se conectar ao proxy (mysql -u ... -h .. -P3307 -p ...) obtém o seguinte erro :
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system >error: 0
Quando o cliente está tentando se conectar diretamente ao DB, ele funciona bem. Não tenho ideia do motivo de sua falha quando o tráfego passa pelo proxy.
Veja o que eu já verifiquei:
/etc/hosts.allow inclui "mysqld: ALL: permitir"
O arquivo de configuração do MySQL (my.cnf) não possui uma linha de endereço de ligação (aberta para todos).
Estou usando o HAProxy 1.5dev, o Mysql 5.1.xe todo o enchilada está sendo executado em ec2 no Amazon linux.
Aqui está o arquivo de configuração do HAProxy:
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
#log loghost local0 info
user haproxy
group haproxy
maxconn 4096
daemon
#debug
#quiet
defaults
log global
mode tcp
option tcplog
option dontlognull
retries 3
option redispatch
maxconn 4096
contimeout 5000
clitimeout 50000
srvtimeout 50000
frontend mysql_cluster
bind 10.0.0.150:3307
default_backend mysql_cluster
backend mysql_cluster
mode tcp
balance roundrobin
option tcpka
option httpchk
server lb1 10.0.0.140:3306 check port 9200 inter 5s rise 2 fall 2
server lb2 10.0.0.214:3306 check port 9200 inter 5s rise 2 fall 2
listen stats 10.0.0.150:8081
mode http
option httpclose
balance roundrobin
stats uri /
stats realm Haproxy\ Statistics
stats auth ***:***
Alguém já resolveu esse problema antes? Alguma idéia de como resolver isso?
Qualquer ajuda muito apreciada
OK, eu resolvi isso. Eu tive um problema com o meu script xinetd.
Falha ao ligar no 9200 - corrigido no arquivo / etc / services.
Obrigado querido, ótimo,
HAproxy precisa de xinetd para ser configurado corretamente para funcionar abaixo do erro aparece,
ERROR 2013 (HY000): Perda de conexão com o servidor MySQL na 'leitura do pacote de comunicação inicial', erro do sistema: 0
O Xinetd deve ser atualizado se já estiver em execução.
Ocorre geralmente quando o erro de respostas do serviço de verificação de integridade xinetd
.
você pode depurar xinetd
by telnet
assim:
telnet IPADDR PORT # IPADDR: one of the IPs of your nodes
# PORT: the port that node is listening.
a saída informa sobre o problema.