Redis此例簡單介紹基於docker的redis安裝與叢集搭建
阿新 • • 發佈:2019-02-06
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