redis集群配置

1.安装配置redis redis.conf

redis.conf  放哪都可以 编译安装的话,就在redis源码的目录
port 6379
bind 0.0.0.0
dir 指明redis数据文件存放路径
daemonize  yes   #将redis在后台运行,不占用一个终端
protomode  yes   #安装模式
requirepeass   s1466  #redis密码登录
pidfile   #存放redis进程id的文件

RDB持久化的参数
AOF持久化的参数

指明master的ip和端口信息
slaveof 127.0.0.1 6380

redis支持多实例
redis-server redis-6379.conf redis-server redis-6380.conf redis-server redis-6381.conf

发布订阅

发布者 订阅者 频道

主从同步

redis主从 优先 1.保证数据安全,主从机器两份数据 一主多从 2.读写分离,缓解主库压力 主redis,可读可写 slave身份,只读

缺点 1.手动主从切换 假如主库挂了,得手动切换 master 192.168.12.10 挂了

slave1 192.168.12.11 主库挂了,我得手动选一个slave为新的master 1.配置主库地址 slaveof 192.168.12.12 6380

slave2 192.168.12.12
1.取消12的从库身份 slaveof no one

2.准备一个值班人,他去检测,redis主从机制,是否宕机,值班人来做这个主从切换的事

redis哨兵配置: 1.准备3个redis实例文件 -rw-r--r-- 1 root root 145 12月 11 09:14 redis-6379.conf -rw-r--r-- 1 root root 115 12月 11 09:13 redis-6380.conf -rw-r--r-- 1 root root 93 12月 11 09:13 redis-6381.conf

redis-6379配置文件内容如下
cat redis-6379.conf 

port 6379
daemonize yes
logfile "6379.log"
dbfilename "dump-6379.rdb"
dir "/var/redis/data/"
daemonize yes 

#其余6380、6381配置文件,端口确保不同,且配置上主从参数
slaveof 127.0.0.1 6379

2.启动三个redis实例 1030 redis-server redis-6379.conf 1031 redis-server redis-6380.conf 1032 redis-server redis-6381.conf

3.检查三个redis实例的主从身份关系 1071 redis-cli -p 6379 info replication 1071 redis-cli -p 6380 info replication 1072 redis-cli -p 6381 info replication

4.配置三个哨兵 -rw-r--r-- 1 root root 560 12月 11 09:13 redis-sentinel-26379.conf -rw-r--r-- 1 root root 560 12月 11 09:13 redis-sentinel-26380.conf -rw-r--r-- 1 root root 560 12月 11 09:13 redis-sentinel-26381.conf

哨兵配置文件,几乎一致,仅有端口区别

// Sentinel节点的端口
port 26379  
dir /var/redis/data/
logfile "26379.log"

// 当前Sentinel节点监控 127.0.0.1:6379 这个主节点
// 2代表判断主节点失败至少需要2个Sentinel节点节点同意
// mymaster是主节点的别名
sentinel monitor mymaster 127.0.0.1 6379 2

//每个Sentinel节点都要定期PING命令来判断Redis数据节点和其余Sentinel节点是否可达,如果超过30000毫秒30s且没有回复,则判定不可达
sentinel down-after-milliseconds mymaster 30000

//当Sentinel节点集合对主节点故障判定达成一致时,Sentinel领导者节点会做故障转移操作,选出新的主节点,
原来的从节点会向新的主节点发起复制操作,限制每次向新的主节点发起复制操作的从节点个数为1
sentinel parallel-syncs mymaster 1

//故障转移超时时间为180000毫秒
sentinel failover-timeout mymaster 180000

5.启动三个redis哨兵

1053 redis-sentinel redis-sentinel-26379.conf 1054 redis-sentinel redis-sentinel-26380.conf 1055 redis-sentinel redis-sentinel-26381.conf

6.检查redis哨兵身份信息,检查主从节点健康状态

1058 redis-cli -p 26379 info sentinel 1059 redis-cli -p 26380 info sentinel 1060 redis-cli -p 26381 info sentinel

7.配置正确后,杀死master节点,查看主从身份切换是否正常

1,2,3,4,5,6...100

1%3 1 2%3 2 3%3 0

将余数为1分给一匹马

讲余数为2的分给马2

余数为0的分给马3

ruby语言脚本,一键自动安装redis-cluster

redis-cluster就是什么

将我所有的数据,keys *

分配6匹马,6匹马的身份信息

3个主

3个从

redis-cluster使用的哈希槽算法,将数据分为0~16383的槽位

将所有的keys 分配到这些槽位当中

安装配置手册 1.准备6个redis节点,也就是准备6匹马

redis可以自定制端口,你可以用6379,也可以用7000

-rw-r--r-- 1 root root 185 12月 11 09:51 redis-7000.conf -rw-r--r-- 1 root root 185 12月 11 09:52 redis-7001.conf -rw-r--r-- 1 root root 185 12月 11 09:52 redis-7002.conf -rw-r--r-- 1 root root 185 12月 11 09:52 redis-7003.conf -rw-r--r-- 1 root root 185 12月 11 09:52 redis-7004.conf -rw-r--r-- 1 root root 185 12月 11 09:52 redis-7005.conf

