首页 > 数据库 >redis

redis

时间:2023-11-20 22:02:42浏览次数:57  
标签:root redis 192.168 6379 master data

redis单机安装

安装并配置redis服务

[root@localhost ~]# ll
-rw-r--r--  1 root root 1966337 10月 10 10:09 redis-5.0.4.tar.gz
[root@localhost ~]# tar xf redis-5.0.4.tar.gz 
[root@localhost ~]# cd redis-5.0.4/
[root@localhost redis-5.0.4]# make
[root@localhost redis-5.0.4]# cd
[root@localhost ~]# mkdir /data/redis
[root@localhost ~]# cp -r redis-5.0.4/* /data/redis
#redis-server	#服务端程序
#redis-cli		#客户端程序
#redis.conf		#主配置文件

#修改本机IP
[root@localhost ~]# sed -i '/^bind 127.0.0.1$/s/127.0.0.1/192.168.100.104/g' /data/redis/redis.conf
#开启redis的保护模式
[root@localhost ~]# sed -i '/protected-mode/s/yes/no/g' /data/redis/redis.conf
#开启redis后台守护
[root@localhost ~]# sed -i '/daemonize/s/no/yes/g' /data/redis/redis.conf
#设置redis密码
[root@localhost ~]# sed -i '/requirepass/s/foobared/123123/g' /data/redis/redis.conf
#开启redis密码
[root@localhost ~]# sed -i '/requirepass 123123/s/^#//g' /data/redis/redis.conf

开启redis

[root@localhost ~]# /data/redis/src/redis-server /data/redis/redis.conf 
30713:C 10 Oct 2022 10:31:15.925 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
30713:C 10 Oct 2022 10:31:15.925 # Redis version=5.0.4, bits=64, commit=00000000, modified=0, pid=30713, just started
30713:C 10 Oct 2022 10:31:15.925 # Configuration loaded

[root@localhost ~]# netstat -utpln|grep 6379
tcp        0      0 192.168.100.104:6379    0.0.0.0:*               LISTEN      30714/redis-server

[root@localhost ~]# /data/redis/src/redis-cli -h 192.168.100.104 -p 6379 -a 123123
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.100.104:6379> keys *
(empty list or set)
192.168.100.104:6379> set name haha
OK
192.168.100.104:6379> keys *
1) "name"
192.168.100.104:6379> get name
"haha"

redis主从复制

准备环境

系统 IP 主机名 所需软件 redis角色及端口
centos7 192.168.100.104 master redis-5.0.4.tar.gz master、6379
centos7 192.168.100.105 slave redis-5.0.4.tar.gz slave、6379、6380

master安装配置

[root@master ~]# mkdir /data/redis
[root@master ~]# tar xf redis-5.0.4.tar.gz
[root@master ~]# cd redis-5.0.4/
[root@master redis-5.0.4]# make
[root@master ~]# cp redis/src/redis-server /data/redis/
[root@master ~]# cp redis/src/redis-cli /data/redis/
[root@master ~]# cp redis/redis.conf /data/redis/
[root@master ~]# ll /data/redis/
总用量 12672
-rwxr-xr-x 1 root root 4806256 10月 10 16:16 redis-cli
-rw-r--r-- 1 root root   62155 10月 10 16:16 redis.conf
-rwxr-xr-x 1 root root 8101856 10月 10 16:16 redis-server
#修改本机IP
[root@master ~]# sed -i '/^bind 127.0.0.1$/s/127.0.0.1/192.168.100.104/g' /data/redis/redis.conf
#开启redis的保护模式
[root@master ~]# sed -i '/protected-mode/s/yes/no/g' /data/redis/redis.conf
#开启redis后台守护
[root@master ~]# sed -i '/daemonize/s/no/yes/g' /data/redis/redis.conf
#设置redis密码
[root@master ~]# sed -i '/requirepass/s/foobared/123123/g' /data/redis/redis.conf
#开启redis密码
[root@master ~]# sed -i '/requirepass 123123/s/^#//g' /data/redis/redis.conf
[root@master ~]# /data/redis/redis-server /data/redis/redis.conf 

