【redis】生产级部署

news2024/12/22 19:40:21

目录

环境部署

redis环境部署

redis多实例配置

构建redis cluster集群

cluster生产集群部署

Cluster集群故障切换


环境部署


1 、关闭防火墙

 

2 、准备两台虚拟机配置内容如下

redis-master

192.168.108.67

7000

redis-master01

7001

redis-master02

7002

redis-master03

redis-slave

192.168.108.189

8000

redis-slave01

8001

redis-slave02

8002

redis-slave03

3 、修改各自的主机名为 redis-master 、redis-slave

【192.168.108.67】【redis-master】

【192.168.108.189】【redis-slave】

4 、配置yum仓库把原有的文件全摆到明面上

 

 

redis环境部署


redis编译部署及基础优化

首先将准备好的源码包拖进虚拟机可以使用rz命令也可直接拖进

 

随后执行以下命令

[root@redis-master ~]# yum -y install wget gcc gcc-c++ make tar openssl openssl-devel cmake

[root@redis-master ~]# tar xf redis-4.0.10.tar.gz -C /usr/src/

解压缩redis-4.0.10.tar.gz文件到/usr/src/目录下

[root@redis-master ~]# cd /usr/src/redis-4.0.10/

切换到redis-4.0.10目录

[root@redis-master redis-4.0.10]# make

编译Redis

[root@redis-master redis-4.0.10]#make MALLOC=jemalloc #避免碎片和可伸缩的并发支持

使用jemalloc作为Redis的内存分配器

[root@redis-master redis-4.0.10]# make PREFIX=/usr/local/redis install

将编译好的Redis安装到/usr/local/redis目录下

[root@redis-master redis-4.0.10]# mkdir -p /usr/local/redis/conf

在 `/usr/local/redis` 目录下创建一个名为 `conf` 的子目录,并且如果 `/usr/local/redis` 目录不存在,也会一并创建

 

 优化redis程序命令

[root@redis-master redis-4.0.10]# cp sentinel.conf /usr/local/redis/conf/     #redis哨兵配置文件

将`sentinel.conf`文件复制到`/usr/local/redis/conf/`目录下

[root@redis-master redis-4.0.10]# cp src/redis-trib.rb /usr/local/redis/bin/    #redis-cluster

将`redis-trib.rb`文件复制到`/usr/local/redis/bin/`目录下

 

将/usr/local/redis/bin/目录下的所有文件创建为/usr/local/bin/目录下的软链接。这样,在/usr/local/bin/目录下就可以直接使用redis相关的命令

[root@redis-master redis-4.0.10]# ln -s /usr/local/redis/bin/* /usr/local/bin/

 

【redis-slave也需要安装redis 步骤和上面一样】

redis配置文件精简

[root@redis-master redis-4.0.10]# cp redis.conf /usr/local/redis/conf/

将当前目录下的`redis.conf`文件复制到`/usr/local/redis/conf/`目录下

[root@redis-master redis-4.0.10]# cd /usr/local/redis/

进入`/usr/local/redis/`目录

[root@redis-master redis]# cp conf/redis.conf{,.bak}

将`conf/redis.conf`文件复制一份并重命名为`conf/redis.conf.bak`

[root@redis-master redis]# egrep -v "^$|^#" conf/redis.conf.bak > conf/redis.conf

使用`egrep`命令过滤`conf/redis.conf.bak`文件中的空行和以`#`开头的注释行,并将结果输出到`conf/redis.conf`文件中,相当于去除了空行和注释。

系统调优配置

echo never > /sys/kernel/mm/transparent_hugepage/enabled

将透明大页的启用状态设置为"never",即禁用透明大页

echo never > /sys/kernel/mm/transparent_hugepage/defrag

将透明大页的碎片整理状态设置为"never",也是为了禁用透明大页

echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local

echo 'echo never >  /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local

将上述两条命令添加到系统启动时执行的脚本文件 `/etc/rc.local` 中,以确保在系统重启后仍然禁用透明大页

 

