etcd2 falha ao iniciar no meu nó CoreOS

3

Estou tentando iniciar o etcd2 no meu nó CoreOS.

Eu tenho isso no meu cloud-config:

coreos:
  etcd2:
    discovery: https://discovery.etcd.io/new?size=1
    advertise-client-urls: http://127.0.0.1:2379,http://127.0.0.1:4001
    initial-advertise-peer-urls: http://127.0.0.1:2380
    listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
    listen-peer-urls: http://127.0.0.1:2380

Após a instalação, quando eu inicializo o sistema, recebo o erro (de acordo com os logs):

etcdmain: invalid character 'p' after top-level value

e o etcd2 falha ao iniciar.

O que isso significa? Eu segui os guias no link e link .

EDITAR

Nó 1

coreos:
  etcd2:
    name: coreos1
    discovery: https://discovery.etcd.io/2d585793b364cf8985ca7a983d6c52e3
    advertise-client-urls: http://127.0.0.1:2379,http://127.0.0.1:4001
    initial-advertise-peer-urls: http://127.0.0.1:2380
    listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
    listen-peer-urls: http://127.0.0.1:2380

Nó 2

coreos:
  etcd2:
    name: coreos2
    discovery: https://discovery.etcd.io/2d585793b364cf8985ca7a983d6c52e3
    advertise-client-urls: http://127.0.0.1:2379,http://127.0.0.1:4001
    initial-advertise-peer-urls: http://127.0.0.1:2380
    listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
    listen-peer-urls: http://127.0.0.1:2380

coreos1 > journalctl -u etcd2:

Sep 21 20:10:31 coreos1 etcd2[671]: 2015/09/21 20:10:31 discovery: found self e276d5b4c276a19d in the cluster
Sep 21 20:10:31 coreos1 etcd2[671]: 2015/09/21 20:10:31 discovery: found 1 peer(s), waiting for 1 more
Sep 21 20:11:31 coreos1 etcd2[671]: 2015/09/21 20:11:31 discovery: error #0: client: etcd member https://discovery.etcd.io returns server error [Gateway Timeout]
Sep 21 20:11:31 coreos1 etcd2[671]: 2015/09/21 20:11:31 discovery: waiting for other nodes: error connecting to https://discovery.etcd.io, retrying in 8m32s

coreos2 > journalctl -u etcd2:

Sep 21 20:11:43 coreos2 systemd[1]: Starting etcd2...
Sep 21 20:11:43 coreos2 etcd2[1515]: 2015/09/21 20:11:43 etcdmain: etcd Version: 2.1.2
Sep 21 20:11:43 coreos2 etcd2[1515]: 2015/09/21 20:11:43 etcdmain: Git SHA: ff8d1ec
Sep 21 20:11:43 coreos2 etcd2[1515]: 2015/09/21 20:11:43 etcdmain: Go Version: go1.4.2
Sep 21 20:11:43 coreos2 etcd2[1515]: 2015/09/21 20:11:43 etcdmain: Go OS/Arch: linux/amd64
Sep 21 20:11:43 coreos2 etcd2[1515]: 2015/09/21 20:11:43 etcdmain: setting maximum number of CPUs to 1, total number of available CPUs is 1
Sep 21 20:11:43 coreos2 etcd2[1515]: 2015/09/21 20:11:43 etcdmain: listening for peers on http://127.0.0.1:2380
Sep 21 20:11:43 coreos2 etcd2[1515]: 2015/09/21 20:11:43 etcdmain: listening for client requests on http://0.0.0.0:2379
Sep 21 20:11:43 coreos2 etcd2[1515]: 2015/09/21 20:11:43 etcdmain: listening for client requests on http://0.0.0.0:4001
Sep 21 20:11:45 coreos2 etcd2[1515]: 2015/09/21 20:11:45 etcdmain: stopping listening for client requests on http://0.0.0.0:4001
Sep 21 20:11:45 coreos2 etcd2[1515]: 2015/09/21 20:11:45 etcdmain: stopping listening for client requests on http://0.0.0.0:2379
Sep 21 20:11:45 coreos2 etcd2[1515]: 2015/09/21 20:11:45 etcdmain: stopping listening for peers on http://127.0.0.1:2380
Sep 21 20:11:45 coreos2 etcd2[1515]: 2015/09/21 20:11:45 etcdmain: member "core2" has previously registered with discovery service token (https://discovery.etcd.io/2d585793b364cf8985ca7a983d6c52e3).
Sep 21 20:11:45 coreos2 etcd2[1515]: 2015/09/21 20:11:45 etcdmain: But etcd could not find vaild cluster configuration in the given data dir (/var/lib/etcd2).
Sep 21 20:11:45 coreos2 etcd2[1515]: 2015/09/21 20:11:45 etcdmain: Please check the given data dir path if the previous bootstrap succeeded
Sep 21 20:11:45 coreos2 etcd2[1515]: 2015/09/21 20:11:45 etcdmain: or use a new discovery token if the previous bootstrap failed.
Sep 21 20:11:45 coreos2 systemd[1]: etcd2.service: Main process exited, code=exited, status=1/FAILURE
Sep 21 20:11:45 coreos2 systemd[1]: etcd2.service: Unit entered failed state.
Sep 21 20:11:45 coreos2 systemd[1]: etcd2.service: Failed with result 'exit-code'.
    
por Rox 20.09.2015 / 20:13

2 respostas

6

Seu URL de descoberta está incorreto - o URL https://discovery.etcd.io/new?size=1 é usado para obter um novo URL de descoberta que você pode usar em sua configuração. Faça isso uma vez manualmente, por ex. com ondulação:

curl --silent -H "Accept: text/plain" https://discovery.etcd.io/new?size=1

Isso retornará um URL como este:

https://discovery.etcd.io/a93e30ebf9375f2385fef54c83b2840d

É um URL como esse que deve ser seu URL de descoberta. Sempre use uma nova URL de descoberta sempre que você criar um novo cluster.

    
por 21.09.2015 / 11:10
0

Se esse é todo o arquivo cloud-config.yml, então está errado.

A primeira linha do arquivo precisa ser:

#cloud-config

ou seja,

#cloud-config

coreos:
  etcd2:
    discovery: https://discovery.etcd.io/new?size=1
    advertise-client-urls: http://127.0.0.1:2379,http://127.0.0.1:4001
    initial-advertise-peer-urls: http://127.0.0.1:2380
    listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
    listen-peer-urls: http://127.0.0.1:2380

Além disso, tenha cuidado ao copiar o cloud-config de um site. Eu tive alguns caracteres estranhos escondidos no arquivo de saída resultante que causou erros do analisador e resultando em falha!

    
por 21.09.2015 / 00:35

Tags