redis 5.0.5集群部署

环境:
192.168.71.201
192.168.71.202
192.168.71.203

集群规划:
192.168.71.201:7000   192.168.71.202:7000   192.168.71.203:7000  
192.168.71.202:7001   192.168.71.203:7001   192.168.71.201:7001
192.168.71.203:7002   192.168.71.201:7002   192.168.71.202:7002

手动安装:
三个节点统一执行:
1. 下载并解压
cd /root/software
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
tar -zxvf redis-5.0.5.tar.gz 
2. 编译安装
cd redis-5.0.5
make && make install
3. 修改必要的环境参数:
echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag
echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled

加入开机启动项:
vi /etc/rc.local
echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag
echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled

4.修改内核参数:
vi /etc/sysctl.conf
vm.overcommit_memory = 1
net.core.somaxconn= 1024
vm.max_map_count=655360

5.修改连接数:
ulimit -n 655350

6、创建redis用户:
useradd -d /data/redis -m redis

7、在redis用户根目录创建redis_cluster:
su - redis
mkdir redis_cluster
mkdir logs

8、在 redis_cluster 目录下,创建名为7000、7001的目录,并将 redis.conf 拷贝到这二个目录中
提前准备好 redis 配置文件:(redis.conf)

bind 0.0.0.0
protected-mode yes
port 7000
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /data/redis/redis_7000.pid
loglevel notice
logfile "/data/redis/logs/redis-7000.log"
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump-7000.rdb
dir ./
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
maxmemory 17179869184
appendonly yes
appendfilename "appendonly-7000.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 15000
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
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

修改端口并把配置文件复制至 7001 和 7002 目录下:
mkdir 7000 7001 7002
cp redis.conf redis_cluster/7000
cp redis.conf redis_cluster/7001
cp redis.conf redis_cluster/7002

9、启动各节点,包括7000、7001、7002
cat  /data/redis/redis_cluster/7000/start.sh 
redis-server ./redis.conf &
启动:
bash start.sh

10.创建集群:
su - redis
redis-cli --cluster create    172.21.1.1:7000  172.21.1.2:7000 172.21.1.3:7000

cd  /data/redis/redis_cluster/7000 &&  cat nodes-7000.conf   |grep master

添加从节点:
redis-cli --cluster add-node --cluster-slave --cluster-master-id  d3dfc8f2d84f06a8597e6ab999d40800361787fe 192.168.71.202:7001 192.168.71.202:7000 (最后一个参数可以写不是自己的ip)
redis-cli --cluster add-node --cluster-slave --cluster-master-id  d3dfc8f2d84f06a8597e6ab999d40800361787fe 192.168.71.203:7002 192.168.71.202:7000 

redis-cli --cluster add-node --cluster-slave --cluster-master-id  728995059965e0e4e1e7a6d23f7426764bdff96f 192.168.71.203:7001 192.168.71.203:7000
redis-cli --cluster add-node --cluster-slave --cluster-master-id  728995059965e0e4e1e7a6d23f7426764bdff96f 192.168.71.201:7002 192.168.71.203:7000

redis-cli --cluster add-node --cluster-slave --cluster-master-id dd894273aa6b33723e489575897602f094dbe1c8 192.168.71.201:7001 192.168.71.202:7000
redis-cli --cluster add-node --cluster-slave --cluster-master-id dd894273aa6b33723e489575897602f094dbe1c8 192.168.71.202:7002 192.168.71.202:7000

登陆测试:
$ redis-cli  -h 192.168.71.201  -p 7000
192.168.71.201:7000> CLUSTER INFO
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:9
cluster_size:3
cluster_current_epoch:3
cluster_my_epoch:1
cluster_stats_messages_ping_sent:4637
cluster_stats_messages_pong_sent:4580
cluster_stats_messages_sent:9217
cluster_stats_messages_ping_received:4571
cluster_stats_messages_pong_received:4637
cluster_stats_messages_meet_received:9
cluster_stats_messages_received:9217

192.168.71.201:7000> CLUSTER NODES
e8a8958162462082766c1ea496a26c80342c372d 192.168.71.203:7002@17002 slave d3dfc8f2d84f06a8597e6ab999d40800361787fe 0 1605258166612 1 connected
d3dfc8f2d84f06a8597e6ab999d40800361787fe 192.168.71.201:7000@17000 myself,master - 0 1605258166000 1 connected 0-5460
20bc6280f2e69ca06d05f2543b05fd4798592b80 192.168.71.201:7002@17002 slave 728995059965e0e4e1e7a6d23f7426764bdff96f 0 1605258163000 2 connected
dd894273aa6b33723e489575897602f094dbe1c8 192.168.71.203:7000@17000 master - 0 1605258168117 3 connected 10923-16383
905c8a1c5d1ed7bf90e0537713dd3eb23cabee44 192.168.71.201:7001@17001 slave dd894273aa6b33723e489575897602f094dbe1c8 0 1605258166000 3 connected
17cb167b022c7c617c142f5b92bf928398304a39 192.168.71.202:7001@17001 slave d3dfc8f2d84f06a8597e6ab999d40800361787fe 0 1605258166000 1 connected
728995059965e0e4e1e7a6d23f7426764bdff96f 192.168.71.202:7000@17000 master - 0 1605258168617 2 connected 5461-10922
20954f8ef17ffbfe76528e13b26ef10e094d8b6c 192.168.71.202:7002@17002 slave dd894273aa6b33723e489575897602f094dbe1c8 0 1605258167616 3 connected
025bb42319a42ac3e153aa9dfaeb75fa8bb55126 192.168.71.203:7001@17001 slave 728995059965e0e4e1e7a6d23f7426764bdff96f 0 1605258164604 2 connected

  

原文地址:https://www.cnblogs.com/lixinliang/p/13970288.html