




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Spring Cloud Consul1 consul的安装和配置1.1 consul agent 命令介绍下载consul_1.0.0_linux_amd64.zip解压,里面只有一个consul可执行文件,其中,consul最常用到的命令是agent 输入consul agent -h 可以查看帮助。其中常见的参数解释如下:l -advertise:通知展现地址用来改变我们给集群中的其他节点展现的地址,一般情况下-bind地址就是展现地址 l -bootstrap:用来控制一个server是否在bootstrap模式,在一个datacenter中只能有一个server处于bootstrap
2、模式,当一个server处于bootstrap模式时,可以自己选举为raft leader。 l -bootstrap-expect:在一个datacenter中期望提供的server节点数目,当该值提供的时候,consul一直等到达到指定sever数目的时候才会引导整个集群,该标记不能和bootstrap公用 l -bind:该地址用来在集群内部的通讯,集群内的所有节点到地址都必须是可达的,默认是 l -client:consul绑定在哪个client地址上,这个地址提供HTTP、DNS、RPC等服务,默认是 l -config-file:明确的指定要加载哪个
3、配置文件 l -config-dir:配置文件目录,里面所有以.json结尾的文件都会被加载 l -data-dir:提供一个目录用来存放agent的状态,所有的agent允许都需要该目录,该目录必须是稳定的,系统重启后都继续存在 l -dc:该标记控制agent允许的datacenter的名称,默认是dc1 l -encrypt:指定secret key,使consul在通讯时进行加密,key可以通过consul keygen生成,同一个集群中的节点必须使用相同的key l -join:加入一个已经启动的agent的ip地址,可以多次指定多个agent的地址。如果consul不能加入任何指定
4、的地址中,则agent会启动失败,默认agent启动时不会加入任何节点。 l -retry-join:和join类似,但是允许你在第一次失败后进行尝试。 l -retry-interval:两次join之间的时间间隔,默认是30s l -retry-max:尝试重复join的次数,默认是0,也就是无限次尝试 l -log-level:consul agent启动后显示的日志信息级别。默认是info,可选:trace、debug、info、warn、err。 l -node:节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名 l -protocol:consul使用的协议版本 l
5、 -rejoin:使consul忽略先前的离开,在再次启动后仍旧尝试加入集群中。 l -server:定义agent运行在server模式,每个集群至少有一个server,建议每个集群的server不要超过5个 l -syslog:开启系统日志功能,只在linux/osx上生效 l -ui-dir: 提供存放web ui资源的路径,该目录必须是可读的 l -pid-file: 提供一个路径来存放pid文件,可以使用该文件进行SIGINT/SIGHUP(关闭/更新) agent 要想利用consul提供的服务实现服务的注册与发现,我们需要建立consul cluster。在consul方案中,每
6、个提供服务的节点上都要部署和运行consul的agent,所有运行consul agent节点的集合构成consul cluster。consul agent有两种运行模式:server和client。这里的server和client只是consul集群层面的区分,与搭建在cluster之上的应用服务无关。以server模式运行的consul agent节点用于维护consul集群的状态,官方建议每个consul cluster至少有3个或以上的运行在server mode的agent,client节点不限。1.2 consul_1.0.0_linux_amd64安装我们这里以安装三个节点为例
7、,环境配置如下:7 以server模式运行6,2以client模式运行1.2.1 配置consul(三个节点依次按照下面的步骤配置consul)将下载好的安装包上传到linux上,存放在/home/user/tools/cluster目录。1) 把下载的consul_1.0.0_linux_amd64.zip文件解压unzip -o -d ./ consul_1.0.0_linux_amd64.zip #解压到当前路径2) 并把解压后的consul拷贝到/opt/consul目录,然后把/opt/consul目录加入到环境变量。(如
8、果不是root用户,执行下面命名之前需要加上sudo)。mkdir /opt/consulcp consul /opt/consulvim /etc/profile 加入:export PATH=/opt/consul:$PATH source /etc/profile1.2.2 运行1:在7节点上面进行cd /opt/consulmkdir dataconsul agent -server -bootstrap -bind= -client=7 -data-dir=data -ui -node=7这样,就启动了一个se
9、rver节点2:在6节点上面进行cd /opt/consulsudo mkdir datasudo consul agent -bind= -client=6 -data-dir=data -node=6 -join=7 -ui如果linux系统的防火墙没关,可能会报下面的错,需要将server跟client的防火墙都关闭:centos7系统:#查看默认防火墙状态(关闭后显示notrunning,开启后显示running)firewall-cmd -state 使用如下命令关闭firewall:sys
10、temctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动3:在另一个linux服务节点上面进行1.2.3 验证全部节点启动完之后访问7:8500/ 即可查看consul集群的管理页面在任意节点执行consul members 即可查看集群节点信息。这里在7节点执行consul members -http-addr=”7:8500”或者consul members -http-addr=
11、7:8500也可用:curl localhost:8500/v1/catalog/nodes等同于浏览器访问7:8500/v1/catalog/nodes:1.2.4 关闭节点1、consul leave -http-addr=6:85002、停止agent服务,在第一个终端中,你可以使用ctrl-c来优雅的停止agent,如果你停止的是client,当你优雅的离开后,consul会通知集群中的其他成员你这个节点以及处于left状态。如果你是强制killed掉agent,集群中的其他成员会认为你是failed了。当成员le
12、aves后,该成员的services和checks会从catalog被移除,当成员fails后,该成员的健康状态会被简单的标记为critical,但是不会从catalog删除。consul会自动的尝试链接failed的节点,这样允许节点在某些网络状况中恢复,如果节点是left状态,则不会再联系该节点。注意:之前版本中默认server的http端口是8400,次consul1.0的http是85006:8500/v1/agent/service/consul-provider-client1/7:8500/ui/consul-pro
13、vider-client21.3使用命令注册服务1. 创建文件夹/etc/consul.d .d代表有许多配置文件在里面2. 将服务配置文件写入文件夹内如 $ echo service: name: web, tags: rails, port: 80 /etc/consul.d/web.json3. 重启consul,并将配置文件的路径给consul$ consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -config-dir /etc/consul.d4. 查询ip和端口DNS方式:dig -p
14、8600 web.service.consul SRVHttp方式:curl http:/localhost:8500/v1/catalog/service/web5. 更新通过http api能对service配置文件增删改查,如果更新完成后,可以通过signup命令来生效consul agent -server -bootstrap -bind= -client=7 -data-dir=data -ui -node=7 -config-dir /etc/consul.dconsul agent -server -bootstrap -b
15、ind= -client=7 -data-dir=data -ui -node=7 -config-dir /etc/consul.dIssue:如果在配置 Consul 的时候,出现了下面错误:= Error decoding /etc/consul.d/hwapp_web.json: invalid character looking for beginning of value错误的原因是文件编码问题,需要将 Encoding 修改为ANSI编码(可以用 TXT 修改)。使用curl操作 K/Vconsul还提供了键/值存储的功能。如 查询 所有K/Vcurl -v http:/localhost:8500/v1/kv/?recurse保存键为web/key2, flags 为42, 值为true的记录。curl -X PUT -d test http:/localhost:8500/v1/kv/web/key2?flags=42true删除记录:curl -X DELETE http:/localhost:8500/v1/kv/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件设计师核心概念梳理试题及答案
- 2024年兰州市榆中县中医医院招聘笔试真题
- 2024年安徽省市场监管局下属事业单位真题
- 游戏行业会计个人工作计划
- 江苏省常州市钟楼区二十四中学2025年七年级数学第二学期期末质量跟踪监视试题含解析
- 保安工作总结计划广告宣传行业保安工作的广告位保护
- 2024年滨州市环境卫生清运大队招聘笔试真题
- 教育在幼儿园的实践计划
- 风险管理体系中的评估方法试题及答案
- 四川省成都市龙泉驿区2025年七下数学期末教学质量检测试题含解析
- 2024年山东济南先行投资集团有限责任公司招聘考试真题
- 江苏省扬州市邗江区2025年初三中考一模考试英语试题含答案
- 产褥期保健及护理课件
- 陕西省西安市2025届中考模拟英语检测试题(附答案)
- 2025-2030消防车产业规划专项研究报告
- 初中英语教辅电子版单选题100道及答案
- 2025年上海市崇明区中考二模英语试题(含答案)
- 大型心血管造影系统及其DSA质量控制
- 国家中小学智慧教育平台应用指南
- 2024北京丰台区三年级(下)期末数学试题及答案
- 2024-2025学年人教版七年级(下)期中数学试卷(考试范围:第7~9章) (含解析)
评论
0/150
提交评论