consul概念:
consul是用来做注册中心的 他和eureka是一样的 注册中心一般都是集群的形式存在
保证高可用 consul像是一个nosql 存储着键值对 可以做存储
consul是c/s架构的 其客户端负责和用户进行通讯 没有实际的意义 真正工作的是后端的服务端 存储数据也是在服务端存储
环境:
主机 | ip |
---|---|
consul-1 | 192.168.10.20 |
consul-2 | 192.168.10.30 |
consul-3 | 192.168.10.40 |
client客户端 | 192.168.10.10 |
在第一、二台consul主机和第四台client主机上安装jdk和maven环境
安装jdk
[root@localhost ~]# java -version
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
[root@localhost ~]# rm -rf /usr/bin/java #删除原本主机上的Java程序
[root@localhost ~]# java -version
-bash: /usr/bin/java: 没有那个文件或目录
[root@localhost ~]# tar -zxf jdk-8u201-linux-x64.tar.gz
[root@localhost ~]# mv jdk1.8.0_201/ /usr/local/java
添加环境变量(通常情况我们使用第二种方法)
[root@localhost bin]# vim /etc/profile
#末尾添加
export JAVA_HOME=/usr/local/java
export JRE_HOME=/usr/local/java/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
[root@localhost bin]# source /etc/profile
[root@localhost bin]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/java/bin:/usr/local/java/jre/bin
[root@localhost bin]# java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
安装maven
[root@localhost ~]# tar -zxf apache-maven-3.6.0-bin.tar.gz
[root@localhost ~]# mv apache-maven-3.6.0 /usr/local/maven
[root@localhost ~]# vim /etc/profile
export PATH=$PATH:/usr/local/maven/bin
[root@localhost ~]# source /etc/profile
[root@localhost ~]# mvn -v
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: /usr/local/maven
Java version: 1.8.0_201, vendor: Oracle Corporation, runtime: /usr/local/java/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-514.el7.x86_64", arch: "amd64", family: "unix"
安装consul服务(四台都要安)
[root@localhost ~]# unzip consul_1.4.0_linux_amd64.zip -d /usr/bin/
Archive: consul_1.4.0_linux_amd64.zip
inflating: /usr/bin/consul
[root@localhost ~]# mkdir -p /opt/consul/{data,config,logs}
参数释义:
data:存放数据的目录
config:存放配置信息的目录
logs:存放日志
consul没有配置文件,所以直接通过启动命令来配置称为集群
consul-1
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]#