slave安装配置(双实例)

[root@slave ~]# mkdir /data/redis
[root@slave ~]# tar xf redis-5.0.4.tar.gz
[root@slave ~]# cd redis-5.0.4/
[root@slave redis-5.0.4]# make
[root@slave ~]# cp redis/src/redis-server /data/redis/
[root@slave ~]# cp redis/src/redis-cli /data/redis/
[root@slave ~]# cp redis/redis.conf /data/redis/
[root@slave ~]# ll /data/redis/
总用量 12672
-rwxr-xr-x 1 root root 4806256 10月 10 16:16 redis-cli
-rw-r--r-- 1 root root   62155 10月 10 16:16 redis.conf
-rwxr-xr-x 1 root root 8101856 10月 10 16:16 redis-server
[root@slave ~]# sed -i '/^bind 127.0.0.1$/s/127.0.0.1/192.168.100.105/g' /data/redis/redis.conf
[root@slave ~]# sed -i '/protected-mode/s/yes/no/g' /data/redis/redis.conf
[root@slave ~]# sed -i '/daemonize/s/no/yes/g' /data/redis/redis.conf
[root@slave ~]# sed -i '/requirepass/s/foobared/123123/g' /data/redis/redis.conf
[root@slave ~]# sed -i '/requirepass 123123/s/^#//g' /data/redis/redis.conf
[root@slave ~]# cp /data/redis/redis.conf /data/redis/redis01.conf
[root@slave ~]# sed -i '92s/6379/6380/g' /data/redis/redis01.conf	#更改监听端口
[root@slave ~]# sed -i '158s/6379/6380/g' /data/redis/redis01.conf	#更改PID文件
[root@slave ~]# sed -i '171s/^\(.\).\{9\}/logfile "\/data\/redis\/redis01.log"/g' /data/redis/redis01.conf		#更改日志文件位置,9代表旧内容的字节数
[root@slave ~]# /data/redis/redis-server /data/redis/redis.conf
[root@slave ~]# /data/redis/redis-server /data/redis/redis01.conf

配置master角色的文件

[root@master ~]# vi /data/redis/redis.conf
    457 min-replicas-to-write 2		#设置slave节点的数量,如果slave节点数量少于此值,那么master节点将停止客户端的一切写请求
    458 min-replicas-max-lag 10		#master与slave之间同步数据的超时时间,若超过此时间,master节点将停止客户端的一切写操作
[root@master ~]# ps -ef|grep redis
[root@master ~]# kill -9 PID
[root@master ~]# /data/redis/redis-server /data/redis/redis.conf

配置slave角色的文件

[root@slave ~]# vi /data/redis/redis.conf
286 replicaof 192.168.100.104 6379		#指定master的ip地址以及端口
293 masterauth 123123		#指定master的连接密码

[root@slave ~]# vi /data/redis/redis01.conf
286 replicaof 192.168.100.104 6379
293 masterauth 123123
[root@master ~]# ps -ef|grep redis
[root@master ~]# kill -9 PID
[root@master ~]# /data/redis/redis-server /data/redis/redis.conf

验证主从复制

master创建内容

[root@master ~]# /data/redis/redis-cli -h 192.168.100.104 -p 6379 -a 123123
192.168.100.104:6379> set name xiaohong
OK
192.168.100.104:6379> get name
"xiaohong"
192.168.100.104:6379>  info replication
# Replication
role:master
connected_slaves:2
min_slaves_good_slaves:2
slave0:ip=192.168.100.105,port=6380,state=online,offset=312,lag=1
slave1:ip=192.168.100.105,port=6379,state=online,offset=312,lag=1
master_replid:a038ab9322bd51c9cb45d20b1a07058ac9bd9201
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:312
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:312

