前言

伟大领袖毛主席说过:实践是检验真理的唯一标准!经过上一篇的学习,我基本掌握了 Consul 的基本原理,接下来就是动手实践了;Consul 的部署方式分为两种,分别是二进制包和docker方式,这次就以二进制包的方式进行实验吧。

本次实验使用物料准备:

1、 Consul 服务器集群 3 台,系统为 Centos7.0

下载二进制包

访问 Consul 的官方网站:https://www.consul.io,看懂非常牛逼的一句话,让打造服务网格变简单!然后大大的屏幕上放着两个按钮:Download or Get Started;表示你要么立即开始干要么先学一段,右边就是一个高大上的视频操作介绍,看着就让人热血沸腾;这我哪里能忍,点击下载:https://www.consul.io/downloads.html ,话不多说,打开服务器的 ssh,果断敲下一梭子:

cd /tmp

wget https://releases.hashicorp.com/consul/1.5.1/consul_1.5.1_linux_amd64.zip

unzip consul_1.5.1_linux_amd64.zip -d /usr/local/bin

编辑 /etc/profile 文件,添加环境变量,保存后退出。

vi /etc/profile

export CONSUL_HOME=/usr/local/bin/consul

export PATH=$PATH:CONSUL_HOME

// 使用环境变量配置生效

source /etc/profile

验证 Consul 安装是否成功,在命令行输入:consul

consul --version

输出结果:

看到这个结果,我心里是很安慰的,不过如此嘛,一点都不像其它软件,从下载源码到编译,从安装 gcc 到 gdi+ 的依赖,先跑1万个依赖文件的列表,Consul 也太 easy 了。

入门必学必记文档

安装好 Consul 后,在启动程序之前,需要掌握一些配置参数,通过掌握这些参数,可以一次性的成功运行 Consul 服务器集群,常用的参数如下:

参数名称用途

-server

此标志用于控制代理是运行于服务器/客户端模式,每个 Consul 集群至少有一个服务器,正常情况下不超过5个,使用此标记的服务器参与 Raft一致性算法、选举等事务性工作

-client

表示 Consul 绑定客户端接口的IP地址,默认值为:127.0.0.1,当你有多块网卡的时候,最好指定IP地址,不要使用默认值

-bootstrap-expect

预期的服务器集群的数量,整数,如 -bootstrap-expect=3,表示集群服务器数量为3台,设置该参数后,Consul将等待指定数量的服务器全部加入集群可用后,才开始引导集群正式开始工作,此参数必须与 -server 一起使用

-data-dir

存储数据的目录,该目录在 Consul 程序重启后数据不会丢失,指定此目录时,应确保运行 Consul 程序的用户对该目录具有读写权限

-node

当前服务器在集群中的名称,该值在整个 Consul 集群中必须唯一,默认值为当前主机名称

-bind

Consul 在当前服务器侦听的地址,如果您有多块网卡,请务必指定一个IP地址(IPv4/IPv6),默认值为:0.0.0.0,也可用使用[::]

-datacenter

代理服务器运行的数据中心的名称,同一个数据中心中的 Consul 节点必须位于同一个 LAN 网络上

-ui

启用当前服务器内部的 WebUI 服务器和控制台界面

-join

该参数指定当前服务器启动时,加入另外一个代理服务器的地址,在默认情况下,如果不指定该参数,则当前代理服务器不会加入任何节点。可以多次指定该参数,以加入多个代理服务器,

-retry-join

用途和 -join 一致,当第一次加入失败后进行重试,每次加入失败后等待时间为 30秒

-syslog

指定此标志意味着将记录 syslog,该参数在 Windows 平台不支持

启动 Consul

终于来到这一步了,目前我手上有 3 台嗷嗷待哺的 Centos-7.0 服务器,他们的IP地址分别是:

192.168.33.50

192.168.33.51

192.168.33.52

分别在三台服务器输入以下对应的命令

// 192.168.33.50

consul agent -server -ui -bootstrap-expect=3 -data-dir=/data/consul -node=agent-1 -client=0.0.0.0 -bind=192.168.33.50 -datacenter=dc1

// 192.168.33.51

consul agent -server -ui -bootstrap-expect=3 -data-dir=/data/consul -node=agent-2 -client=0.0.0.0 -bind=192.168.33.51 -datacenter=dc1 -join 192.168.33.50

// 192.168.33.52

consul agent -server -ui -bootstrap-expect=3 -data-dir=/data/consul -node=agent-3 -client=0.0.0.0 -bind=192.168.33.52 -datacenter=dc1 -join 192.168.33.50

上面的命令几乎无法再精简,简单来说,就是指定了 consul(-server) 集群有3台(-bootstrap-expect=3 )服务器(-node),指定当前主机客户端侦听地址为( -client=0.0.0.0 ),因为我有多块网卡,如果不指定,无法运行127.0.0.1。绑定了当前主机的IP地址(-bind),指定了一个数据中心的名称(-datacenter=dc1),后两台服务器在启动的时候加入第一台代理服务器(-join 172.16.1.218),同时指定了启用每台服务器的内置 WebUI 服务器组件(-ui),当三台服务器都正确运行起来以后,Consul 集群将自动选举 leader,自动进行集群事务,无需干预。

正常启动的服务器应该输出下面的信息