echo "* - nofile 10240" >> /etc/security/limits.conf        --文件并发数

echo "net.core.somaxconn = 10240" >> /etc/sysctl.conf    --监听队列

echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf    -- 0内存不够,就会拒绝申请

1物理内存都允许分配给你,只要有内存就给你用,这样可以避免申请内存失败的问题

sysctl -p

 

redis多实例配置


在redis-master上操作

[root@redis-master ~]# mkdir -p /data/redis-cluster

创建一个名为`redis-cluster`的目录,路径为`/data/redis-cluster`。`-p`选项表示如果父级目录不存在,则会自动创建

[root@redis-master ~]# cd /data/redis-cluster

切换到`/data/redis-cluster`目录

[root@redis-master redis-cluster]# mkdir 7000 7001 7002

在当前目录下创建三个子目录,分别为`7000`、`7001`和`7002`

[root@redis-master redis-cluster]# cp /usr/local/redis/conf/redis.conf /data/redis-cluster/7000/

将`/usr/local/redis/conf/redis.conf`文件复制到`/data/redis-cluster/7000/`目录下

[root@redis-master redis-cluster]# cp /usr/local/redis/conf/redis.conf /data/redis-cluster/7001/

将`/usr/local/redis/conf/redis.conf`文件复制到`/data/redis-cluster/7001/`目录下

[root@redis-master redis-cluster]# cp /usr/local/redis/conf/redis.conf /data/redis-cluster/7002/

将`/usr/local/redis/conf/redis.conf`文件复制到`/data/redis-cluster/7002/`目录下

[root@redis-master redis-cluster]# tree /data/

以树状结构显示`/data/`目录下的文件和子目录

 

在redis-slave上操作

[root@redis-slave ~]# mkdir -p /data/redis-cluster

创建一个名为redis-cluster的文件夹,路径为/data/redis-cluster。如果该路径上的文件夹不存在,会自动创建

[root@redis-slave ~]# cd /data/redis-cluster

进入到redis-cluster文件夹

[root@redis-slave ~]# mkdir 8000 8001 8002

在redis-cluster文件夹下创建三个文件夹,分别命名为8000、8001和8002

 

将redis-master的配置文件复制到redis-slave主机上

在[root@redis-master ~]#上操作

[root@redis-master ~]#

scp /data/redis-cluster/7000/redis.conf 192.168.108.189:/data/redis-cluster/8000/

将本地的`/data/redis-cluster/7000/redis.conf`文件复制到远程主机`192.168.108.189`的`/data/redis-cluster/8000/`目录下

[root@redis-master ~]#

scp /data/redis-cluster/7000/redis.conf 192.168.108.189:/data/redis-cluster/8001/

将本地的`/data/redis-cluster/7000/redis.conf`文件复制到远程主机`192.168.108.189`的`/data/redis-cluster/8001/`目录下

[root@redis-master ~]#

scp /data/redis-cluster/7000/redis.conf 192.168.108.189:/data/redis-cluster/8002/

将本地的`/data/redis-cluster/7000/redis.conf`文件复制到远程主机`192.168.108.189`的`/data/redis-cluster/8002/`目录下

在redis-slave上查看【如果没有tree这个命令 yum -yinstall tree 安装即可】

[root@redis-slave ~]# tree /data         显示`/data`目录下的目录结构

修改redis-master和redis-slave的redis.conf配置文件

配置参考模板,修改配置文件的对应端口

【红色部分是修改的内容】

[root@redis-master redis-cluster]# vim 7000/redis.conf 打开【7001 、7002都要配置只需要在以下配置中修改正确的端口即可】

cluster-enabled yes

bind 0.0.0.0

port 7000

pidfile /data/redis-cluster/7000/redis.pid

logfile "/data/redis-cluster/7000/redis.log"

dir /data/redis-cluster/7000/

tcp-backlog 1024

timeout 0

tcp-keepalive 0

daemonize yes

loglevel notice

databases 16

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename "dump.rdb"

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

lazyfree-lazy-eviction no

