- 解压编译
tar -zxcf redis-6.2.7.tar.gz mv redis-6.2.7 redis cd redis sudo make && sudo make install
- 修改配置文件redis.conf
sed -i 's/6379/7000/' redis.conf sed -i 's/daemonize no/daemonize yes/' redis.conf sed -i 's/protected-mode yes/protected-mode no/' redis.conf sed -i 's/# cluster-enabled yes/ cluster-enabled yes/' redis.conf #sed -i 's/# cluster-config-file nodes-6379.conf/cluster-config-file nodes-7000.conf/' redis.conf #sed -i 's:pidfile /var/run/redis_6379.pid:pidfile /data01/MPP/redisCluster/7000/redis_7000.pid:' redis.conf # sed -i 's/#bind 127.0.0.1/bind 192.168.26.15 127.0.0.1/' redis.conf # sed -i 's/dbfilename dump.rdb/dbfilename dump7000.rdb/' redis.conf #修改或增加pid文件,bind,dir pidfile /data01/MPP/redisCluster/redis_7000.pid bind 192.168.26.15 127.0.0.1 #检查配置文件 cat redis.conf | grep "pidfile " cat redis.conf | grep "daemonize " cat redis.conf | grep "protected-mode" cat redis.conf | grep "cluster-enabled" cat redis.conf | grep "cluster-config-file " cat redis.conf | grep "dbfilename " cat redis.conf | grep "dir " cat redis.conf | grep "bind " cat redis.conf | grep "700"
#启动验证没问题就可以复制到其他节点上
/opt/MPP/redis/src/redis-server /data01/MPP/redisCluster/7000/redis.conf
/opt/MPP/redis/src/redis-cli -h 192.168.26.15 -p 7000 -c
- 复制到指定主机上的目录
mkdir -p /data01/MPP/redisCluster/7000 mkdir -p /data01/MPP/redisCluster/7001 mkdir -p /data01/MPP/redisCluster/7002 mkdir -p /data01/MPP/redisCluster/7003 scp /data01/MPP/redisCluster/7000/redis.conf nbigdata2616:/data01/MPP/redisCluster/7002/ scp /data01/MPP/redisCluster/7000/redis.conf nbigdata2616:/data01/MPP/redisCluster/7003/ mkdir -p /data01/MPP/redisCluster/7004 mkdir -p /data01/MPP/redisCluster/7005 scp /data01/MPP/redisCluster/7000/redis.conf nbigdata2617:/data01/MPP/redisCluster/7004/ scp /data01/MPP/redisCluster/7000/redis.conf nbigdata2617:/data01/MPP/redisCluster/7005/
- 根据情况替换ip和端口
#替换端口 cd /data01/MPP/redisCluster/7002/ sed -i 's/7000/7002/' redis.conf #替换ip sed -i 's/192.168.26.15/192.168.26.16/' redis.conf sed -i 's/192.168.26.15/192.168.26.17/' redis.conf
- 启动各节点
/opt/MPP/redis/src/redis-server /data01/MPP/redisCluster/7000/redis.conf
/opt/MPP/redis/src/redis-server /data01/MPP/redisCluster/7001/redis.conf
/opt/MPP/redis/src/redis-server /data01/MPP/redisCluster/7002/redis.conf
/opt/MPP/redis/src/redis-server /data01/MPP/redisCluster/7003/redis.conf
/opt/MPP/redis/src/redis-server /data01/MPP/redisCluster/7004/redis.conf
/opt/MPP/redis/src/redis-server /data01/MPP/redisCluster/7005/redis.conf
- 组成集群
/opt/MPP/redis/src/redis-cli --cluster create 192.168.26.15:7000 192.168.26.15:7001 192.168.26.16:7002 192.168.26.16:7003 192.168.26.17:7004 192.168.26.17:7005 --cluster-replicas 1
[app_user@nbigdata2615 ~]$ /opt/MPP/redis/src/redis-cli --cluster create 192.168.26.15:7000 192.168.26.15:7001 192.168.26.16:7002 192.168.26.16:7003 192.168.26.17:7004 192.168.26.17:7005 --cluster-replicas 1 >>> Performing hash slots allocation on 6 nodes... Master[0] -> Slots 0 - 5460 Master[1] -> Slots 5461 - 10922 Master[2] -> Slots 10923 - 16383 Adding replica 192.168.26.16:7003 to 192.168.26.15:7000 Adding replica 192.168.26.17:7005 to 192.168.26.16:7002 Adding replica 192.168.26.15:7001 to 192.168.26.17:7004 M: 688392be93321d2e9c3c25fc0be31a23bf5ef04c 192.168.26.15:7000 slots:[0-5460] (5461 slots) master S: 2fd0abfa5c8254736a1fee9265632e6c7e5116bf 192.168.26.15:7001 replicates 14dc6fd32f791cd39501a02875dc9c9b1c2d7917 M: 988ba1a06d955ee749c6a5aa25bc5b53cd82f3b1 192.168.26.16:7002 slots:[5461-10922] (5462 slots) master S: 41a3d0f5296a86207b1519b81ad0f401b9f92826 192.168.26.16:7003 replicates 688392be93321d2e9c3c25fc0be31a23bf5ef04c M: 14dc6fd32f791cd39501a02875dc9c9b1c2d7917 192.168.26.17:7004 slots:[10923-16383] (5461 slots) master S: 90e355afbf9f6bf92185e1d063c8c353553e9562 192.168.26.17:7005 replicates 988ba1a06d955ee749c6a5aa25bc5b53cd82f3b1 Can I set the above configuration? (type 'yes' to accept): yes >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join .. >>> Performing Cluster Check (using node 192.168.26.15:7000) M: 688392be93321d2e9c3c25fc0be31a23bf5ef04c 192.168.26.15:7000 slots:[0-5460] (5461 slots) master 1 additional replica(s) M: 988ba1a06d955ee749c6a5aa25bc5b53cd82f3b1 192.168.26.16:7002 slots:[5461-10922] (5462 slots) master 1 additional replica(s) S: 90e355afbf9f6bf92185e1d063c8c353553e9562 192.168.26.17:7005 slots: (0 slots) slave replicates 988ba1a06d955ee749c6a5aa25bc5b53cd82f3b1 M: 14dc6fd32f791cd39501a02875dc9c9b1c2d7917 192.168.26.17:7004 slots:[10923-16383] (5461 slots) master 1 additional replica(s) S: 41a3d0f5296a86207b1519b81ad0f401b9f92826 192.168.26.16:7003 slots: (0 slots) slave replicates 688392be93321d2e9c3c25fc0be31a23bf5ef04c S: 2fd0abfa5c8254736a1fee9265632e6c7e5116bf 192.168.26.15:7001 slots: (0 slots) slave replicates 14dc6fd32f791cd39501a02875dc9c9b1c2d7917 [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. [app_user@nbigdata2615 ~]$
查看集群信息
[app_user@nbigdata2615 ~]$ /opt/MPP/redis/src/redis-cli -p 7000 -h 192.168.26.15 -c 192.168.26.17:7004> cluster info cluster_state:ok cluster_slots_assigned:16384 cluster_slots_ok:16384 cluster_slots_pfail:0 cluster_slots_fail:0 cluster_known_nodes:6 cluster_size:3 cluster_current_epoch:6 cluster_my_epoch:5 cluster_stats_messages_ping_sent:144 cluster_stats_messages_pong_sent:145 cluster_stats_messages_meet_sent:1 cluster_stats_messages_sent:290 cluster_stats_messages_ping_received:145 cluster_stats_messages_pong_received:145 cluster_stats_messages_received:290 192.168.26.17:7004> cluster nodes 14dc6fd32f791cd39501a02875dc9c9b1c2d7917 192.168.26.17:7004@17004 myself,master - 0 1658200803000 5 connected 10923-16383 41a3d0f5296a86207b1519b81ad0f401b9f92826 192.168.26.16:7003@17003 slave 688392be93321d2e9c3c25fc0be31a23bf5ef04c 0 1658200812743 1 connected 90e355afbf9f6bf92185e1d063c8c353553e9562 192.168.26.17:7005@17005 slave 988ba1a06d955ee749c6a5aa25bc5b53cd82f3b1 0 1658200810738 3 connected 688392be93321d2e9c3c25fc0be31a23bf5ef04c 192.168.26.15:7000@17000 master - 0 1658200809735 1 connected 0-5460 988ba1a06d955ee749c6a5aa25bc5b53cd82f3b1 192.168.26.16:7002@17002 master - 0 1658200809000 3 connected 5461-10922 2fd0abfa5c8254736a1fee9265632e6c7e5116bf 192.168.26.15:7001@17001 slave 14dc6fd32f791cd39501a02875dc9c9b1c2d7917 0 1658200811740 5 connected 192.168.26.17:7004>
如果要给集群设置密码可以分别连上各个节点设置密码
#设置密码并使用rewrite永久写入配置文件 /opt/MPP/redis/src/redis-cli -h 192.168.26.15 -p 7000 config set masterauth "123456" config set requirepass "123456" auth "123456" config rewrite exit



