Nats集群部署
1、下载并安装nats-server
在每个节点上下载并按照nats,可以在以下位置找到各个版本的nats-server:https://github.com/nats-io/nats-server/releases/
下载的版本为:v2.9.21
也可以用curl命令下载
curl -L https://github.com/nats-io/nats-server/releases/download/v2.9.21/nats-server-v2.9.21-linux-amd64.tar.gz -o nats-server.tar.gz
然后解压到/opt/目录下
tar -zxvf nats-server.tar.gz -C /opt/
解压后的文件
2、nats集群配置
在解压后的目录下新建一个nats.conf文件,按照如下配置
节点1
# node1 - nats.conf
listen: 0.0.0.0:4222
# HTTP监控端口
http_port: 8222
# 客户端连接的认证信息
authorization {
user: node1_user
password: node1_pass
timeout: 1
}
# 集群定义
cluster {
name: "nats-cluster"
listen: 0.0.0.0:6222
routes = [
nats-route://route2_user:route2_pass@node2:6222,
nats-route://route3_user:route3_pass@node3:6222
]
# 路由连接的认证信息
authorization {
user: route1_user
password: route1_pass
timeout: 1
}
}
# 日志选项
log_file: "./nats.log"
# PID进程文件
pid_file: "./nats.pid"
节点2
# node2 - nats.conf
listen: 0.0.0.0:4222
# HTTP监控端口
http_port: 8222
# 客户端连接的认证信息
authorization {
user: node2_user
password: node2_pass
timeout: 1
}
# 集群定义
cluster {
name: "nats-cluster"
listen: 0.0.0.0:6222
routes = [
nats-route://route1_user:route1_pass@node1:6222,
nats-route://route3_user:route3_pass@node3:6222
]
# 路由连接的认证信息
authorization {
user: route2_user
password: route2_pass
timeout: 1
}
}
# 日志选项
log_file: "./nats.log"
# PID进程文件
pid_file: "./nats.pid"
节点3
# node3 - nats.conf
listen: 0.0.0.0:4222
# HTTP监控端口
http_port: 8222
# 客户端连接的认证信息
authorization {
user: node3_user
password: node3_pass
timeout: 1
}
# 集群定义
cluster {
name: "nats-cluster"
listen: 0.0.0.0:6222
routes = [
nats-route://route1_user:route1_pass@node1:6222,
nats-route://route2_user:route2_pass@node2:6222
]
# 路由连接的认证信息
authorization {
user: route3_user
password: route3_pass
timeout: 1
}
}
# 日志选项
log_file: "./nats.log"
# PID进程文件
pid_file: "./nats.pid"
3、启动nats集群
在每个节点的nats安装目录下执行以下命令
nats-server -c nats.conf
在每个节点的nats安装目录下查看nats.log日志,出现
less nats.log
没有出现error表示启动成功