1.下载redis-server安装包

mkdir -p /home/user/Software/redis-cluster
cd /home/user/Software/redis-cluster
wget  http://download.redis.io/releases/redis-5.0.9.tar.gz

2.安装redis

tar -zxvf  redis-5.0.9.tar.gz
mv redis-5.0.9 redis-7000
cd redis-7000
make && make install

如果看到一下提示信息则表示安装成功

INSTALL install
INSTALL install
INSTALL install
INSTALL install

3.在/home/user/Software/redis-cluster/redis-7000下创建data目录

4.在/home/user/Software/redis-cluster/redis-7000下创建7000.conf 配置文件

#bind 0.0.0.0
#取消保护模式
protected-mode no
port 7000
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /home/user/Software/redis-cluster/redis-7000/redis_7000.pid
loglevel notice
logfile "/home/user/Software/redis-cluster/redis-7000/7000.log"
databases 16
always-show-logo yes
#RDB:快照时间配置 save <seconds> <changes> 在seconds时间内,只要changes个key发生了变化,则触发快照
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
#RDB:默认开启采用LZF算法对生成的RDB文件做压缩处理,压缩后的文件远小于内存大小
rdbcompression yes
rdbchecksum yes
#RDB:RDB文件保存在dir配置的指定目录下,通过dbfilename配置指定文件名
dbfilename dump.rdb
dir /home/user/Software/redis-cluster/redis-7000/data/
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
#AOF:控制是否启用aof
appendonly no
#AOF:开启aof之后,入文件的文件名。
appendfilename "appendonly.aof"
# 写入策略,每秒写一次
appendfsync everysec
#AOF:重写期间会消耗大量磁盘IO,可以开启配置no-appendfsync-on-rewrite yes,表示在AOF重写期间不做fsync操作,默认为no。但是如此一来某些情况下会丢掉重写期间的所有数据。慎重开启
no-appendfsync-on-rewrite no
#AOF:到达当前文件空间(aof_current_size)与上一次重写后的文件空间(aof_base_size)的百分比时除法重写
auto-aof-rewrite-percentage 100
#AOF:表示运行AOF重写时文件最小体积,默认为64MB。
auto-aof-rewrite-min-size 64mb
#AOF:指redis在恢复时,会忽略最后一条可能存在问题的指令。默认值yes。即在aof写入时,可能存在指令写错的问题(突然断电,写了一半),yes恢复时会log并继续恢复,no恢复时遇到这种情况直接恢复失败
aof-load-truncated yes
#RDB-AOF:开启RDB-AOF混合持久化(redis 4.0+提供)
aof-use-rdb-preamble yes
lua-time-limit 5000
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 10000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
#AOF:每次重写一次刷盘大小,默认为32MB
aof-rewrite-incremental-fsync yes
#RDB:降低save时的影响,REdis-5.0或以上版本支持,之下的版本不支持
rdb-save-incremental-fsync yes

5.进入/home/user/Software/redis-cluster目录部署其他节点

cp -R redis-7000 redis-7001
cd redis-7001
mv 7000.conf 7001.conf

按照以上步骤复制剩余节点,以及修改相应节点配置文件配置即可

6.启动节点

6.1启动
  在/home/user/Software/redis-cluster目录下运行一下命令,
  以下命令为其中一个节点的,其余节点运行命令修改参数即可

redis-7000/src/redis-server redis-7000/7000.conf &

6.2 创建集群
  启动所有节点
  随便进入一个redis安装目录

cd /home/user/Software/redis-cluster/redis-7005/src
 ./redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1

 参数说明:
       –cluster-replicas 1:表示希望为集群中的每个主节点创建一个从节点(一主一从)。
       –cluster-replicas 2:表示希望为集群中的每个主节点创建两个从节点(一主二从)。
 

在需要输入地方输入"yes"
看到一下信息表示已经成功:

[OK] All nodes agree about slots configuration.
 >>> Check for open slots...
 >>> Check slots coverage...
 [OK] All 16384 slots covered.

7.登录验证

redis-cli -c -p 7000
127.0.0.1:7000> set aaa zhangsan
 -> Redirected to slot [10439] located at 127.0.0.1:7001
 OK
 127.0.0.1:7001> get aaa
 "zhangsan"
 127.0.0.1:7001>