lazyfree-lazy-expire no

lazyfree-lazy-server-del no

slave-lazy-flush no

appendonly no

appendfilename "appendonly.aof"

appendfsync everysec

no-appendfsync-on-rewrite yes

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

lua-time-limit 5000

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-entries 512

list-max-ziplist-value 64

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

启动redis-master多实例

[root@redis-master ~]#  redis-server /data/redis-cluster/7001/redis.conf

[root@redis-master ~]#  redis-server /data/redis-cluster/7002/redis.conf

[root@redis-master ~]#  redis-server /data/redis-cluster/7000/redis.conf

这是启动Redis集群的命令,分别启动了三个Redis节点,分别对应端口号为7000、7001和7002。每个节点都使用了不同的配置文件(redis.conf)来配置Redis的相关参数。这样可以通过搭建Redis集群来实现数据的分布式存储和高可用性

如果配置文件没有配置启动就会是以下效果 需要 ctrl+c 打断

 

如果配置成功配置文件启动顺利

 

查找所有与 Redis 相关的网络连接和进程信息

[root@redis-master ~]#  netstat -antup | grep redis

 

构建redis cluster集群


首先将准备好的Ruby源码包拖进虚拟机 

[root@redis-master ~]#  tar xf ruby-2.5.1.tar.gz -C /usr/src/

解压缩ruby-2.5.1.tar.gz文件,并将文件内容提取到/usr/src/目录下

[root@redis-master ~]#  cd /usr/src/ruby-2.5.1/

进入/usr/src/ruby-2.5.1/目录

 [root@redis-master ruby-2.5.1]#  ./configure && make && make install

运行configure命令 用于配置编译环境    运行make命令,用于编译Ruby源代码   运行make install命令,将编译好的Ruby安装到系统中

[root@redis-master ruby-2.5.1]#  ruby --version

运行ruby --version命令,用于查看安装的Ruby版本

 

在线安装ruby的redis扩展

[root@redis-master ruby-2.5.1]#  /usr/local/bin/gem install redis

这是一个命令行指令,用于安装 Redis 数据库的 Ruby 客户端库。它会将 Redis 客户端库安装到你的计算机上,以便你可以在 Ruby 项目中使用 Redis 数据库

 

在redis-master上操作

[root@redis-master~]#redis-trib.rb create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002

用来创建一个Redis集群,其中包含了三个节点,分别是127.0.0.1:7000、127.0.0.1:7001和127.0.0.1:7002。这三个节点将组成一个Redis集群,用于实现数据的分布式存储和高可用性

 

查看cluster集群的构建节点信息

[root@redis-master ~]# redis-cli -p 7000 cluster nodes

执行该命令后,Redis 服务器会返回一个包含所有节点信息的列表,包括节点的 ID、IP 地址、端口号、角色(主节点或从节点)、状态等。这些信息可以帮助管理员了解 Redis 集群的拓扑结构和节点状态,进行集群管理和故障排查

 

ls /data/redis-cluster/7000/

指令将列出该路径下的文件和文件夹

 

cat /data/redis-cluster/7000/nodes.conf

通过查看nodes.conf文件,可以了解Redis集群中各个节点的配置和状态信息,以便进行集群管理和故障排查

 

使用redis-cli去操作集群,需要加入-c参数

redis-cli -c: Enable cluster mode (follow -ASK and -MOVED redirections).

这是Redis命令行工具redis-cli的一个选项。-c选项用于启用Redis集群模式,它会自动处理集群中的节点重定向(-ASK和-MOVED)操作。在集群模式下,Redis将数据分布在多个节点上,通过自动重定向来处理数据的读写操作。使用-c选项可以确保redis-cli在集群模式下正常工作

在redis-master上操作

[root@redis-master ~]# redis-cli -c -p 7000

127.0.0.1:7000> set name crushlinux

将键名为"name"的值设置为"crushlinux"

127.0.0.1:7001> set age 18

将键名为"age"的值设置为"18"。这些命令用于在Redis数据库中设置键值对