slave验证复制情况

[root@slave ~]# /data/redis/redis-cli -h 192.168.100.105 -p 6379 -a 123123
192.168.100.105:6379> keys *
1) "name"
192.168.100.105:6379> get name
"xiaohong"

[root@slave ~]# /data/redis/redis-cli -h 192.168.100.105 -p 6380 -a 123123
192.168.100.105:6380> keys *
1) "name"
192.168.100.105:6380> get name
"xiaohong"

重启master,验证RDB持久化

[root@master ~]# /data/redis/redis-server /data/redis/redis.conf
192.168.100.104:6379> keys *
1) "name"
192.168.100.104:6379>  info replication
# Replication
role:master
connected_slaves:2
min_slaves_good_slaves:2
slave0:ip=192.168.100.105,port=6380,state=online,offset=70,lag=1
slave1:ip=192.168.100.105,port=6379,state=online,offset=70,lag=2
master_replid:62644fe9ef3f876b8270f9eb9cce38d185995b4f
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:70
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:70

redis集群sentinel

系统 IP 主机名 所需软件 端口
centos7 192.168.100.104 master redis-5.0.4.tar.gz redis:6379 ;redis sentinel:26379
centos7 192.168.100.105 slave1 redis-5.0.4.tar.gz redis:6379
centos7 192.168.100.106 slave2 redis-5.0.4.tar.gz redis:6379

安装所有节点的redis服务(所有节点配置相同)

[root@master ~]# tar xf redis-5.0.4.tar.gz 
[root@master ~]# cd redis-5.0.4/
[root@master redis-5.0.4]# make
root@master redis-5.0.4]# cd 
[root@master ~]# mkdir -p /data/redis
[root@master ~]# cp redis-5.0.4/redis.conf /data/redis/
[root@master ~]# cp redis-5.0.4/src/redis-server /data/redis/
[root@master ~]# cp redis-5.0.4/src/redis-cli /data/redis/

#master与slave分别改为本机IP
[root@master ~]# sed -i '/^bind 127.0.0.1$/s/127.0.0.1/192.168.100.104/g' /data/redis/redis.conf
#开启redis的保护模式
[root@master ~]# sed -i '/protected-mode/s/yes/no/g' /data/redis/redis.conf
#开启redis后台守护
[root@master ~]# sed -i '/daemonize/s/no/yes/g' /data/redis/redis.conf
#设置redis密码
[root@master ~]# sed -i '/requirepass/s/foobared/123123/g' /data/redis/redis.conf
#开启redis密码
[root@master ~]# sed -i '/requirepass 123123/s/^#//g' /data/redis/redis.conf
[root@master ~]# /data/redis/redis-server /data/redis/redis.conf

配置master角色的文件

[root@master ~]# vi /data/redis/redis.conf
    457 min-replicas-to-write 2		#设置slave节点的数量,如果slave节点数量少于此值,那么master节点将停止客户端的一切写请求
    458 min-replicas-max-lag 10		#master与slave之间同步数据的超时时间,若超过此时间,master节点将停止客户端的一切写操作
[root@master ~]# ps -ef|grep redis
[root@master ~]# kill -9 PID
[root@master ~]# /data/redis/src/redis-server /data/redis/redis.conf

配置slave角色的文件,两节点一致

[root@slave1 ~]# vi /data/redis/redis.conf
286 replicaof 192.168.100.104 6379		#指定master的ip地址以及端口
293 masterauth 123123		#指定master的连接密码

[root@slave2 ~]# vi /data/redis/redis01.conf
286 replicaof 192.168.100.104 6379
293 masterauth 123123
#两节点分别重启
[root@slave1 ~]# ps -ef|grep redis
[root@slave1 ~]# kill -9 PID
[root@slave1 ~]# /data/redis/redis-server /data/redis/redis.conf

验证主从同步

