Consul 启动命令,Web UI

Stella981
• 阅读 1056

一、服务端:

nohup consul agent -server -bootstrap-expect 1 -config-dir /etc/consul.d/ -data-dir /var/opt/consul -bind=125.72.214.83 >> /var/opt/consul/consul.log 2>&1

注册服务:

curl -X PUT -d '{"type":"localService","outPort":8085,"outPath":"/websocket", "forwardAddress":"125.72.2·4.83", "forwardPort":"8085"}' http://localhost:8500/v1/kv/websocket/my

webui添加:http://localhost:8500/ui

-client 0.0.0.0 -ui

二、客户端:

nohup consul agent -config-dir /etc/consul.d/ -data-dir /var/opt/consul -bind=121.42.204.73 -join=121.42.204.73 >consul.log 2>&1 &

1. 配置生效顺序

命令行>环境变量>配置文件

2. 重加载

SIGHUP信号触发。

3. 命令行配置

-bootstrap:启动模式,此模式下,节点可以选举自己为leader,一个数据中心只能有一个此模式启动的节点。机群启动后,新启动的节点不建议使用这种模式。

-bootstrap-expect:设定一个数据中心需要的服务节点数,可以不设置,设置的数字必须和实际的服务节点数匹配。consul会等待直到数据中心下的服务节点满足设定才会启动集群服务。初始化leader选举,不能和bootstrap混用。必须配合-server配置。

-bind:绑定的内部通讯地址,默认0.0.0.0,即,所有的本地地址,会将第一个可用的ip地址散播到集群中,如果有多个可用的ipv4,则consul启动报错。[::]ipv6,TCP UDP协议,相同的端口。防火墙配置。

-client:客户端模式,http dns,默认127.0.0.1,回环令牌网址

-config-file:配置文件位置

-config-dir:配置文件所在文件夹,会加载其下所有配置文件,.json或者.hcl文件,加载顺序为字母表顺序;可用配置多个此配置,从而加载多个文件夹,子文件夹的配置不会被加载。

-config-format:配置文件格式,配置了,则加载相应个是的文件。不配置,则consul自动识别。

-data-dir:状态数据存储文件夹,所有的节点都需要。文件夹位置需要不收consul节点重启影响,必须能够使用操作系统文件锁,unix-based系统下,文件夹文件权限为0600,注意做好账户权限控制,

-datacenter:数据中心名称,默认dc1,一个数据中心的所有节点都必须在一个LAN中。

-dev:开发模式,去掉所有持久化选项,内存服务器模式。

-disable-host-node-id:不使用host信息生成node ID,适用于同一台服务器部署多个实例用于测试的情况。随机生成nodeID

-dns-port:v7.0以后,自定义dns 端口,覆盖默认8600

-enable-script-checks:是否允许使用脚本进行健康检查,默认false,最好配置enable acl

-encrypt:consul网络通讯加密key,base64加密,16比特;consul keygen产生。集群中的每个实例必须提供相同的,只需提供一次,然后会保存到数据文件。重启自动加载。consul节点启动后提供,会被忽略。

-hcl:添加hcl格式配置,和已有的配置合并。可以使用多个此配置。

-http-port:http api端口,覆盖默认的8500。适用于云环境指定。

-log-file:日志记录文件,如果没有提供文件名,则默认Consul-时间戳.log

-log-level:日志级别,默认info,包含:trace,debug,info,warn,err;consul monitor监控

-log-rotate-bytes:新日志文件生成大小阈值。

-log-rotate-rotation:新日志生成时间阈值

-join:需要加入的其它节点地址,可以多次使用,加入多个节点。

-retry-join:会进行加入重试,适用于认定加入节点最终会正常的情况。ipv4,ipv6,dns

-retry-interval:上述,重试间隔,默认30s

-retry-max:重试次数,默认0,无限次重试

-join-wan-retry-join-wan-retry-interval-wan-retry-max-wan

-node:节点名称,默认主机名

-node-id:节点ID,

-pid-file: consul 存储 pid 的文件位置,用于主动发信号。如停止节点,重载配置等。

-protocol:使用的协议,升级时使用。consul -v查看协议版本

-raft-protocol:使用raft协议版本,默认3

-raft-snapshot-threshold:raft执行快照,提交次数阈值。一般不需要设置,io密集型应用可以调高。避免所有的节点同一时间快照。此值过大,会造成相应日志文件变大,节点重启恢复会耗费更长时间。1.1.0后,默认16384,之前8192.

-raft-snapshot-interval:执行快照间隔,影响类似上个配置,1.1.0后默认30s,之前5s。

-rejoin:节点会尝试重新加入集群。

-server:服务端节点模式。

-server-port:服务端RPC端口,v1.2.2后提供。

-non-voting-server:服务节点不参与选举,接受日志复制,用于横向扩展,服务查询请求。(类比zookeeper 观察者节点)

-syslog:linux OSX系统,配置日志输出到系统日志。

-ui:内置web ui界面。

-ui-dir:web ui 资源文件夹,使用此配置,则不需也不能使用再-ui配置。

4. 默认使用端口:

服务端RPC:默认8300,TCP。

Serl LAN:处理LAN gossip,默认8301,TCP UDP。

Serl WAN:处理LAN gossip,默认8302,TCP UDP。

HTTP API:8500,TCP.

DNS:8600,TCP,UDP.

5. 可重载配置:

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这