查看redis配置文件,修改这6个文件的端口不同

sed   's/7000/7001/g' redis-7000.conf    #此时还未生效,只返回处理结果
    -i 参数,写入到文件 insert 

sed  -i  's/7000/7001/g' redis-7000.conf  #对这个文件修改

sed    's/7000/7001/g'    redis-7000.conf   >  redis-7001.conf

sed     linux处理字符串的命令

's/7000/7001/g'     第二空格 放入你想替换的内容 
    s  代表替换指令
    /你想换的内容/你想替换后的内容/
    g 全局替换 globol 

 redis-7000.conf   操作的对象,将这个文件内的所有7000替换为7001

2.准备6个配置文件redis.conf -rw-r--r-- 1 root root 182 12月 11 10:01 redis-7000.conf -rw-r--r-- 1 root root 182 12月 11 10:01 redis-7001.conf -rw-r--r-- 1 root root 182 12月 11 10:02 redis-7002.conf -rw-r--r-- 1 root root 182 12月 11 10:02 redis-7003.conf -rw-r--r-- 1 root root 182 12月 11 10:02 redis-7004.conf -rw-r--r-- 1 root root 182 12月 11 10:02 redis-7005.conf

配置文件内容如下:
    port 7000
    daemonize yes
    dir "/opt/redis/data"
    logfile "7000.log"
    dbfilename "dump-7000.rdb"
    cluster-enabled yes 
    cluster-config-file nodes-7000.conf
    cluster-require-full-coverage no

6个配置文件,仅仅是端口的区别,可以使用sed命令快速生成配配置文件
    1117  sed 's/7000/7001/g'  redis-7000.conf > redis-7001.conf
    1118  sed 's/7000/7002/g'  redis-7000.conf > redis-7002.conf
    1119  sed 's/7000/7003/g'  redis-7000.conf > redis-7003.conf
    1120  sed 's/7000/7004/g'  redis-7000.conf > redis-7004.conf
    1121  sed 's/7000/7005/g'  redis-7000.conf > redis-7005.conf

3.启动6个redis实例 1133 redis-server redis-7000.conf 1134 redis-server redis-7001.conf 1136 redis-server redis-7002.conf 1137 redis-server redis-7003.conf 1138 redis-server redis-7004.conf 1139 redis-server redis-7005.conf

4.检查redis进程信息 [root@node1 /opt/redis-4.0.10/myjiqun 10:05:42]#ps -ef|grep redis root 9478 1 0 10:04 ? 00:00:00 redis-server :7000 [cluster] root 9483 1 0 10:04 ? 00:00:00 redis-server :7001 [cluster] root 9490 1 0 10:04 ? 00:00:00 redis-server :7002 [cluster] root 9495 1 0 10:04 ? 00:00:00 redis-server :7003 [cluster] root 9500 1 0 10:04 ? 00:00:00 redis-server :7004 [cluster] root 9505 1 0 10:04 ? 00:00:00 redis-server :7005 [cluster]

5.安装配置ruby环境,用于一键搭建redis集群 1.下载源码 wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz 2.解压缩ruby tar -xvf ruby-2.3.1.tar.gz 3.编译安装ruby ./configure --prefix=/opt/ruby/ make && make install

6.准备ruby的环境变量 cp ./bin/ruby /usr/local/bin/ cp ./bin/gem /usr/local/bin

7.下载ruby的软件包管理工具 wget http://rubygems.org/downloads/redis-3.3.0.gem gem install -l redis-3.3.0.gem #安装ruby操作redis的模块

8.查看ruby语言的包邮哪些 gem list -- check redis gem

9.配置环境变量redis-trib.rb,用于创建redis-cluster

#找到这个redis-trib.rb命令在哪里
[root@node1 /opt/redis-4.0.10/src 10:28:32]#find /opt  -name redis-trib.rb
/opt/redis-4.0.10/src/redis-trib.rb
#配置环境变量,用于快速执行redis-trib.rb这个命令 
cp /opt/redis-4.0.10/src/redis-trib.rb    /usr/local/bin/

10.通过redis-trib.rb命令,一键创建redis-cluster集群功能

#其实就是分配槽位,分配主从关系
#通过这个命令,创建集群功能
#1  代表每个主只有一个从
#自动给后面6个节点,分配主从关系,7000、7001、7002是主节点,7003、7004、7005是从节点
redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
  1. 写入数据来使用redis集群了

redis查看身份的命令,可以来检查集群的节点身份信息 redis-cli -p 7003 info replication #查看主从身份信息 redis-cli -p 7004 info replication#查看主从身份信息 redis-cli -p 7005 info replication#查看主从身份信息

查看redis集群状态信息

redis-cli -p 7000 cluster info #查看节点集群状态

redis操作集群数据 通过-c参数才能指定集群功能 redis-cli -p 7000 -c

原文链接: redis集群配置 版权所有,转载时请注明出处,违者必究。
注明出处格式:流沙团 ( https://gyarmy.com/post-681.html )

发表评论

0则评论给“redis集群配置”