现在,我尝试通过某台服务器访问 Consul 的 WebUI 控制台,web 控制台默认端口为:8500,查看集群状态,输入地址:

http://192.168.33.50:8500/

上面的IP地址可以是 3 台 Consul 服务器中的任意一台,打开网页后,转向 Nodes 菜单,可以看到,由 3 台代理服务器组成的集群已成功启动和运行,健康检查都是草原的颜色,非常的健康。

在网页控制台中,除了了看到 Consul 的服务器集群的信息,还可以对 key/value 、ACL 等进行管理。

原文 https://www.cnblogs.com/viter/p/11018953.html

f12控制台如何查看consul_Consul初探-从安装到运行相关推荐

  1. f12控制台如何查看consul_如何打印consul的错误信息

    在配置文件中添加 management: endpoints: web: exposure: include: "*" endpoint: shutdown: enabled: t ...

  2. f12控制台如何查看consul_基于 Consul 的 Go Micro 客户端服务发现是如何实现的

    基于 Consul 的 Go Micro 客户端服务发现是如何实现的 由 学院君 创建于1年前, 最后更新于 1年前 版本号 #1 上篇分享我们介绍了基于 Consul 作为注册中心的 Go Micr ...

  3. 怎么看服务器上jdk安装位置,查看云服务器jdk安装路径

    查看云服务器jdk安装路径 内容精选 换一换 用户可以在公有云MRS集群以外的节点上使用客户端,在使用客户端前需要安装客户端.如果集群外的节点已安装客户端且只需要更新客户端,请使用安装客户端的用户例如 ...

  4. pip 常用命令及控制台怎么查看python 及pip 和已安装包版本号

    在使用python的时候,经常使用到pip这个工具,可以很方便的线上安装依赖库,当然pip还有很多参数都可以帮我们去查询一些库信息,在安装python的时候,下载带有pip的安装包就可以直接安装pip ...

  5. 怎么看电脑安装python_查看电脑有没有安装Python的方法

    查看电脑有没有安装Python的方法 发布时间:2020-07-08 16:33:27 来源:亿速云 阅读:78 作者:清晨 这篇文章主要介绍查看电脑有没有安装Python的方法,文中介绍的非常详细, ...

  6. 查看python版本和安装路径

    学习笔记,仅供参考 参考自:cmd中查看python版本和安装路径 我们可以在cmd中输入如下命令,查看python的版本以及安装路径: C:\Users\goatbishop>python - ...

  7. Linux中查看某个软件的安装路径

    Linux中查看某个软件的安装路径(地址)有时显得非常重要.比如某个文件的快速启动项被删除,或者你要建立快速启动项,或者想删除.添加安装文件等等,很多地方都要用到查案文件安装路径的命令. 这里给大家介 ...

  8. consul命令行查看服务_Go语言微服务架构实战:第十三节 微服务管理--Docker安装及运行consul节点...

    微服务管理--Docker安装及运行consul节点 搭建集群 在真实的生产环境中,需要真实的部署consul集群.在一台机器上想要模拟多台集群部署的效果,有两种方案:一种是借助虚拟机,另一种是借助容 ...

  9. 如何查看电脑上是否安装了MySQL

    如何查看电脑上是否安装了MySQL 1.首先win+R输入cmd回车,打开系统终端,如图: 2.在终端页面输入services.msc,回车,弹出如下窗口,如图: 3.在弹出的窗口,点击一下第一行,然 ...

最新文章

  1. 异步/等待-什么时候返回Task vs void?
  2. Redis五种数据结构详解
  3. 数据结构与算法之KMP算法
  4. snmp 获得硬件信息_信息系统项目管理师(三)
  5. java.lang.object 下载_java.lang.Object
  6. Github应用最广泛的开源项目
  7. maven:pom文件详解
  8. Ubuntu 10.04 使用libfetion
  9. 以前的我们——那年大一
  10. simplescalar自动安装
  11. python读取微博文本数据,对微博文本进行分句(分句主要以特定的标点符号为主)。...
  12. java项目开发案例 报销_java19134企业员工出差报销预算管理系统-SSH-Mysql
  13. adf被打开_HP Laserjet M1522nf 出现ADF门打开 是什么意思
  14. 监控服务器时间无法修改怎么办,监控服务器目录修改时间
  15. Elasticsearch 7.X data stream 深入详解
  16. spring定时任务的应用
  17. 4412 fimc to hdmi
  18. linux rz位置,Linux下rz命令使用的实例详解
  19. iNFTnews丨Web3正吸引着全球顶尖人才的目光
  20. 有参考图像的图像质量评估方法及代码(PSNR,SSIM,RMSE,NRMSE,ENTROPY)

热门文章

  1. WebsocketWebSSH
  2. 基于策略的一种高效内存池的实现
  3. 软件调试学习笔记(三)—— 调试事件的处理
  4. lingo变量无限制版本_Quicker 0.10.7 版本发布
  5. redis 获取服务器信息,StringRedisTemplate获取redis信息
  6. 【JUC并发编程03】线程间通信
  7. 【设计模式】开闭原则
  8. 【数据结构-图】2.多图详解最小生成树(多图详解+实现代码)
  9. MySQL的insert into select 引发锁表
  10. 计算营业额的python代码_【每日一练】巧用python实现利润计算