1.下载Consulwget https://releases.hashicorp.com/consul/1.8.0/consul_1.8.0_linux_amd64.zip
2.解压安装包unzip consul_1.8.0_linux_amd64.zip
3.删除压缩包
rm consul_1.8.0_linux_amd64.zip
5.启动consul (启动前先开通安全组端口)./consul agent -dev -client 0.0.0.0 &
/* 1. 下载二进制安装文件 */
下载地址:https://www.consul.io/downloads.html
/* 2. 解压缩安装包 */
unzip consul_1.6.2_linux_amd64.zip
/* 3. 解压之后将consul复制到我们的自定义文件目录中,比如:/usr/local/consul */
cp consul /usr/local/consul
/* 4. 设置环境变量 */
vim /etc/profile
/* 在profile中增加一行CONSUL_HOME并更改PATH
(放置位置:一般是在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL语句的起那么)
*/
# Consul
export CONSUL_HOME=/usr/local/consul
export PATH=$PATH:$CONSUL_HOME;
/* 使配置生效 */
source /etc/profile
/* 检验是否成功,说明:这里应该是解压缩之后的包路径 */
/usr/local/consul
/* 5. 以上步骤,可以在3台虚拟机中完成,然后执行以下语句 */
192.168.80.100>consul agent -server -ui -bootstrap-expect=3 -data-dir=/tmp/consul -node=consul-1 -client=0.0.0.0 -bind=192.168.80.100 -datacenter=dc1
192.168.80.101>consul agent -server -ui -bootstrap-expect=3 -data-dir=/tmp/consul -node=consul-2 -client=0.0.0.0 -bind=192.168.80.101 -datacenter=dc1 -join 192.168.80.100
192.168.80.102>consul agent -server -ui -bootstrap-expect=3 -data-dir=/tmp/consul -node=consul-3 -client=0.0.0.0 -bind=192.168.80.102 -datacenter=dc1 -join 192.168.80.100
/*
注意:
a. 101和102的启动命令中,有一句 -join 192.168.80.100 => 有了这一句,就把101和102加入到了100所在的集群中。
b. consul 使用的端口 8300,8301,8500(192.168.80.100机器) 需要进行开放,执行以下命令:
firewall-cmd --zone=public --add-port=8300/tcp --permanent
firewall-cmd --zone=public --add-port=8301/tcp --permanent
firewall-cmd --zone=public --add-port=8302/tcp --permanent
firewall-cmd --zone=public --add-port=8500/tcp --permanent
firewall-cmd --zone=public --add-port=8600/tcp --permanent
systemctl restart firewalld.service
*/
/*
启动之后,集群就开始了Vote(投票选Leader)的过程,通过下面的命令可以看到集群的情况:
在 192.168.80.100 机器执行
*/
/usr/local/consul members
/* 6. 启动客户端 (192.168.58.100 为agent机器,192.168.80.100为server机器)
参考资料:https://www.consul.io/docs/agent/basics.html
*/
/usr/local/consul agent -bind 0.0.0.0 -client 192.168.58.100 -data-dir=/tmp/consul -node consul-agent -join 192.168.80.100
参考资料:
这是一个系列
https://www.cnblogs.com/viter/p/11006875.html
https://www.cnblogs.com/viter/p/11018953.html
https://www.cnblogs.com/viter/p/11024984.html
下载地址:https://www.consul.io/downloads.html
#安装wget yum install wget #下载Consul wget https://releases.hashicorp.com/consul/1.8.0/consul_1.8.0_linux_amd64.zip
unzip consul_1.8.0_linux_amd64.zip
#创建目录 mkdir /usr/local/consul_1.8 #拷贝到新创建的目录中 cp consul /usr/local/consul_1.8/consul #删除现在和解压后文件 rm consul rm consul_1.8.0_linux_amd64.zip
参考资料:https://www.consul.io/docs/agent/basics.html
为agent机器和server机器 同为 192.168.2.171 为例。
#创建data、log目录 mkdir /usr/local/consul_1.8/data mkdir /usr/local/consul_1.8/log #启动 /usr/local/consul_1.8/consul agent -server -bootstrap-expect 1 -data-dir=/usr/local/consul_1.8/data/ -node=n1 -bind=192.168.2.171 -client=192.168.2.171 -ui
-server 表示是server模式
-bootstrap-expect=3 表示是集群中有3台服务器 bootstrap该模式node可以指定自己作为leader ,如果是非leader可不加该参数
-data-dir=/tmp/consul 目录
-node=n2 该服务器节点名
-bind=127.0.0.1 节点绑定的ip
-ui 非必须 webui的路径 用web来管理consul
如下图启动成功。
打开浏览器访问 http://192.168.2.171:8500/ 出现下图,启动成功。
如果不能访问查看一下是否防火墙影响,Ctrl + C 退出Consul,关闭防火墙,再重新执行启动试试。
#查看状态 systemctl status firewalld.service #打开防火墙 systemctl start firewalld.service #关闭防火墙 systemctl stop firewalld.service #开启防火墙 systemctl enable firewalld.service #禁用防火墙 systemctl disable firewalld.service
路径/usr/lib/systemd/system/,新建一个service命名为,consul.service
cd /usr/lib/systemd/system/ vi consul.service
在vi编辑器,编写如下写脚本:
[Unit] Description=ConsulServer After=network.target [Service] ExecStart=/usr/local/consul_1.8/consul.start.sh KillSignal=SIGTERM [Install] WantedBy=multi-user.target
创建启动脚本文件
cd /usr/local/consul_1.8/ vi consul.start.sh
写入启动脚本
#!/bin/bash /usr/local/consul_1.8/consul agent -server -ui -bootstrap-expect=1 -node=192.168.2.171 -data-dir=/usr/local/consul_1.8/data/ -log-file=/usr/local/consul_1.8/log/consul_log-$(date +%Y-%m-%d--%H-%M) -client=192.168.2.171 -bind=192.168.2.171 -datacenter=dc1 echo "consul startup"
重新加载配置
systemctl daemon-reload
Consul 启动
systemctl start consul
查看服务状态
systemctl status consul
如果出现下图,服务启动成功。
如果失败,这是因为用户没有权限,而导致无法执行。
用命令chmod 修改一下.sh权限就可以了,这里的u 这里指文件所有者,+x 添加可执行权限,*.sh表示所有的sh文件。
chmod u+x *.sh
systemctl enable consul.service