去中心化(去中心化是指中心点的权力),随意一个入口

 

[root@redis-master ~]# redis-cli -c -p 7000 get name

[root@redis-master ~]# redis-cli -c -p 7001 get name

[root@redis-master ~]# redis-cli -c -p 7002 get name

这是使用Redis命令行工具redis-cli的命令,其中-c表示使用集群模式连接,-p 7000表示连接到端口号为7000的Redis实例。get name表示获取名为name的键对应的值

在redis-slave上操作

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -c -p 7000 get name

这是一个使用Redis命令行工具(redis-cli)的命令,用于连接到IP地址为192.168.108.67,端口号为7000的Redis服务器,并获取名为"name"的键对应的值

Could not connect to Redis at 127.0.0.1:7001: Connection refused  #被拒绝了

Could not connect to Redis at 127.0.0.1:7001: Connection refused

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -c -p 7001 get name

"crushlinux" #只有7001成功了

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -c -p 7002 get name

Could not connect to Redis at 127.0.0.1:7001: Connection refused  #被拒绝了

Could not connect to Redis at 127.0.0.1:7001: Connection refused

以远程的方式访问redis-cluster时,被拒绝是因为我们创建集群的时候,是以127.0.0.1的本地IP方式创建的,因此只有本地访问时cluster集群才能发挥作用。

远程访问7001端口时,之所以能成功,是因为数据本来就是存在了监听7001端口的redis上,所以我们不加-c也能访问成功

 

cluster生产集群部署


在redis-master上操作

[root@redis-master ~]# ls /data/redis-cluster/7000

用于列出指定目录下的文件和文件夹。在这个例子中,`ls /data/redis-cluster/7000`表示列出`/data/redis-cluster/7000`目录下的文件和文件夹

[root@redis-master ~]# ls /data/redis-cluster/7001

[root@redis-master ~]# ls /data/redis-cluster/7002

 

删除cluster集群配置文件

[root@redis-master ~]# rm -rf /data/redis-cluster/7000/nodes.conf

[root@redis-master ~]# rm -rf /data/redis-cluster/7001/nodes.conf

[root@redis-master ~]# rm -rf /data/redis-cluster/7002/nodes.conf

用于删除指定路径下的文件或目录。具体来说,该命令会删除路径为"/data/redis-cluster/7000/nodes.conf"的文件

[root@redis-master ~]# redis-cli -p 7000 shutdown

[root@redis-master ~]# redis-cli -p 7001 shutdown

[root@redis-master ~]# redis-cli -p 7002 shutdown

用于关闭 Redis 服务器上指定端口号的实例

 

启动redis-server

[root@redis-master ~]# redis-server /data/redis-cluster/7000/redis.conf

[root@redis-master ~]# redis-server /data/redis-cluster/7001/redis.conf

[root@redis-master ~]# redis-server /data/redis-cluster/7002/redis.conf

 

重新创建redis-cluster集群

[root@redis-master ~]# redis-trib.rb create 192.168.108.67:7000 192.168.108.67:7001 192.168.108.67:7002

 

[root@redis-master ~]# ps -ef | grep cluster | grep -v grep

查找并显示所有包含"cluster"关键字的正在运行的进程,同时排除掉grep命令本身

 

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -c -p 7000 set name crushlinux

使用Redis命令行工具(redis-cli)连接到IP地址为192.168.200.111,端口号为7000的Redis服务器,并执行了一个set命令。set命令用于将键值对存储到Redis数据库中,这里将名为"name"的键的值设置为"crushlinux"

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -c -p 7001 get name

使用Redis命令行工具(redis-cli)的命令,用于连接到IP地址为192.168.200.111,端口号为7001的Redis服务器,并获取名为"name"的键对应的值

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -c -p 7002 get name

使用Redis命令行工具(redis-cli)连接到IP地址为192.168.200.111,端口号为7002的Redis服务器,并执行get命令获取键为"name"的值的操作

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -c -p 7001

192.168.200.111:7001> get name

表示获取名为"name"的键对应的值

