由于业务需要,今天配置了6台服务器的redis, 4台作为master, 2台作为slave. 一主一从, master-slave 结构.
根据业务的划分, 不同机器挂载的redis服务数量也不同, 分布如下.
代码如下 | 复制代码 |
#master #master 服务端口 #redis服务分布 #slave #slave分布 #salve:port -> master:port (服务) 对照 |
常规部署&启动
1. 从redis官网下载源码包 .我用的是redis-2.6.3.tar.gz.
2. 解压 tar zxvf redis-2.6.3.tar.gz
3. 编译 make & make install
4. 启动 redis-server redis.conf (redis.conf 可在下载的源码包中找到)
默认redis启动模式为非daemon, 启动后为master
master修改配置
代码如下 | 复制代码 |
######Master config ###下面是SNAPSHOTTING持久化方式的策略。为了保证数据相对安全,在下面的设置中,更改越频繁,SNAPSHOTTING越频繁,也就是说,压力越大,反而花在持久化上的资源会越多。所以我选择了master-slave模式,并在master关掉了SNAPSHOTTING。 ###REPLICATION 设置, ### SECURITY 设置 ###LIMIT 设置 ###APPEND ONLY MODE 设置 ###SLOW LOG 设置 ###VIRTUAL MEMORY 设置 ###ADVANCED CONFIG 设置,下面的设置主要是用来节省内存的,我没有对它们做修改 ###INCLUDES 设置 ,使用下面的配置,可以配置一些个另其它的设置,如slave的配置 |
一台redis master服务搞定后, 按照相同的步骤部署到其余的master中, 根据服务不同copy多份redis.conf, 修改对应的port即可
为了方便管理配置文件名称为
代码如下 | 复制代码 |
master-redis-2001.conf |
然后根据服务的分布, 将相关环境搭建好, 在以下服务器跑各自相关业务即可
代码如下 | 复制代码 |
#10.0.8.4 #10.0.8.5 , 10.0.8.6 , 10.0.8.7 |
测试master服务器
代码如下 | 复制代码 |
redis-cli -p 2001 |
像部署master一样, 部署slave, 将主服务器的配置文件copy一份到从服务器,修改port以及以下设置
代码如下 | 复制代码 |
######slave config |
slave配置文件命名
代码如下 | 复制代码 |
slave-redis-3001.conf |
启动slave.
代码如下 | 复制代码 |
1 #10.0.8.3 |
启动slave之后, 在slave相对应的master设置一个值, slave能获取到ok了