单机集群部署(redis8.2.2)

环境:
OS:Centos 7
redis:8.2.2

角色 机器ip
主 192.168.1.108 7001
从 192.168.1.108 7002
主 192.168.1.108 7003
从 192.168.1.108 7004
主 192.168.1.108 7005
从 192.168.1.108 7006

 

1.下载安装介质
我这里下载的是redis-8.2.2.tar.gz
下载地址:
http://download.redis.io/releases/

2.解压介质并安装
[root@localhost soft]# tar -xvf redis-8.2.2.tar.gz
[root@localhost soft]# cd redis-8.2.2/src
[root@node2 src]# make
[root@node2 src]# make test
没有问题的话,会输入如下信息

\o/ All tests passed without errors!

Cleanup: may take some time... OK
make[1]: Leaving directory `/soft/redis-8.2.2/src'


安装到指定的目录,默认是安装在/usr/bin目录,我们这里统一安装到/usr/local/services/redis目录,该目录不用提前创建
[root@node2 src]# make PREFIX=/usr/local/services/redis install
INSTALL redis-sentinel
INSTALL redis-check-rdb

Hint: It's a good idea to run 'make test' ;)

INSTALL redis-server
INSTALL redis-benchmark
INSTALL redis-cli

3.创建目录并修改相应权限
[root@localhost src]# mkdir -p /home/middle/redis/conf
[root@localhost src]# mkdir -p /home/middle/redis/data
[root@localhost src]# mkdir -p /home/middle/redis/logs
[root@localhost src]# mkdir -p /home/middle/redis/run

创建数据目录
[root@localhost src]#mkdir -p /home/middle/redis/data/redis_7001
[root@localhost src]#mkdir -p /home/middle/redis/data/redis_7002
[root@localhost src]#mkdir -p /home/middle/redis/data/redis_7003
[root@localhost src]#mkdir -p /home/middle/redis/data/redis_7004
[root@localhost src]#mkdir -p /home/middle/redis/data/redis_7005
[root@localhost src]#mkdir -p /home/middle/redis/data/redis_7006

4.创建配置文件
vi /home/middle/redis/conf/7001.conf
内如如下:

daemonize yes
bind 192.168.1.108
protected-mode yes
port 7001
tcp-backlog 511
timeout 300
tcp-keepalive 300
supervised no
pidfile "/home/middle/redis/run/redis_7001.pid"
loglevel notice
logfile "/home/middle/redis/logs/redis_7001.log"
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.rdb"
dir "/home/middle/redis/data/redis_7001"
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
appendonly yes
appendfilename "appendonly.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 "7001.conf"
cluster-node-timeout 5000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes
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
masterauth "hxl2018"
requirepass "hxl2018"
maxmemory-policy allkeys-lfu
maxmemory 2gb
maxmemory-samples 5

 

拷贝 7001.conf 生成 7002.conf 配置文件
cd /home/middle/redis/conf
cp 7001.conf 7002.conf
cp 7001.conf 7003.conf
cp 7001.conf 7004.conf
cp 7001.conf 7005.conf
cp 7001.conf 7006.conf


替换修改配置文件的内容
sed -i 's/7001/7002/g' /home/middle/redis/conf/7002.conf
sed -i 's/7001/7003/g' /home/middle/redis/conf/7003.conf
sed -i 's/7001/7004/g' /home/middle/redis/conf/7004.conf
sed -i 's/7001/7005/g' /home/middle/redis/conf/7005.conf
sed -i 's/7001/7006/g' /home/middle/redis/conf/7006.conf

 

-----------------启动---------------------------------
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7001.conf
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7002.conf
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7003.conf
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7004.conf
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7005.conf
/usr/local/services/redis/bin/redis-server /home/middle/redis/conf/7006.conf

查看进程情况

[root@node1 conf]# ps -ef|grep redis
root      160636       1  0 16:39 ?        00:00:00 /usr/local/services/redis/bin/redis-server 192.168.1.108:7001 [cluster]
root      160688       1  0 16:39 ?        00:00:00 /usr/local/services/redis/bin/redis-server 192.168.1.108:7002 [cluster]
root      160694       1  0 16:39 ?        00:00:00 /usr/local/services/redis/bin/redis-server 192.168.1.108:7003 [cluster]
root      160754       1  0 16:39 ?        00:00:00 /usr/local/services/redis/bin/redis-server 192.168.1.108:7004 [cluster]
root      160760       1  0 16:39 ?        00:00:00 /usr/local/services/redis/bin/redis-server 192.168.1.108:7005 [cluster]
root      160819       1  0 16:39 ?        00:00:00 /usr/local/services/redis/bin/redis-server 192.168.1.108:7006 [cluster]

 

----------------------------配置集群-------------------------------------
1.创建集群
/usr/local/services/redis/bin/redis-cli --cluster create 192.168.1.108:7001 192.168.1.108:7002 192.168.1.108:7003 192.168.1.108:7004 192.168.1.108:7005 192.168.1.108:7006 --cluster-replicas 1

报错:
[root@master conf]# /usr/local/services/redis/bin/redis-cli --cluster create 192.168.1.108:7001 192.168.1.108:7002 192.168.1.108:7003 192.168.1.108:7004 192.168.1.108:7005 192.168.1.108:7006 --cluster-replicas 1
[ERR] Node 192.168.1.108:7001 DENIED Redis is running in protected mode because protected mode is enabled and no password is set for the default user. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to 'no', and then restarting the server. 3) If you started the server manually just for testing, restart it with the '--protected-mode no' option. 4) Set up an authentication password for the default user. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.
[root@master conf]#

解决办法:
停掉各节点进程,然后修改配置文件启用密码,再次启动,创建集群的时候带上密码
/usr/local/services/redis/bin/redis-cli --cluster create 192.168.1.108:7001 192.168.1.108:7002 192.168.1.108:7003 192.168.1.108:7004 192.168.1.108:7005 192.168.1.108:7006 --cluster-replicas 1 -a hxl2018

查看集群
/usr/local/services/redis/bin/redis-cli -c -h 192.168.1.108 -p 7001 -a hxl2018

192.168.1.108:7001> cluster nodes
8c625c54394e3a4dfbaea11ec5d83612430156c9 192.168.1.108:7002@17002 master - 0 1761288996286 2 connected 5461-10922
1f05c9d8cf0207b7a73da747d903ae10ecadc034 192.168.1.108:7005@17005 slave 8c625c54394e3a4dfbaea11ec5d83612430156c9 0 1761288995275 2 connected
9b71931b68f6ec5b4e8626b992e3046cc4f50966 192.168.1.108:7006@17006 slave ba27f6a5445445bce70a7eb7a46f7cf712ff9cf7 0 1761288996791 3 connected
ba27f6a5445445bce70a7eb7a46f7cf712ff9cf7 192.168.1.108:7003@17003 master - 0 1761288996085 3 connected 10923-16383
29f4ea9410f294f24ff296a95758d9399c621593 192.168.1.108:7004@17004 slave a8d20fea89f8c56bc378b129f14e241a817abaec 0 1761288995000 1 connected
a8d20fea89f8c56bc378b129f14e241a817abaec 192.168.1.108:7001@17001 myself,master - 0 0 1 connected 0-5460
192.168.1.108:7001> 

192.168.1.108:7001> 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:1
cluster_stats_messages_ping_sent:347
cluster_stats_messages_pong_sent:333
cluster_stats_messages_sent:680
cluster_stats_messages_ping_received:328
cluster_stats_messages_pong_received:347
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:680
total_cluster_links_buffer_limit_exceeded:0

 

posted @ 2025-10-27 13:50  slnngk  阅读(11)  评论(0)    收藏  举报