搭建redis集群/主从/单节点

Posted 好大的月亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建redis集群/主从/单节点相关的知识,希望对你有一定的参考价值。

从官网下载redis压缩包

https://redis.io/

解压安装
解压到指定路径

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集群生产环境搭建,主从搭建,动态增删步骤

redis服务搭建有几种方式

Redis单节点安装主从复制java连接redis和Redis集群安装

Redis单节点安装主从复制java连接redis和Redis集群安装

Jenkins篇:Jenkins 集群搭建(主从)

Redis 进阶 -- 搭建主从复制及哨兵模式集群