当前位置: 首页 > news >正文

Ubuntu 下载安装 Consul1.17.1

下载

wget https://releases.hashicorp.com/consul/1.17.1/consul_1.17.1_linux_amd64.zip

解压:

unzip -d consul_1.17.1_linux_amd64.zip /opt/module

将解压出的二进制文件移动到 /usr/local/bin 目录中以便在系统中全局使用:

sudo mv consul /usr/local/bin/

验证安装是否成功:

consul --version

启动

创建存储 Consul 数据目录以及存放配置文件的目录:

sudo mkdir -p /opt/module/consul-1.17.1/data
/opt/module/consul-1.17.1/conf

进入 /opt/module/consul-1.17.1/conf 配置文件目录,创建一个配置文件:

cd /opt/module/consul-1.17.1/conf
sudo touch base_conf.json

配置文件内容如下:

{"datacenter": "dc","data_dir": "/opt/module/consul-1.17.1/data","log_level": "INFO","node_name": "node73","server": true,"bootstrap_expect": 1,"bind_addr": "192.168.10.73","advertise_addr": "192.168.10.73","client_addr": "0.0.0.0","ui_config": {"enabled": true}
}

client_addr 配置项指定了 Consul 代理监听来自客户端请求的网络接口地址。

bind_addr 设置为 ip,设置成 hostname 会有问题。

为了让 Consul 能作为服务自动启动,我们需要创建一个 systemd 服务文件:

[Unit]
Description="HashiCorp Consul - A service mesh solution"
Documentation=https://www.consul.io/
Requires=network-online.target
After=network-online.target[Service]
User=consul
Group=consul
ExecStart=sudo /usr/local/bin/consul agent -server -data-dir=/opt/module/consul-1.17.1/data -config-dir=/opt/module/consul-1.17.1/conf
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
LimitNOFILE=65536[Install]
WantedBy=multi-user.target

执行以下命令启动 Consul 并设置随系统启动:

sudo systemctl enable consul
sudo systemctl start consul

你可以通过以下命令查看 Consul 服务状态(不分页):

sudo systemctl status consul --no-pager

为了方便启动、停止、查看 Consul 的状态,创建一个脚本 myConsul.sh,放到 /usr/local/bin 目录下(放在这个目录下是为了在任何路径都能使用 myConsul 这个脚本):

#!/bin/bashcase $1 in
"start"){sudo systemctl start consul
};;
"stop"){sudo systemctl stop consul
};;
"status"){sudo systemctl status consul --no-pager
};;
esac

访问 8500 端口就能看到 Consul 的页面了,使用 myConsul.sh start命令就可以启动 Consul 了。

服务出现红叉叉问题

这是因为注册的服务没有配置心跳检测,导致 Consul 认为服务是不健康的,需要在服务的配置中配置如下内容:

spring:application:name: cloud-order-servicecloud:consul:host: node73port: 8500discovery:service-name: ${spring.application.name}heartbeat:enabled: truehealth-check-url: http://192.168.10.103:${server.port}/management/healthconfig:profile-separator: '-'format: yamlwatch:wait-time: 3

重启服务,然后就会正常了:


http://www.mrgr.cn/news/82648.html

相关文章:

  • 【MySQL 保姆级教学】用户管理和数据库权限(16)
  • 【练习】PAT 乙 1022 D进制的A+B
  • 141.《mac m1安装mongodb详细教程》
  • 香橙派5plus单独编译并安装linux内核无法启动的原因分析与解决记录
  • idea( 2022.3.2)打包报错总结
  • 【PX4飞控】mavros_msgs PositionTarget 字段含义与发布方法
  • Branch-Solve-Merge Improves Large Language Model Evaluation and Generation
  • 高中数学部分基础知识
  • 【51单片机零基础-chapter4:LED数码管】
  • 【51单片机零基础-chapter2:灯独立点亮,自定义点亮,跑马灯点亮,函数】
  • 1.1.3 插入排序
  • GNU链接器简介
  • MAC环境安装(卸载)软件
  • 数据结构C语言描述8(图文结合)--哈希、哈希冲突、开放地址法、链地址法等实现
  • Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(2):配置主数据库
  • Kraft模式安装Kafka(含常规、容器两种安装方式)
  • 【操作系统不挂科】操作系统期末考试题库<1>(单选题&简答题&计算与分析题&应用题)
  • ARM CCA机密计算安全模型之固件更新
  • 代码实战:基于InvSR对视频进行超分辨率重建
  • Unity-Mirror网络框架-从入门到精通之Benchmark示例
  • 1.1.2.1 选择 + 冒泡排序
  • Oracle 11g rac + Dataguard 环境调整 redo log 大小
  • 与 Oracle Dataguard 相关的进程及作用分析
  • 1.1.7 master公式的使用
  • 1.2.1 归并排序
  • 智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之13 方案再探之4:特定于领域的模板 之 div模型(完整版)