#master添加数据
[root@master ~]# /data/redis/redis-cli -h 192.168.100.104 -p 6379 -a 123123
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.100.104:6379> set name hello
OK
192.168.100.104:6379> get name
"hello"

#slave1验证同步情况
[root@slave1 ~]# /data/redis/redis-cli -h 192.168.100.105 -p 6379 -a 123123
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.100.105:6379> keys *
1) "name"
192.168.100.105:6379> get name
"hello"

#slave2验证同步情况
[root@slave2 ~]# /data/redis/redis-cli -h 192.168.100.106 -p 6379 -a 123123
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.100.106:6379> keys *
1) "name"
192.168.100.106:6379> get name
"hello"

在master节点配置redis sentinel

[root@master ~]# cp redis-5.0.4/src/redis-sentinel /data/redis/		# sentinel启动脚本
[root@master ~]# cp redis-5.0.4/sentinel.conf /data/redis/			# sentinel配置文件
[root@master ~]# mkdir -p /data/redis/sentinel_data					#创建临时文件存放位置
[root@master ~]# touch /data/redis/sentinel_log/redis-sentinel.log	#创建日志文件存放位置
[root@master ~]# touch /data/redis/sentinel_log/redis-sentinel.pid	#创建pid文件存放位置
[root@master ~]# vi /data/redis/sentinel.conf
21 port 26379			#默认端口
31 pidfile "/data/redis/sentinel_log/redis-sentinel.pid"
36 logfile "/data/redis/sentinel_log/redis-sentinel.log"
65 dir "/data/redis/sentinel_data"
113 sentinel monitor master 192.168.100.104 6379 1		#1表示当一台master出现故障,则进行切换
121 sentinel down-after-milliseconds master 3000		#指定master的失效时间,单位毫秒,3秒
123 sentinel failover-timeout master 180000		#切换操作完成的时间周期为180秒,逾期认为切换失败
146 sentinel auth-pass master 123123			#连接master与slave节点的密码
219 sentinel config-epoch master 1				#切换后,最多有多少节点可以与新的master进行同步


[root@master ~]# /data/redis/redis-sentinel /data/redis/sentinel.conf &		#后台启动

测试sentinel,关闭master

[root@master ~]# ps -ef|grep redis
root       5296      1  0 09:50 ?        00:00:03 /data/redis/redis-server 192.168.100.104:6379
root      19457   1131  0 10:33 pts/0    00:00:00 /data/redis/redis-sentinel *:26379 [sentinel]
root      19471   1131  0 10:35 pts/0    00:00:00 grep --color=auto redis
[root@master ~]# kill -9 5296
[root@master ~]# tail -100f /data/redis/sentinel_log/redis-sentinel.log
19457:X 11 Oct 2022 10:33:23.822 # Sentinel ID is 7be8f52b3f964a4533b30398a31d0e9b35370f8e
19457:X 11 Oct 2022 10:33:23.822 # +monitor master master 192.168.100.104 6379 quorum 1
19457:X 11 Oct 2022 10:35:35.228 # +sdown master master 192.168.100.104 6379
19457:X 11 Oct 2022 10:35:35.228 # +odown master master 192.168.100.104 6379 #quorum 1/1
19457:X 11 Oct 2022 10:35:35.228 # +new-epoch 2
19457:X 11 Oct 2022 10:35:35.228 # +try-failover master master 192.168.100.104 6379
19457:X 11 Oct 2022 10:35:35.233 # +vote-for-leader 7be8f52b3f964a4533b30398a31d0e9b35370f8e 2
19457:X 11 Oct 2022 10:35:35.233 # +elected-leader master master 192.168.100.104 6379
19457:X 11 Oct 2022 10:35:35.233 # +failover-state-select-slave master master 192.168.100.104 6379
19457:X 11 Oct 2022 10:35:35.297 # +selected-slave slave 192.168.100.105:6379 192.168.100.105 6379 @ master 192.168.100.104 6379
19457:X 11 Oct 2022 10:35:35.297 * +failover-state-send-slaveof-noone slave 192.168.100.105:6379 192.168.100.105 6379 @ master 192.168.100.104 6379
19457:X 11 Oct 2022 10:35:35.351 * +failover-state-wait-promotion slave 192.168.100.105:6379 192.168.100.105 6379 @ master 192.168.100.104 6379
19457:X 11 Oct 2022 10:35:35.414 # +promoted-slave slave 192.168.100.105:6379 192.168.100.105 6379 @ master 192.168.100.104 6379
19457:X 11 Oct 2022 10:35:35.414 # +failover-state-reconf-slaves master master 192.168.100.104 6379
19457:X 11 Oct 2022 10:35:35.472 * +slave-reconf-sent slave 192.168.100.106:6379 192.168.100.106 6379 @ master 192.168.100.104 6379
19457:X 11 Oct 2022 10:35:36.471 * +slave-reconf-inprog slave 192.168.100.106:6379 192.168.100.106 6379 @ master 192.168.100.104 6379
19457:X 11 Oct 2022 10:35:36.471 * +slave-reconf-done slave 192.168.100.106:6379 192.168.100.106 6379 @ master 192.168.100.104 6379
19457:X 11 Oct 2022 10:35:36.523 # +failover-end master master 192.168.100.104 6379
19457:X 11 Oct 2022 10:35:36.523 # +switch-master master 192.168.100.104 6379 192.168.100.105 6379
19457:X 11 Oct 2022 10:35:36.523 * +slave slave 192.168.100.106:6379 192.168.100.106 6379 @ master 192.168.100.105 6379
19457:X 11 Oct 2022 10:35:36.523 * +slave slave 192.168.100.104:6379 192.168.100.104 6379 @ master 192.168.100.105 6379
19457:X 11 Oct 2022 10:35:39.576 # +sdown slave 192.168.100.104:6379 192.168.100.104 6379 @ master 192.168.100.105 6379

#发现master已被切换到slave1节点中

验证主从复制

#slave1创建数据
[root@slave1 ~]# /data/redis/redis-cli -h 192.168.100.105 -p 6379 -a 123123
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.100.105:6379> keys *
1) "name"
192.168.100.105:6379> get name
"hello"
192.168.100.105:6379> set age 18
OK
192.168.100.105:6379> keys *
1) "name"
2) "age"
192.168.100.105:6379> get age
"18"
192.168.100.105:6379> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.100.106,port=6379,state=online,offset=88860,lag=1
master_replid:9ca051d3ed04aadc319b318a1332d171e5141f0e
master_replid2:c333d4b3ab3c9631dbd3064fc28044b8c4a0159f
master_repl_offset:88860
second_repl_offset:56146
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:88860


#slave2验证
[root@slave2 ~]# /data/redis/redis-cli -h 192.168.100.106 -p 6379 -a 123123
192.168.100.106:6379> keys *
1) "age"
2) "name"
192.168.100.106:6379> get age
"18"
192.168.100.106:6379> info replication
# Replication
role:slave
master_host:192.168.100.105
master_port:6379
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:87974
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:9ca051d3ed04aadc319b318a1332d171e5141f0e
master_replid2:c333d4b3ab3c9631dbd3064fc28044b8c4a0159f
master_repl_offset:87974
second_repl_offset:56146
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:87974

重启原master节点

注意:当原master角色作为新slave角色后,6379实例只会指定当前master的IP,不会自动生成密码,所以需要在6379实例配置文件中,添加当前master角色的连接密码

[root@master ~]# /data/redis/redis-server /data/redis/redis.conf
[root@master ~]# /data/redis/redis-cli -h 192.168.100.104 -p 6379 -a 123123
192.168.100.104:6379> info replication
# Replication
role:slave
master_host:192.168.100.105
master_port:6379
master_link_status:down			#连接状态down
master_last_io_seconds_ago:-1
master_sync_in_progress:0
slave_repl_offset:1
master_link_down_since_seconds:1665456311
slave_priority:100
slave_read_only:1
connected_slaves:0
min_slaves_good_slaves:0
master_replid:7c560da3493f99887f065310deace0e154bd7323
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
192.168.100.104:6379> exit
[root@master ~]# ps -ef|grep redis
[root@master ~]# kill -9 PID
[root@master ~]# echo "masterauth 123123" >>/data/redis/redis.conf
[root@master ~]# /data/redis/redis-server /data/redis/redis.conf
[root@master ~]# /data/redis/redis-cli -h 192.168.100.104 -p 6379 -a 123123
192.168.100.104:6379> info replication
# Replication
role:slave
master_host:192.168.100.105
master_port:6379
master_link_status:up
master_last_io_seconds_ago:2
master_sync_in_progress:0
slave_repl_offset:108543
slave_priority:100
slave_read_only:1
connected_slaves:0
min_slaves_good_slaves:0
master_replid:9ca051d3ed04aadc319b318a1332d171e5141f0e
master_replid2:c333d4b3ab3c9631dbd3064fc28044b8c4a0159f
master_repl_offset:108543
second_repl_offset:1304
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1304
repl_backlog_histlen:107240
192.168.100.104:6379> exit

redis集群cluster

系统 IP 主机名 端口 软件
centos7 192.168.100.103 redis1 6379、6380 redis-5.0.4.tar.gz
centos7 192.168.100.107 redis2 6379、6380 redis-5.0.4.tar.gz
centos7 192.168.100.108 redis3 6379、6380 redis-5.0.4.tar.gz

安装redis,三处节点一致

[root@redis1 soft]# tar xf redis-5.0.4.tar.gz
[root@redis1 soft]# cd redis-5.0.4
[root@redis1 redis-5.0.4]# make

准备实例,每个节点两实例

[root@redis1 redis-5.0.4]# mkdir /data/redis{6379..6380}
[root@redis1 redis-5.0.4]# cp ./src/redis-server /data/redis6379/
[root@redis1 redis-5.0.4]# cp ./src/redis-server /data/redis6380/
[root@redis1 redis-5.0.4]# cp ./src/redis-cli /data/redis6379/
[root@redis1 redis-5.0.4]# cp ./src/redis-cli /data/redis6380/
[root@redis1 redis-5.0.4]# cp ./redis.conf /data/redis6379/
[root@redis1 redis-5.0.4]# cp ./redis.conf /data/redis6380/
[root@redis1 redis-5.0.4]# mkdir /data/redis6379/data
[root@redis1 redis-5.0.4]# mkdir /data/redis6380/data
[root@redis1 redis-5.0.4]# mkdir /data/redis6379/logs
[root@redis1 redis-5.0.4]# mkdir /data/redis6380/logs

修改主配置文件,端口不一致

3台都需要

[root@redis1 data]# vi redis6379/redis.conf
69 bind 192.168.100.103		#本机ip
92 port 6379	#端口
136 daemonize yes	#设置redis后台运行
158 pidfile /data/redis6379/logs/redis_6379.pid		#pid文件
171 logfile "/data/redis6379/logs/redis.log"		#日志位置
263 dir /data/redis6379/data		#数据文件存放位置,手动创建
293 masterauth <123123>		#连接密码
507 requirepass 123123		#两处密码一致
699 appendonly yes		#aof日志开启
838 cluster-enabled yes		#开启cluster集群模式
846 cluster-config-file nodes-6379.conf		#cluster集群配置文件,无需创建,自动生成
852 cluster-node-timeout 15000		#cluster超时时间,默认15s


[root@redis1 data]# cp redis6379/redis.conf redis6380/
[root@redis1 data]# vi redis6380/redis.conf
:%s/6379/6380/g		#替换端口

启动redis实例,三节点一致

[root@redis1 data]# /data/redis6379/redis-server /data/redis6379/redis.conf
[root@redis1 data]# /data/redis6380/redis-server /data/redis6380/redis.conf
[root@redis1 data]# netstat -utpln |grep redis
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      13573/redis-server  
tcp        0      0 127.0.0.1:6380          0.0.0.0:*               LISTEN      13578/redis-server  
tcp        0      0 127.0.0.1:16379         0.0.0.0:*               LISTEN      13573/redis-server  
tcp        0      0 127.0.0.1:16380         0.0.0.0:*               LISTEN      13578/redis-server

创建集群

[root@redis1 ~]# /data/redis6379/redis-cli -a 123123 --cluster create 192.168.100.103:6379 192.168.100.103:6380 192.168.100.107:6379 192.168.100.107:6380 192.168.100.108:6379 192.168.100.108:6380 --cluster-replicas 1
#-a 用户设置密码
#--cluster create:创建集群
#--cluster-replicas 1:表示一个master 对应一个slave

Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> 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.100.107:6380 to 192.168.100.103:6379
Adding replica 192.168.100.108:6380 to 192.168.100.107:6379
Adding replica 192.168.100.103:6380 to 192.168.100.108:6379
M: b3b16639d7afca9d17c05469cd948a33cf4b3a53 192.168.100.103:6379
   slots:[0-5460] (5461 slots) master
S: 2c261a24460a10b0122011723249f4b68e7f52c7 192.168.100.103:6380
   replicates 1e777760aa7dcad087128be0a71bc755a5bb26a7
M: 003753e3c19fd0a1f838d36dc55c47ccfafa83ce 192.168.100.107:6379
   slots:[5461-10922] (5462 slots) master
S: 131132bebe4ebb68b5d2ffa66a2211b3a743de72 192.168.100.107:6380
   replicates b3b16639d7afca9d17c05469cd948a33cf4b3a53
M: 1e777760aa7dcad087128be0a71bc755a5bb26a7 192.168.100.108:6379
   slots:[10923-16383] (5461 slots) master
S: 0b0f303c5bff01dc731e58a117365fe0d01eb873 192.168.100.108:6380
   replicates 003753e3c19fd0a1f838d36dc55c47ccfafa83ce
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.100.103:6379)
M: b3b16639d7afca9d17c05469cd948a33cf4b3a53 192.168.100.103:6379
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
M: 003753e3c19fd0a1f838d36dc55c47ccfafa83ce 192.168.100.107:6379
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
S: 2c261a24460a10b0122011723249f4b68e7f52c7 192.168.100.103:6380
   slots: (0 slots) slave
   replicates 1e777760aa7dcad087128be0a71bc755a5bb26a7
S: 0b0f303c5bff01dc731e58a117365fe0d01eb873 192.168.100.108:6380
   slots: (0 slots) slave
   replicates 003753e3c19fd0a1f838d36dc55c47ccfafa83ce
M: 1e777760aa7dcad087128be0a71bc755a5bb26a7 192.168.100.108:6379
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
S: 131132bebe4ebb68b5d2ffa66a2211b3a743de72 192.168.100.107:6380
   slots: (0 slots) slave
   replicates b3b16639d7afca9d17c05469cd948a33cf4b3a53
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

验证集群状态

[root@redis1 ~]# /data/redis6379/redis-cli -a 123123 -h 192.168.100.103 -p 6379 -c
#-c:表示集群,不可省略
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.100.103:6379> cluster nodes
003753e3c19fd0a1f838d36dc55c47ccfafa83ce 192.168.100.107:6379@16379 master - 0 1667103284000 3 connected 5461-10922
b3b16639d7afca9d17c05469cd948a33cf4b3a53 192.168.100.103:6379@16379 myself,master - 0 1667103281000 1 connected 0-5460
2c261a24460a10b0122011723249f4b68e7f52c7 192.168.100.103:6380@16380 slave 1e777760aa7dcad087128be0a71bc755a5bb26a7 0 1667103285549 5 connected
0b0f303c5bff01dc731e58a117365fe0d01eb873 192.168.100.108:6380@16380 slave 003753e3c19fd0a1f838d36dc55c47ccfafa83ce 0 1667103284529 6 connected
1e777760aa7dcad087128be0a71bc755a5bb26a7 192.168.100.108:6379@16379 master - 0 1667103283516 5 connected 10923-16383
131132bebe4ebb68b5d2ffa66a2211b3a743de72 192.168.100.107:6380@16380 slave b3b16639d7afca9d17c05469cd948a33cf4b3a53 0 1667103283000 4 connected

标签:root,redis,192.168,6379,master,data
From: https://www.cnblogs.com/lzexin/p/17844995.html

相关文章

  • Redis入门篇(一)
    初学Redis简介以及入门一.Redis的介绍1.什么是redis?Redis(RemoteDictionaryServer)是一个开源的内存数据结构存储系统。它支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等。与传统的关系型数据库相比,Redis是一种更加快速高效的数据存储方式。Redis在内存中存......
  • Redis:Key-Value的NoSQL数据库
    Redis:Key-Value的NoSQL数据库(基础)主要内容:数据库分类Redis入门客户端连接RedisRedis数据类型及操作Springboot整合RedisSpringCache学习目标:知识点要求数据库分类熟悉Redis使用场景熟悉Redis下载与安装了解Redis启动关闭掌握客户端连接Redis......
  • redis在idea中的应用
    2023-11-20导入的依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> packagecom.sky.test;importorg.junit.jupiter.api.Test......
  • docker安装及安装redis
    一、安装docker1.准备安装环境:yuminstall-yyum-utils2.设置镜像仓库为阿里云:yum-config-manager\--add-repo\http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3.更新系统yum软件索引:yumcleanallyummakecache4.安装docker:yuminstalldocker-c......
  • 00Redis介绍
    1.1Redis简介Redis,RemoteDictionaryServer,远程字典服务,由意大利人SalvatoreSanfilippo(又名Antirez)开发,是一个使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、NoSQL开源内存数据库,其提供多种语言的API。Redis之所以称之为字典服务,是因为Redis......
  • redis 在windows使用
    1下载软件(包含服务端和客户端)-从官网找安装包下载后文件 redis-server.exe 就是服务端.文件 redis-cli.exe是客户端.   2在cmd中启动服务端 在当前窗口中运行cmd,输入redis-serve为了方便,可以把redis目录加入环境变量,这样任意打开cmd, 输......
  • Centos7安装Redis(超详细)
    ​Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。​下载地址:https://github.com/microsoftarchive/redis/re......
  • 三天吃透Redis面试八股文
    目录:Redis是什么?Redis优缺点?Redis为什么这么快?讲讲Redis的线程模型?Redis应用场景有哪些?Memcached和Redis的区别?为什么要用Redis而不用map/guava做缓存?Redis数据类型有哪些?SortedSet和List异同点?Redis的内存用完了会怎样?Redis如何做内存优化?keys命令存在的问题?......
  • 二、Redis架构
    一、持久化机制 clientredis[内存]----->内存数据-数据持久化-->磁盘 Redis官方提供了两种不同的持久化方法来将内存的数据存储到硬盘里面分别是: 快照(Snapshot)AOF(AppendOnlyFile)只追加日志文件1、快照①特点:这种方式可以将某一时刻的所有数据都写......
  • Redis主从有几种常见的拓扑结构?
    Redis的复制拓扑结构可以支持单层或多层复制关系,根据拓扑复杂性可以分为以下三种:一主一从、一主多从、树状主从结构。1.一主一从结构一主一从结构是最简单的复制拓扑结构,用于主节点出现宕机时从节点提供故障转移支持。2.一主多从结构一主多从结构(又称为星形拓扑结构)使得应用端可......