192.168.200.111:7001> set age 18

表示设置名为"age"的键的值为18

192.168.200.111:7000> get age

表示获取名为"age"的键对应的值

192.168.200.111:7000> exit

 

批量导入数据观察key的集群分布情况

[root@redis-slave ~]# for line in `seq -w 10000`;do redis-cli -h 192.168.108.67 -p 7000 -c set key3_${line} value_${line};done

这段代码是一个循环,用于向 Redis 数据库中设置一系列的键值对。其中 `192.168.108.67` 是 Redis 服务器的 IP 地址,`7000` 是 Redis 服务器的端口号。循环从 1 到 10000,每次设置一个键值对,键的格式为 `key3_数字`,值的格式为 `value_数字`。这段代码的作用是将一系列的键值对存储到 Redis 数据库中

 

分析cluster集群key的节点分布情况

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -p 7000 info keyspace

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -p 7001 info keyspace

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -p 7002 info keyspace

使用Redis命令行工具(redis-cli)查询指定Redis服务器(192.168.108.67)和端口号(7000)的keyspace信息的命令

 

Cluster集群故障切换


启动redis-slave上所有的从库

[root@redis-slave ~]# redis-server /data/redis-cluster/8000/redis.conf

[root@redis-slave ~]# redis-server /data/redis-cluster/8001/redis.conf

[root@redis-slave ~]# redis-server /data/redis-cluster/8002/redis.conf

[root@redis-slave ~]# netstat -lnpt | grep redis

 

redis-cluster集群从库的添加,在redis-master上操作

添加第一组从服务器

[root@redis-master ~]#  redis-trib.rb add-node --slave 192.168.108.189:8000 192.168.108.67:7000

将 192.168.108.189:8000 添加到 Redis 集群中,作为 192.168.108.67:7000 的从节点,从节点将复制主节点的数据

 

添加第二组从服务器

[root@redis-master ~]# redis-trib.rb add-node --slave 192.168.108.189:8001 192.168.108.67:7001

 

添加第三组从服务器

[root@redis-master ~]# redis-trib.rb add-node --slave 192.168.108.189:8002 192.168.108.67:7002

 

查看集群所有节点的信息

[root@redis-master ~]# redis-cli -p 7000 cluster nodes

 

slave从库的读写测试

[root@redis-slave ~]# redis-cli -h 192.168.108.189 -c -p 8000

192.168.200.112:8000> set address beijing

意思是将地址设置为北京。这句话可能是在讨论或设置某个地点的地址信息,将其设定为北京

 

[root@redis-slave ~]# redis-cli -h 192.168.108.189 -c -p 8000 get address

[root@redis-slave ~]# redis-cli -h 192.168.108.189 -c -p 8001 get address

[root@redis-slave ~]# redis-cli -h 192.168.108.189 -c -p 8002 get address

使用Redis命令行工具(redis-cli)的命令,用于连接到IP地址为192.168.108.189,端口号为8000的Redis服务器,并获取名为"address"的键对应的值

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -c -p 7000 get address

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -c -p 7001 get address

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -c -p 7002 get address

用Redis命令行工具(redis-cli)连接到IP地址为192.168.108.67,端口号为7000的Redis集群,并执行get命令获取键为"address"的值的操作

 通过测试,我们发现redis的cluster集群不论是主库还是从库都可以进行set和get。因此,在使用中我们就没必要都去主库了

查看主从cluster集群key的分布情况

[root@redis-slave ~]# redis-cli -h 192.168.108.189 -c -p 8000 info Keyspace

[root@redis-slave ~]# redis-cli -h 192.168.108.189 -c -p 8001 info Keyspace

[root@redis-slave ~]# redis-cli -h 192.168.108.189 -c -p 8002 info Keyspace

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -c -p 7000 info Keyspace

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -c -p 7001 info Keyspace

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -c -p 7002 info Keyspace

使用命令"info Keyspace"可以获取Redis实例中所有keyspace的相关信息,包括每个keyspace中的键值对数量、过期键值对数量等

 

