下载安装
https://www.consul.io/
https://releases.hashicorp.com/consul/1.14.4/consul_1.14.4_linux_amd64.zip
环境 3台linux IP:
servers:192.168.1.136,192.168.1.137,192.168.1.138
一台linux IP 192.168.1.133 以client 方式启动consul
./consul agent -bind=192.168.1.133 -client=0.0.0.0 -data-dir=/opt/module/consul/data/ -node=client01
在linux上安装部署
准备unzip,yum install unzip
准备目录,保存consul安装 文件 mkdir -p /opt/module/consul/data
解压文件到consul文件夹:unzip consul_1.14.4_linux_amd64.zip -d /opt/module/consul/
分别运行consul
./consul agent -server -bind=192.168.1.136 -client=0.0.0.0 -ui -bootstrap-expect=3 -data-dir=/opt/module/consul/data/ -node=server-01
./consul agent -server -bind=192.168.1.137 -client=0.0.0.0 -ui -bootstrap-expect=3 -data-dir=/opt/module/consul/data/ -node=server-02
./consul agent -server -bind=192.168.1.138 -client=0.0.0.0 -ui -bootstrap-expect=3 -data-dir=/opt/module/consul/data/ -node=server-03
命令方式指定leader
比如:192.168.1.136 为leader
那么在 137,138,133 上执行命令加入136
./consul join 192.168.1.136
成功加入后,通过命令查看集群状态
集群环境搭建完成
停掉一个server 之后 consul 自动把停止的服务删除,同时自动产生新的leader
再次启动服务后
8031是使用远程config 的项目
8021本地配置
8022与8021相同配置 只是端口不同
登录集群中任一台管理端:
http://machine136:8500/
创建远程配置
config/application/data
config/consulpayment-dev/data
登录其他服务器,配置信息同步创建,
另外启动支持配置文件的方式加载配置
如:
./consul agent -server -bind=192.168.1.136 -client=0.0.0.0 -ui -bootstrap-expect=3 -data-dir=/opt/module/consul/data/ -node=server-01 -config-dir=/opt/module/consul/setup
./consul agent -server -bind=192.168.1.137 -client=0.0.0.0 -ui -bootstrap-expect=3 -data-dir=/opt/module/consul/data/ -node=server-02 -config-dir=/opt/module/consul/setup
./consul agent -server -bind=192.168.1.138 -client=0.0.0.0 -ui -bootstrap-expect=3 -data-dir=/opt/module/consul/data/ -node=server-03 -config-dir=/opt/module/consul/setup
其中/opt/module/consul/setup 是个文件夹
-config-dir :就是指定加载置文件的目录,我们只需要填写配置文件的目录就可以帮助我们把该目录下所有的以.json结尾配置文件加载进去,它的加载顺序是根据26个字母的顺序加进行加载配置文件的。文件内容都是json格式的数据。默认后面文件定义配置会覆盖前面文件定义的配置。
consul为我们提供其他的配置文件属性:
acl_token:agent会使用这个token和consul server进行请求
acl_ttl:控制TTL的cache,默认是30s
addresses:一个嵌套对象,可以设置以下key:dns、http、rpc
advertise_addr:等同于-advertise
bootstrap:等同于-bootstrap
bootstrap_expect:等同于-bootstrap-expect
bind_addr:等同于-bind
ca_file:提供CA文件路径,用来检查客户端或者服务端的链接
cert_file:必须和key_file一起
check_update_interval:
client_addr:等同于-client
datacenter:等同于-dc
data_dir:等同于-data-dir
disable_anonymous_signature:在进行更新检查时禁止匿名签名
enable_debug:开启debug模式
enable_syslog:等同于-syslog
encrypt:等同于-encrypt
key_file:提供私钥的路径
leave_on_terminate:默认是false,如果为true,当agent收到一个TERM信号的时候,它会发送leave信息到集群中的其他节点上。
log_level:等同于-log-level node_name:等同于-node
ports:这是一个嵌套对象,可以设置以下key:dns(dns地址:8600)、http(http api地址:8500)、rpc(rpc:8400)、serf_lan(lan port:8301)、serf_wan(wan port:8302)、server(server rpc:8300)
protocol:等同于-protocol
rejoin_after_leave:等同于-rejoin
retry_join:等同于-retry-join
retry_interval:等同于-retry-interval
server:等同于-server
syslog_facility:当enable_syslog被提供后,该参数控制哪个级别的信息被发送,默认Local0
ui_dir:等同于-ui-dir
标签:部署,0.0,Consul,server,等同于,集群,data,consul,dir From: https://www.cnblogs.com/hztech/p/17121091.html