問

nats 集群安装

2023-11-23 · 2 min read

部署

当前版本:Release v2.10.5

  • 根据系统下载对应的文件,上传到所有的机器上
wget http://127.0.0.1:8000/nats-server-v2.10.5-amd64.deb
# 此处省略输出
root@vm:~# ls
nats-server-v2.10.5-amd64.deb
  • 安装
apt install ./nats-server-v2.10.5-amd64.deb

忽略报错

N: Download is performed unsandboxed as root as file '/root/nats-server-v2.10.5-amd64.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
[Unit]
Description=NATS Server
After=network-online.target ntp.service

[Service]
PrivateTmp=true
Type=simple
ExecStart=/usr/bin/nats-server -c /opt/nats/nats.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s SIGINT $MAINPID
KillSignal=SIGUSR2
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
  • 配置文件
mkdir -pv /opt/nats/nats.conf
vim /opt/nats/nats.conf

配置内容

port: 4242
# net: example
http_port: 4243

authorization {
  user:     root
  password: admin
  timeout:  1
}

cluster {
  host: '0.0.0.0'
  port: 4244
  authorization {
    user: root
    password: admin
    timeout: 0.5
  }

  routes = [
    nats://root:admin@192.168.0.1:4244
    nats://root:admin@192.168.0.2:4244
    nats://root:admin@192.168.0.3:4244
  ]
}
debug:   false
trace:   true
logtime: false
log_file: "/var/log/nats-server.log"
pid_file: "/tmp/nats.pid"
max_connections: 100
max_control_line: 512
max_payload: 65536
  • 启动
systemctl daemon-reload
systemctl enable --now nats
systemctl status nats

其他

报错检查

/usr/bin/nats-server -c /opt/nats/nats.conf

参考: