阿里云服务器redis集群配置过程

1:redis下载

    下载路径:http://download.redis.io/releases/
2:将下载好的文件上传至服务器
      rz命令执行上传
3:创建目录
      mkdir redisCluter
      mkdir 7000 7001 7002 7003 7004 7005
4:修改配置文件如下:
     
# 端口号,每个目录都不同
port 7000
 
# 开启集群模式
cluster-enabled yes
 
#节点超时实际,单位毫秒
cluster-node-timeout 5000
 
#集群内部配置文件(默认为 nodes-6379.conf)
cluster-config-file nodes.conf
 
# 启动 AOF
appendonly yes
 
#daemonize是用来指定redis是否要用守护线程的方式启动。
#默认是no,改成 yes,意思是是否要后台启动。
daemonize yes
 
#当我们采用yes时,redis会在后台运行,此时redis将一直运行,除非手动kill该进程。同时将进程pid号写入至redis.conf选项pidfile设置的文件中,
#默认会生成在/var/run/redis.pid,也可以通过pidfile来指定pid文件生成的位置
#而采用no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出
 
 
#################此次示例演示只需修改以上配置也可以,以下配置可根据自己项目需要变更#################
 
 
# 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /var/run/redis.pid
 
# 指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
# debug (很多信息, 对开发/测试比较有用)
# verbose (许多很少有用的信息,但不像调试级别那样混乱)
# notice (适度冗长,你想在生产中)
# warning (只记录非常重要/关键的消息)
loglevel verbose
 
 
################################ SNAPSHOTTING  #################################
# 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
# Save the DB on disk:
#
#   save <seconds> <changes>
#
#   Will save the DB if both the given number of seconds and the given
#   number of write operations against the DB occurred.
#
#   满足以下条件将会同步数据:
#   900秒(15分钟)内有1个更改
#   300秒(5分钟)内有10个更改
#   60秒内有10000个更改
#   Note: 可以把所有“save”行注释掉,这样就取消同步操作了
 
save 900 1
save 300 10
save 60 10000
 
# 指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大
rdbcompression yes
 
 
# 指定本地数据库文件名,默认值为dump.rdb
dbfilename dump.rdb
 
 
# 指定更新日志条件,共有3个可选值:
# no:表示等操作系统进行数据缓存同步到磁盘(快)
# always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
# everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec
 
 
################################## INCLUDES ###################################
 
# 指定包含其他的配置文件,可以在同一主机上多个Redis实例之间使用同一份配置文件,而同时各实例又拥有自己的特定配置文件
# include /path/to/local.conf
# include /path/to/other.conf


5:启动六个节点的redis
  分别进入六个文件夹下执行启动命令:redis-server redis.conf
6:查看启动情况
  ps -ef|grep redis
7:关联所有节点,进入7000节点
redis-cli -p 7000
依次执行如下命令关联所有节点:
cluster meet 127.0.0.1 7001
cluster meet 127.0.0.1 7002
cluster meet 127.0.0.1 7003
cluster meet 127.0.0.1 7004
cluster meet 127.0.0.1 7005

8:分配槽slot(数据块)
cd 7002/redis-7.4-rc1
 
redis-cli -p 7000 cluster addslots {0..5461}
 
redis-cli -p 7001 cluster addslots {5462..10922}
 
redis-cli -p 7002 cluster addslots {10923..16383}

9:验证slot是否分配成功命令
  redis-cli -p 7000 cluster nodes
10:修改为主从复制
   先进入7000目录下:
  cd 7000/redis-7.4-rc1
   执行验证命令,记下各个节点的NodeId
 redis-cli -p 7000 cluster nodes
分别设置7003、 7004 、7005节点的主库
 redis-cli -p 7003 cluster replicate 248ec24662f43e13e0f6a33990b9bf479b2e4495  (7000的NodeID)

 redis-cli -p 7004 cluster replicate 8e4b9fa9e15824b3a4ee34497a4e1842080500f2  (7001的NodeID)

 redis-cli -p 7005 cluster replicate 7272c16417975b443a5b84afa5d8e90ccd332ca8  (7002的NodeID)
11:查看主从节点是否已经生效
redis-cli -p 7000 cluster nodes
12:查看集群
 $  redis-cli -h 127.0.0.1 -p 7000 cluster info
 $  redis-cli -h 127.0.0.1 -p 7000 cluster nodes 

13:操作集群
redis-cli -p 7000
 
127.0.0.1:7000> get foo
(error) MOVED 12182 127.0.0.1:7002
127.0.0.1:7000> set fooo barr
OK
127.0.0.1:7000> get foo
(error) MOVED 12182 127.0.0.1:7002
127.0.0.1:7000> get fooo
"barr"
127.0.0.1:7000> quit
 
redis-cli -p 7003
127.0.0.1:7003> get fooo
(error) MOVED 3916 127.0.0.1:7000
127.0.0.1:7003> quit
 
redis-cli -c -p 7003


注意:注意添加 -c 参数表示以集群模式,否则报 (error) MOVED 12182 127.0.0.1:7002 错误


 

 

参考大神的帖子,精简整理
参考地址:

Redis三种集群模式介绍及搭建_redis集群-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值