搭建redis集群/主从/单节点
Posted 好大的月亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建redis集群/主从/单节点相关的知识,希望对你有一定的参考价值。
从官网下载redis压缩包
解压安装
解压到指定路径
tar -zxvf ./xxxx.tar.gz -C /xxx
然后cd进入目录编译安装
redis需要gcc环境,没有的自行安装一下
make && make install
安装完了默认的redis-server在/usr/local/bin/redis-server
或者在安装的时候指定路径 prefix
单节点
单节点最简单,直接把编译后目录里的redis.conf的端口改改,后台运行改为yes即可
port 6379 # 指定端口为 6379,也可自行修改
daemonize yes # 指定后台运行
启动的时候还是用同一个命令,启动对应的配置文件
/usr/local/bin/redis-server xxx/redis.conf
主从
主从也很简单,就在上面单节点的基础上,只需要将redis.conf复制出来然后改个端口改改配置就OK了
port 6380
slaveof 127.0.0.1 6379
启动的时候还是用同一个命令,启动对应的配置文件
/usr/local/bin/redis-server xxx/redis.conf
哨兵sentinel
和主从差不多,就是多搞几个从节点,然后启动哨兵模式,同样多复制几份redis.conf然后改改配置
vim redis01.conf
port 63791
vim redis02.conf
port 63792
slaveof 127.0.0.1 63791
vim redis03.conf
port 63793
slaveof 127.0.0.1 63791
#这个sentinel.conf在最开始编译的那个目录下
vim sentinel.conf
daemonize yes
port 26379
sentinel monitor mymaster 127.0.0.1 63793 1 # 下面解释含义
mymaster 为主节点名字,可以随便取,后面程序里边连接的时候要用到
127.0.0.1 63793 为主节点的 ip,port
1 后面的数字 1 表示选举主节点的时候,投票数。1表示有一个sentinel同意即可升级为master
启动哨兵
redis-server path/to/redis-sentinel/redis01.conf
redis-server path/to/redis-sentinel/redis02.conf
redis-server path/to/redis-sentinel/redis03.conf
redis-server path/to/redis-sentinel/sentinel.conf --sentinel
集群模式
集群和哨兵差不多,配置redis集群需要至少6个redis节点,为啥呃,redis官方有一句话,最少3个主节点,那么住主+从不就6个节点了
Note that the minimal cluster that works as expected requires to
contain at least three master nodes.
集群的配置文件中都需要开启集群模式
bind 192.168.83.128 # 设置当前节点主机地址
port 7001 # 设置客户端连接监听端口
pidfile /var/run/redis_7001.pid # 设置 Redis 实例 pid 文件
daemonize yes # 以守护进程运行 Redis 实例
cluster-enabled yes # 启用集群模式
cluster-node-timeout 15000 # 设置当前节点连接超时毫秒数
cluster-config-file nodes-7001.conf # 设置当前节点集群配置文件路径
#appendonly yes # 开启redis aof
主:redis01 从 redis02 slaveof redis01
主:redis03 从 redis04 slaveof redis03
主:redis05 从 redis06 slaveof redis05
mkdir redis-cluster
cd redis-cluster
mkdir redis01 到 redis06 6个文件夹
cp redis.conf 到 redis01 ... redis06
修改端口
分别配置3组主从关系
逐个启动redis实例,启动完之后ps查看可以看到有个集群标志
然后创建集群,redis5.0版本之前使用的ruby脚本 redis-trib.rb
/usr/local/bin/redis-cli -a xxxx --cluster create --cluster-replicas 1 192.168.1.1:8001 192.168.1.1:8002 192.168.1.2:8001 192.168.1.2:8002 192.168.1.3:8001 192.168.1.3:8002
-a :密码;
–cluster-replicas 1:表示1个master下挂1个slave; --cluster-replicas 2:表示1个master下挂2个slave。
集群创建成功
验证集群,连接任意一个客户端
‐a表示服务端密码;‐c表示集群模式;-h指定ip地址;-p表示端口号
redis-cli -a xxxx -c -h 192.168.1.1 -p 8001
查看集群的信息: cluster info
查看节点列表: cluster nodes
关闭集群则需要逐个进行关闭
/usr/local/redis‐5.0.3/src/redis‐cli ‐a redis-pw ‐c ‐h 192.168.1.1 ‐p 8001 shutdown /usr/local/redis‐5.0.3/src/redis‐cli ‐a redis-pw ‐c ‐h 192.168.1.1 ‐p 8002 shutdown
......
以上是关于搭建redis集群/主从/单节点的主要内容,如果未能解决你的问题,请参考以下文章
Redis单节点安装主从复制java连接redis和Redis集群安装