redis集群的主从自动切换,主库挂掉后,从自动变为主

手动切换主从命令cluster failover

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -p 7000 shutdown

用于关闭指定主机和端口上的Redis服务器。在这个命令中,`-h`参数指定要连接的主机地址,`-p`参数指定要连接的端口号,`shutdown`表示关闭Redis服务器。所以,`redis-cli -h 192.168.108.67 -p 7000 shutdown`的意思是关闭位于192.168.108.67主机的7000端口上的Redis服务器

[root@redis-slave ~]# redis-cli -h 192.168.108.189 -p 8000 cluster nodes

查看Redis集群中各个节点的状态和信息

 

手动down掉了7000端口的redis-server。从信息得知,7000挂了,8000被切换成了master

重新启动7000端口的server,再次查看

[root@redis-master ~]# redis-server /data/redis-cluster/7000/redis.conf

启动 Redis 服务器,并指定配置文件的路径为 `/data/redis-cluster/7000/redis.conf`。Redis 是一个开源的内存数据库,用于存储和检索数据。通过指定配置文件路径,可以加载特定的配置选项,以满足不同的需求和配置要求。在这个例子中,该命令将启动 Redis 服务器,并使用指定路径下的配置文件进行配置

[root@redis-slave ~]# redis-cli -h 192.168.108.189 -p 8000 cluster node

查看Redis集群中各个节点的状态和信息

 从信息得知:7000的redis启动以后,变成了slave。

手动将redis-server 7000端口重新切换成主库

[root@redis-slave ~]# redis-cli -h 192.168.108.67 -c -p 7000 cluster failover

故障转移是在Redis集群中发生主节点故障时,将从节点提升为新的主节点的过程。这个命令的作用是手动触发故障转移操作,将指定节点的主节点切换为从节点

[root@redis-slave ~]# redis-cli -h 192.168.108.189 -p 8000 cluster nodes

 

删除节点

[root@redis-master ~]# redis-cli -h 192.168.108.189 -p 8000 cluster nodes

[root@redis-master ~]# redis-trib.rb del-node 192.168.108.189:8001 d6af56ec537be64e646212e1739705653e979643

Redis 集群管理工具 redis-trib.rb 的命令,用于从 Redis 集群中删除指定的节点。命令的具体含义如下:

- `redis-trib.rb`:Redis 集群管理工具的名称。

- `del-node`:命令的操作,表示删除节点。

- `192.168.108.189:8001`:要删除的节点的 IP 地址和端口号。

- `d6af56ec537be64e646212e1739705653e979643`:要删除的节点的 ID

最后跟着的是这个节点的ID,可在redis-cli终端中使用cluster nodes查看

 

修复节点

[root@redis-master ~]# redis-trib.rb add-node --slave 192.168.108.189:8001 192.168.108.67:7001

这条命令的作用是将 `192.168.108.189:8001` 添加到 `192.168.108.67:7001` 这个主节点的从节点列表中。从节点会复制主节点的数据,并在主节点不可用时提供读取服务

发现报错(先进行下面操作)

 

清空8001节点现有数据

[root@redis-slave ~]#kill -9 67708

用于终止进程

[root@redis-slave ~]# rm -rf /data/redis-cluster/8001/dump.rdb

这是一个Linux命令,用于删除指定路径下的文件或目录。具体来说,该命令会删除路径为"/data/redis-cluster/8001/dump.rdb"的文件

[root@redis-slave ~]# rm -rf /data/redis-cluster/8001/nodes.conf

用于删除指定路径下的文件或目录。具体来说,该命令会删除路径为"/data/redis-cluster/8001/nodes.conf"的文件

[root@redis-slave ~]# rm -rf /data/redis-cluster/8001/redis.pid

用于删除指定路径下的文件或目录。具体来说,`rm`是删除命令,`-rf`是选项,表示递归删除目录及其内容,并且不提示确认

[root@redis-slave ~]# redis-server /data/redis-cluster/8001/redis.conf

