环境:
consul:consul_1.16.2_linux_amd64.zip centos7.9
server:192.168.50.154 192.168.50.155 192.168.50.156
client:192.168.70.64
安装目录:
[root@rabbit4-64 consul]# pwd
/app/consul
[root@rabbit4-64 consul]# ls
consul consul_1.16.2_linux_amd64.zip consul.json data
[root@rabbit4-64 consul]#
192.168.70.64 client
[root@rabbit4-64 consul]# cat consul.json
{
"datacenter": "ybjdc1",
"data_dir": "/app/consul/data",
"log_level": "INFO",
"node_name": "",
"server": false,
"ui": true,
"bootstrap_expect": 0,
"bind_addr": "192.168.70.64",
"client_addr": "192.168.70.64",
"retry_join": ["192.168.50.154","192.168.50.155","192.168.50.156"],
"retry_interval": "3s",
"raft_protocol": 3,
"enable_debug": false,
"rejoin_after_leave": true,
"enable_syslog": false
}
192.168.50.154 server
[root@first-1 consul]# cat consul.json
{
"datacenter": "ybjdc1",
"data_dir": "/app/consul/data",
"log_level": "INFO",
"node_name": "",
"server": true,
"ui": true,
"bootstrap_expect": 2,
"bind_addr": "192.168.50.154",
"client_addr": "192.168.50.154",
"advertise_addr": "192.168.50.154",
"retry_join": ["192.168.50.155","192.168.50.156"],
"retry_interval": "3s",
"raft_protocol": 3,
"enable_debug": false,
"rejoin_after_leave": true,
"enable_syslog": false
}
192.168.50.155 server
[root@second-2 consul]# cat consul.json
{
"datacenter": "ybjdc1",
"data_dir": "/app/consul/data",
"log_level": "INFO",
"node_name": "",
"server": true,
"ui": true,
"bootstrap_expect": 2,
"bind_addr": "192.168.50.155",
"client_addr": "192.168.50.155",
"advertise_addr": "192.168.50.155",
"retry_join": ["192.168.50.154","192.168.50.156"],
"retry_interval": "3s",
"raft_protocol": 3,
"enable_debug": false,
"rejoin_after_leave": true,
"enable_syslog": false
}
192.168.50.156 server
[root@three-3 consul]# cat consul.json
{
"datacenter": "ybjdc1",
"data_dir": "/app/consul/data",
"log_level": "INFO",
"node_name": "",
"server": true,
"ui": true,
"bootstrap_expect": 2,
"bind_addr": "192.168.50.156",
"client_addr": "192.168.50.156",
"advertise_addr": "192.168.50.156",
"retry_join": ["192.168.50.154","192.168.50.155"],
"retry_interval": "3s",
"raft_protocol": 3,
"enable_debug": false,
"rejoin_after_leave": true,
"enable_syslog": false
}
做成服务:
[root@rabbit4-64 consul]# cat /etc/systemd/system/consul.service
[Unit]
Description=Consul agent server
Documentation=https://www.consul.io/
Requires=network-online.target
After=network-online.target
[Service]
EnvironmentFile=-/etc/sysconfig/consul
Environment=GOMAXPROCS=4
Restart=on-failure
#User=consul
LimitNOFILE=65536
ExecStart=/app/consul/consul agent -config-file /app/consul/consul.json
ExecReload=/bin/kill -HUP $MAINPID
KillSignal=SIGINT
[Install]
WantedBy=multi-user.target
访问测试:http://192.168.50.154:8500/ui/ybjdc1/services/consul/instances
启动注意点:
可以先使用/app/consul/consul agent -config-file /app/consul/consul.json命令启动,会出现以下错误,但是当全部启动后,就没有出现connect: connection refused的情况了
2024-03-26T11:26:03.758+0800 [ERROR] agent.server.raft: failed to appendEntries to: peer="{Voter 31e197d0-480a-018f-392c-9a81fce11f98 192.168.50.155:8300}" error=EOF
2024-03-26T11:26:03.821+0800 [ERROR] agent.server.raft: failed to appendEntries to: peer="{Voter 31e197d0-480a-018f-392c-9a81fce11f98 192.168.50.155:8300}" error="dial tcp 192.168.50.154:0->192.168.50.155:8300: connect: connection refused"
2024-03-26T11:26:03.888+0800 [ERROR] agent.server.raft: failed to appendEntries to: peer="{Voter 31e197d0-480a-018f-392c-9a81fce11f98 192.168.50.155:8300}" error="dial tcp 192.168.50.154:0->192.168.50.155:8300: connect: connection refused"