下載2.8.17版本
$ wget http://download.redis.io/releases/redis-2.8.17.tar.gz
$ tar xzf redis-2.8.17.tar.gz
$ cd redis-2.8.17
make
$ yum -y install gcc automake autoconf libtool make #【也許在make以前要先安裝GCC】
$ make MALLOC=libc
構造redis目錄、複製文件
$ mkdir -p ../redis_ms/redis_6380/src
$ mkdir -p ../redis_ms/redis_6381/src
$ mkdir -p ../redis_ms/redis_6382/src
$ cp runtest runtest-sentinel redis.conf sentinel.conf ../redis_ms/redis_6380
$ cp runtest runtest-sentinel redis.conf sentinel.conf ../redis_ms/redis_6381
$ cp runtest runtest-sentinel redis.conf sentinel.conf ../redis_ms/redis_6382
$ cd src/
$ cp redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server ../../redis_ms/redis_6380/src/
$ cp redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server ../../redis_ms/redis_6381/src/
$ cp redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server ../../redis_ms/redis_6382/src/
$ cd ../../redis_ms/
編輯節點配置
$ vim redis_6380/redis.conf
$ vim redis_6381/redis.conf
$ vim redis_6382/redis.conf
daemonize yes #後臺啓動
pidfile /opt/development/redis_ms/redis_6380/redis.pid #進程ID
port 6380 #端口
masterauth 123456 #訪問master的密碼
requirepass 123456 #訪問該節點的密碼
daemonize yes #後臺啓動
pidfile /opt/development/redis_ms/redis_6381/redis.pid #進程ID
port 6381 #端口
masterauth 123456 #訪問master的密碼
requirepass 123456 #訪問該節點的密碼
slaveof 192.168.244.132 6380 #主節點鏈接
daemonize yes #後臺啓動
pidfile /opt/development/redis_ms/redis_6382/redis.pid #進程ID
port 6382 #端口
masterauth 123456 #訪問master的密碼
requirepass 123456 #訪問該節點的密碼
slaveof 192.168.244.132 6380 #主節點鏈接
啓動節點
$ ./redis_6380/src/redis-server redis_6380/redis.conf
$ ./redis_6381/src/redis-server redis_6381/redis.conf
$ ./redis_6382/src/redis-server redis_6382/redis.conf
主節點測試
$ ./redis_6380/src/redis-cli -p 6380 -a 123456
> INFO Replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.244.132,port=6381,state=online,offset=2021,lag=1
slave1:ip=192.168.244.132,port=6382,state=online,offset=2035,lag=0
master_repl_offset:2035
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:2034
> exit
從1節點測試
$ ./redis_6381/src/redis-cli -p 6381 -a 123456
> INFO Replication
# Replication
role:slave
master_host:192.168.244.132
master_port:6380
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:16599881
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
> exit
從2節點測試
$ ./redis_6382/src/redis-cli -p 6382 -a 123456
> INFO Replication
# Replication
role:slave
master_host:192.168.244.132
master_port:6380
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:16617842
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
> exit