Linux-Redis集群安装配置
Linux-Redis集群安装配置
(Linux系统下配置,参考:https://www.cnblogs.com/gyadmin/p/8300961.html)
Redis version:redis-3.2.11.tar.gz、redis-3.3.0.gem
服务器:203.3.235.176,203.3.235.177(后续文档中IP用node1/node2代替)
用两台服务器模拟6个节点,一台服务器3个节点,创建出3 master、3 salve 环境。
部署目录:/home/admin/redis(后续文档中目录用$redis_path代替)
1.下载并解压redis-3.2.11.tar.gz
>wget http://download.redis.io/releases/redis-3.2.11.tar.gz
>tar -zxvf redis-3.2.11.tar.gz
2.在解压$redis_path/redis-3.2.11目录下编译安装
>make && make install
3.在node1服务器 $redis_path目录下创建redis_cluster目录;
>mkdir redis_cluster
4.在$redis_path/redis_cluster目录下,创建名为7000、7001、7002的目录,并将 $redis_path/redis-3.2.11/redis.conf文件拷贝到这三个目录中,并修改各目录下文件
>mkdir 7000 7001 7002
>cp redis.conf redis_cluster/7000
>cp redis.conf redis_cluster/7001
>cp redis.conf redis_cluster/7002
- Node1-7000目录下redis.conf文件
|
port 7000 bind node1 daemonize yes #redis后台运行 pidfile $redis_path/run/redis_7000.pid #pidfile文件对应7000,7001,7002 cluster-enabled yes #开启集群,把注释#去掉 cluster-config-file nodes_7000.conf #集群的配置,配置文件首次启动自动生成 7000,7001,7002 cluster-node-timeout 15000 #请求超时,默认15秒,可自行设置 appendonly yes #aof日志开启,有需要就开启,它会每次写操作都记录一条日志 supervised no #可以通过upstart和systemd管理Redis守护进程,这个参数是和具体的操作系统相关的 |
- Node1-7001目录下redis.conf文件
|
port 7001 bind node1 daemonize yes pidfile $redis_path/run/redis_7001.pid cluster-enabled yes cluster-config-file nodes_7001.conf cluster-node-timeout 15000 appendonly yes supervised no |
- Node1-7002目录下redis.conf文件
|
port 7002 bind node1 daemonize yes pidfile $redis_path/run/redis_7002.pid cluster-enabled yes cluster-config-file nodes_7002.conf cluster-node-timeout 15000 appendonly yes supervised no |
5.复制node1服务器上redis目录到node2服务器上
>scp -r $redis_path/ admin@node2:$redis_path
6.修改$redis_path/redis_cluster目录下,7000、7001、7002文件夹下redis.conf文件
- Node2-7000目录下redis.conf文件
|
port 7000 bind node2 daemonize yes #redis后台运行 pidfile $redis_path/run/redis_7000.pid #pidfile文件对应7000,7001,7002 cluster-enabled yes #开启集群,把注释#去掉 cluster-config-file nodes_7000.conf #集群的配置,配置文件首次启动自动生成 7000,7001,7002 cluster-node-timeout 15000 #请求超时,默认15秒,可自行设置 appendonly yes #aof日志开启,有需要就开启,它会每次写操作都记录一条日志 supervised no #可以通过upstart和systemd管理Redis守护进程,这个参数是和具体的操作系统相关的 |
- Node2-7001目录下redis.conf文件
|
port 7001 bind node2 daemonize yes pidfile $redis_path/run/redis_7001.pid cluster-enabled yes cluster-config-file nodes_7001.conf cluster-node-timeout 15000 appendonly yes supervised no |
- Node2-7002目录下redis.conf文件
|
port 7002 bind node2 daemonize yes pidfile $redis_path/run/redis_7002.pid cluster-enabled yes cluster-config-file nodes_7002.conf cluster-node-timeout 15000 appendonly yes supervised no |
7.分别在node1、node2上 $redis_path/redis-3.2.11/bin目录下启动三个redis服务
>redis-server $redis_path/redis_cluster/7000/redis.conf
>redis-server $redis_path/redis_cluster/7001/redis.conf
>redis-server $redis_path/redis_cluster/7002/redis.conf
8.分别在node1、node2上查询redis进程
>ps -ef | grep redis
9.分别在node1、node2上下载并安装redis-3.3.0.gem包(这个工具是用 ruby 实现的,所以需要安装 ruby)
>gem install redis-3.3.0.gem
|
如下信息表示安装成功: Successfully installed redis-3.3.0 Parsing documentation for redis-3.3.0 Installingri documentation for redis-3.3.0 1 gem installed |
10. 进入$redis_path/src目录下,创建集群
>redis-trib.rb create --replicas <replicas-number> node1:7000 node1:7001 node1:7002 node2:7000 node2:7001 node2:7002
| <replicas-number> | 1 | 表示每个主节点有从节点个数 |
出现以下内容,输入yes,完成集群搭建

11. 集群验证
1) 在node1服务器$redis_path/src目录下执行以下命令,进入Redis集群
>redis-cli -h node1 -c -p 7000
2) 设置redis的key和value存入数据,并查看key
node1:7000>set box 1 #存入box值为1
node1:7000>keys * #查询所有key列表
node1:7000>get box #获取key的值

浙公网安备 33010602011771号