各种集群搭建教程集锦

搭建Eureka集群
配置host文件C:\Windows\System32\drivers\etc\hosts文件,添加映射
127.0.0.1 eureka-server1
127.0.0.1 eureka-server2
127.0.0.1 eureka-server3

2.2.1 application.yml配置

1台application.yml:
server:
  port: 8761
eureka:
  instance:
    hostname: eureka-server1
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://eureka-server2:8762/eureka/,http://eureka-server3:8763/eureka/
2台application.yml
server:
  port: 8762
eureka:
  instance:
    hostname: eureka-server2
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://eureka-server1:8761/eureka/,http://eureka-server3:8763/eureka/
3台application.yml配置:
server:
  port: 8763
eureka:
  instance:
    hostname: eureka-server3
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://eureka-server1:8761/eureka/,http://eureka-server2:8762/eureka/

当然如果你是一台服务器上配置Eureka集群,也可以把地址写到一块去,用逗号隔开即可。

redis集群:
1.所有的集群节点的数据合起来才是完整数据
2.集群节点的数量必须是奇数个
3.判断集群是否可用:集群节点中主节点个数过半数以上宕机,则集群失败
4.程序每次链接集群中的任意一台节点
5.所有存入到redis中的key经过CR16算法之后得到的值在0-16383
6.每次往redis中存/取数据的时候,会先计算出key经过CR16算法后的值。然后根据值到指定的redis中获取数据。
7.Redis集群,会将16384个hash槽分配给各个集群节点

(1)安装gcc 【此步省略】

Redis 是 c 语言开发的。安装 redis 需要 c 语言的编译环境。如果没有 gcc 需要在线安装。

yum install gcc-c++

(2)使用yum命令安装 ruby (我们需要使用ruby脚本来实现集群搭建)【此步省略】

yum install ruby
yum install rubygems

redis集群搭建中ruby安装的问题解决方案可以参考以下两篇博文: https://blog.csdn.net/weixin_43323201/article/details/89764206
https://blog.csdn.net/dqchouyang/article/details/106575699

(4)编译redis源码 ,进入redis源码文件夹
make

(5)创建目录/usr/local/redis-cluster目录, 安装6个redis实例,分别安装在以下目录

/usr/local/redis-cluster/redis-1
/usr/local/redis-cluster/redis-2
/usr/local/redis-cluster/redis-3
/usr/local/redis-cluster/redis-4
/usr/local/redis-cluster/redis-5
/usr/local/redis-cluster/redis-6

以第一个redis实例为例,命令如下

make install PREFIX=/usr/local/redis-cluster/redis-1

(6)复制配置文件 将 /redis-3.0.0/redis.conf 复制到redis下的bin目录下

[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis-cluster/redis-1/bin
[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis-cluster/redis-2/bin
[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis-cluster/redis-3/bin
[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis-cluster/redis-4/bin
[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis-cluster/redis-5/bin
[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis-cluster/redis-6/bin

配置集群
(1)修改每个redis节点的配置文件redis.conf
​ 修改运行端口为7001 (7002 7003 ……)
​ 将cluster-enabled yes 前的注释去掉(632行)

集群:
6个节点
3主
3从

1)创建6个节点 7001-7006
2)开启集群
3)串联集群[将集群链接到一起]
(2)启动每个redis实例

​ 以第一个实例为例,命令如下

cd /usr/local/redis-cluster/redis-1/bin/
./redis-server redis.conf

把其余的5个也启动起来,然后查看一下是不是都启动起来了

[root@localhost ~]# ps -ef | grep redis
root     15776 15775  0 08:19 pts/1    00:00:00 ./redis-server *:7001 [cluster]
root     15810 15784  0 08:22 pts/2    00:00:00 ./redis-server *:7002 [cluster]
root     15831 15813  0 08:23 pts/3    00:00:00 ./redis-server *:7003 [cluster]
root     15852 15834  0 08:23 pts/4    00:00:00 ./redis-server *:7004 [cluster]
root     15872 15856  0 08:24 pts/5    00:00:00 ./redis-server *:7005 [cluster]
root     15891 15875  0 08:24 pts/6    00:00:00 ./redis-server *:7006 [cluster]
root     15926 15895  0 08:24 pts/7    00:00:00 grep redis

(3)上传redis-3.0.0.gem ,安装 ruby用于搭建redis集群的脚本。

[root@localhost ~]# gem install redis-3.0.0.gem
Successfully installed redis-3.0.0
1 gem installed
Installing ri documentation for redis-3.0.0...
Installing RDoc documentation for redis-3.0.0...

(4)使用 ruby 脚本搭建集群。

进入redis源码目录中的src目录 执行下面的命令 redis-trib.rb ruby工具,可以实现Redis集群,create创建集群,–replicas创建主从关系 1:是否随机创建(是)。

./redis-trib.rb create --replicas 1 192.168.25.140:7001 192.168.25.140:7002 192.168.25.140:7003
192.168.25.140:7004 192.168.25.140:7005 192.168.25.140:7006

连接Redis-Cluster
4.3.1客户端工具连接
Redis-cli 连接集群:

redis-cli -p ip地址 -p 端口 -c

-c:代表连接的是 redis 集群

测试值的存取:
(1)从本地连接到集群redis 使用7001端口 加 -c 参数
(2)存入name值为abc ,系统提示此值被存入到了7002端口所在的redis (槽是5798)
(3)提取name的值,可以提取。
(4)退出(quit)
(5)再次以7001端口进入 ,不带-c
(6)查询name值,无法获取,因为值在7002端口的redis上
(7)我们以7002端口进入,获取name值发现是可以获取的,而以其它端口进入均不能获取

RDB: 快照形式 (定期数据保存磁盘中)会产生一个dump.rdb文件,redis默认开启了RDB的持久化方式。

RDB特点:会存在数据丢失,性能较好,用于数据备份。
RDB的最佳策略:
关闭
集中管理(用于备份数据)
主从模式,从开。默认开启

AOF : append only file . 所有对redis的操作命令记录在.aof文件中,如果想恢复数据,重新加载文件,执行文件中的命令即可。默认的情况下 redis没有开启,要想开启,必须配置。

开启AOF: 如图 去掉注释
《各种集群搭建教程集锦》
配置 AOF的执行策略:
《各种集群搭建教程集锦》
如果随着时间的推移,AOF文件中的数据越来越大,所以需要进行重写也就是压缩。
《各种集群搭建教程集锦》
100:上一次AOF文件达到100%的时候进行压缩
64mb :压缩时最小的文件大小。

AOF特点:每秒保存,数据完整性比较好,耗费性能。
AOF的最佳策略:
建议 开 每秒刷盘->aof日志文件中
AOF重写集中管理
最佳的策略:
小分片(max_memery 4G左右)
监控机器的负载
    原文作者:cyberpunk_Isme
    原文地址: https://blog.csdn.net/cyberpunk_Isme/article/details/109236936
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