将启动一个名为redis-server的进程,并使用指定的配置文件(/data/redis-cluster/8001/redis.conf)来配置服务器的行为。通过这个命令,你可以启动一个Redis服务器实例,并根据需要进行配置

[root@redis-master ~]# redis-trib.rb add-node --slave 192.168.200.112:8001 192.168.200.111:7001

查看进程 netstat -anputl | grep redis

 

 

完成以上步骤之后再次验证成功

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/726350.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue2.0-3.0 入门到实战 - 初始及插件安装

1 创建view实例,初始化渲染 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><div id"app">{{ msg }} </div><script type&…

第123天:内网安全-域防火墙入站出站规则不出网隧道上线组策略对象同步

#知识点&#xff1a; 0、防火墙组策略对象 1、OSI七层协议模型 2、正反向监听器说明 3、隧道技术分层协议 4、CS&MSF&控制上线-隧道技术&#xff1a;解决不出网协议上线的问题&#xff08;利用出网协议进行封装出网&#xff09; -代理技术&#xff1a;解决网络通讯不通…

arduino平台控制直流电机PID速度闭环控制编程实现

PID&#xff08;Proportional-Integral-Derivative&#xff0c;比例-积分-微分&#xff09;控制是一种常用的控制算法&#xff0c;可以用于实现直流有刷电机的速度闭环控制。PID控制器根据当前的误差&#xff08;期望速度与实际速度之差&#xff09;来计算输出&#xff0c;以调…

RabbitMQ系列(15)--死信队列的简介与死信队列和死信消费者的实现

1、死信的概念 死信&#xff0c;顾名思义就是无法被消费的消息&#xff0c;一般来说producer&#xff08;生产者&#xff09;将消息投递到broker或直接放到queue&#xff08;队列&#xff09;中&#xff0c;consumer&#xff08;消费者&#xff09;从queue&#xff08;队列&am…

Css基础:盒子模型

1.盒子模型的构成&#xff1a; 边框 外边距 内边距 实际内容 2.table表格的单元格之间的线太粗需要border-collapse:collapse;合并一下边框宽度 3.内边距 padding 4.外边距 margin 块元素水平居中的做法&#xff0c;margin:0 auto; 行内元素和行内块元素 水平居中做…

FreeRTOS ~(五)队列的常规使用 ~ (2/5)队列解决互斥缺陷

前情提要 FreeRTOS ~&#xff08;四&#xff09;同步互斥与通信 ~ &#xff08;2/3&#xff09;互斥的缺陷 举例子说明&#xff1a;利用队列解决前述的"互斥的缺陷"问题 static QueueHandle_t xQueueUARTHandle;/* 利用队列的写数据和读数据来做类似标志位的工作,类…

C++笔记之数组拷贝和vector拷贝

C笔记之数组拷贝和vector拷贝 code review! 文章目录 C笔记之数组拷贝和vector拷贝一.C数组拷贝1.使用循环2.使用std::copy算法3.使用std::array 二.C语言数组拷贝1.使用循环2.使用memcpy函数3.使用for循环和指针 三.CVector拷贝四.公众号&#xff1a;三戒纪元 博文摘抄——C…

Dynamsoft 条形码阅读器 10.0.0 Crack

Dynamsoft 条形码阅读器 10.0.0 将来自不同来源的图像数据转换为标准输入图像数据。 7月 06&#xff0c; 2023 - 10&#xff1a;32新版本 特征 SDK经过重构&#xff0c;与DynamsoftCaptureVision&#xff08;DCV&#xff09;架构集成&#xff0c;该架构包括&#xff1a; ImageS…

提升车道运行效率——远眺智慧可变车道控制系统

精细科学的交通组织是提升道路通行效率的有效途径。可变导向车道&#xff08;后文简称可变车道&#xff09;作为精细化交通组织的重要手段&#xff0c;能够有效地利用现有道路空间资源、提高道路通行效率。在交通拥堵日趋严重的情况下&#xff0c;其在保障交通畅通方面起着重要…

