1. 程式人生 > >Redis此例簡單介紹基於docker的redis安裝與叢集搭建

Redis此例簡單介紹基於docker的redis安裝與叢集搭建

Redis 拓展連線
此例簡單介紹基於docker的redis安裝與叢集搭建
一:安裝
1.獲取redis映象

docker pull redis

2.寫服務配置檔案redis.conf

daemonize no
pidfile "/var/run/redis.pid"
port 6379
timeout 300
loglevel warning
logfile "redis.log"
databases 16
rdbcompression yes
dbfilename "redis.rdb"
dir "/data"
requirepass password
maxclients 10000
maxmemory 1000
mb maxmemory-policy allkeys-lru appendonly no appendfsync always

3.寫哨兵配置檔案sentinel.conf

daemonize no
port 26379
dir "/tmp"
sentinel monitor mymaster *.*.*.* 6379 1
sentinel down-after-milliseconds mymaster 60000
sentinel auth-pass mymaster password
sentinel config-epoch mymaster 0
sentinel leader-epoch
mymaster 0

4.啟動redis服務

docker run --name redis -p 6379:6379 -v /showcase/redis/redis.conf:/data/redis.conf --restart=always -d redis:latest redis-server redis.conf

5.啟動sentinel服務

docker run --name sentinel -p 26379:26379 -v /showcase/redis/sentinel.conf:/data/sentinel.conf --restart=always -d redis:latest redis-sentinel
sentinel.conf

二:叢集搭建
1.寫主服務配置檔案redis_master.conf

daemonize no
pidfile "/var/run/redis.pid"
port 6379                       
timeout 300                     
loglevel warning                        
logfile "redis.log"                    
databases 16                        
rdbcompression yes                     
dbfilename "redis.rdb"                     
dir "/data"                    
requirepass password
masterauth password
maxclients 10000
maxmemory 1000mb                        
maxmemory-policy allkeys-lru                        
appendonly no                       
appendfsync always

2.寫從服務配置檔案redis_slave.conf

daemonize no
pidfile "/var/run/redis.pid"                       
port 6379                       
timeout 300                     
loglevel warning                        
logfile "redis.log"                    
databases 16                        
rdbcompression yes                     
dbfilename "redis.rdb"                     
dir "/data"                    
requirepass password
masterauth password
maxclients 10000                        
maxmemory 1000mb                        
maxmemory-policy allkeys-lru                        
appendonly no                       
appendfsync always                      
slaveof *.*.*.* 6379

3.寫哨兵叢集配置檔案sentinel.conf

daemonize no
port 26379
dir "/tmp"
sentinel monitor mymaster *.*.*.* 6379 2
sentinel down-after-milliseconds mymaster 60000
sentinel auth-pass mymaster password
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 0

4.啟動主redis服務

docker run --name redis_master -p 6379:6379 -v /showcase/redis/redis_master.conf:/data/redis_master.conf --restart=always -d redis:latest redis-server redis_master.conf

5.啟動從redis服務

docker run --name redis_slave -p 6379:6379 -v /showcase/redis/redis_slave.conf:/data/redis_slave.conf --restart=always -d redis:latest redis-server redis_slave.conf

6.啟動sentinel服務

docker run --name sentinel -p 26379:26379 -v /showcase/redis/sentinel.conf:/data/sentinel.conf --restart=always -d redis:latest redis-sentinel sentinel.conf