Cisco AnyConnect Secure Mobility Client 4.10.07062 (macOS, Linux, Windows)

Cisco AnyConnect Secure Mobility Client 4.10.07062 (macOS, Linux, Windows) Cisco Secure Client&#xff08;包括 AnyConnect&#xff09; 请访问原文链接&#xff1a;https://sysin.org/blog/cisco-anyconnect-4/&#xff0c;查看最新版。原创作品&#xff0c;转载请保…

warning LNK4098: 默认库“msvcrtd.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

1>LINK : warning LNK4098: 默认库“msvcrtd.lib”与其他库的使用冲突&#xff1b;请使用 /NODEFAULTLIB:library 1>LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突&#xff1b;请使用 /NODEFAULTLIB:library 知识背景&#xff1a; VC中有4个CRT链接库版…

java项目之九宫格日志网站(ssm+jsp+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的九宫格日志网站。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&#xff1a;风歌&#x…

读发布!设计与部署稳定的分布式系统(第2版)笔记21_实例层之配置

1. 导致运维失误的两大因素 1.1. 隐秘的连锁反应 1.2. 暗藏的高复杂度 1.3. 影响着配置属性 2. 配置 2.1. 配置属性是系统用户接口的一部分&#xff0c;供支持其开发和运维的人员使用 2.1.1. 最易被忽视 2.2. 生产级别的软件都有大量可配置的属性 2.2.1. 主机名 2.2.2…

el-breadcrumb面包屑详解

el-breadcrumb面包屑详解 封装面包屑组件 <template><div class"crumb"><el-breadcrumb separator"/"><template v-for"(item,index) in levelList"><el-breadcrumb-item :key"item_ index">{{item.na…

SQL Server 2012数据库允许远程连接设置

1、打开 SQL Server Management Studio 2、打开 Security 按照如下设置&#xff0c;然后点确定 3、打开SQL Server Configuration ManagerMent 4、如下图都设置为Enabled 6、sql server重启

寻找最佳同步云盘:如何选择适合您的高效、可靠的云端存储方案?

同步云盘是集备份、同步、共享于一体的软件&#xff0c;备受用户青睐。在这个信息化的时代&#xff0c;我们经常需要在不同的设备之间共享文件&#xff0c;而同步云盘正可以帮助我们在多台设备之间同步文件。不过目前市面上同步云盘众多&#xff0c;我们该如何选择同步云盘呢&a…

JMeter常用业务知识和组件(5)

这里写目录标题 一、信息头管理器1案例、测试开发平台登录接口2案例、测试平台获取测试用例接口 二、HTTP请求默认值案例1&#xff1a;实现登录接口测试 三、Cookie管理器&#xff08;有问题&#xff09;案例1&#xff1a;开源项目TPshop商城登录案例案例2&#xff1a;(有问题)…

双向复制粘贴半监督医学图像分割

文章目录 Bidirectional Copy-Paste for Semi-Supervised Medical Image Segmentation摘要本文方法实验结果 Bidirectional Copy-Paste for Semi-Supervised Medical Image Segmentation 摘要 在半监督医学图像分割中&#xff0c;存在标记数据与未标记数据分布不匹配的问题。…

Python基础 —— 变量

〇、概述 变量&#xff0c;正如其字面意思所言&#xff0c;即 *“变化的量*”&#xff0c;通过变量&#xff0c;可以将数据临时存储。 这就好像图书馆的书架&#xff0c;存放着一本本包含着很多知识的书。为了方便查找&#xff0c;图书馆里的每本书都有编号&#xff0c;书架也…

#VCS# 关于VCS 编译选项:+vcs+initreg+random的理解(3)回头是岸

前段时间,有时间整理了一下关于+vcs+initreg+random 编译和仿真选项的心得,草草写了两篇笔记。自觉得对该选项已经掌握了,后来实际应用中再次触及到了该知识点,不想又卡壳了。今天,继续追加一篇,希望对大家能有所帮助!不正之处,请指正。 对于上述规则rule#2和 rule#3,…