Centos7 instala Redis autônomo, mestre-escravo, sentinela, prática de cluster

1. Registro das etapas de instalação de uma única máquina:

​
1、yum install wget

2、cd ~

3、mkdir /data/software(可创建其他目录)

4、cd /data/software

5、wget https://download.redis.io/releases/redis-6.2.6.tar.gz

6、tar xf redis-6.2.6.tar.gz

7、cd redis-6.2.6

8、vi README.md(查看README提供具体安装方法)

9、make

---yum install gcc

---make distclean

10、make

11、cd src

--- 可以看到生成了可执行程序

12、cd ..

13、指定安装路径(一般放在/usr/local/redis)

make install PREFIX=/usr/local/redis

启动测试:cd /usr/local/redis/bin

./redis-server(此时只是控制台启动,不是后台启动)

14、把源文件配置文件复制到/usr/local/redis/bin

cp /data/software/redis-6.2.6/redis.conf /usr/local/redis/bin

cd /usr/local/redis/bin

vi redis.conf修改配置文件属性daemonize

daemonize no -> daemonize yes

后台启动测试:./redis-server redis.conf

开启远程连接:找到bind 127.0.0.1 -::1,并注释掉

启用密码: 找到# requirepass foobared,把注释去掉foobared修改为自己的密码

requirepass 123456

15、vi /etc/profile(配置redis环境变量)

export REDIS_HOME=/usr/local/redis
export PATH=$PATH:$REDIS_HOME/bin

16、cd utils

17、./install_server.sh (可执行一次或多次)

  a)、一个物理机中可以有多个redis实例(进程),通过port区分

  b)、可执行程序就一份在目录,但是内存中未来的多个实例需要各自的配置文件,持久化目录等资源

  c)、service redis_6379 start/stop/status >   linux init.d(会出现实例启动文件)

  d)、脚本会帮助启动

18、查看redis进程

ps -fe|grep redis

​

2. Filtro Bloom integrado

1. Visite redis.io

2. integração do módulo

3. Visite o github do RedisBloom

https://github.com/RedisBloom/RedisBloom/archive/refs/heads/master.zip

4, wget master.zip no Linux

5、yum instalar descompactar

6, descompacte master.zip

7、fazer

8、cp bloom.so /usr/local/redis/

9、redis-server --loadmodule /usr/local/redis/redisbloom.so

10, redis-cli

11. bf.add ooxx abc (adicionar valor ao filtro Bloom)

        bf.exits abc (julgando se o valor existe)

        bf.exits cde

12. cf.add filtro #cuco

3. Construção de cluster de replicação mestre-escravo

1. Planejamento mestre-escravo, primeiro prepare três instâncias redis, como números de porta 6380, 6381, 6382, todas as operações são executadas em uma máquina virtual

1), entre na pasta utils da pasta redis source, execute ./install_server.sh para criar três instâncias redis

cd /data/software/redis-6.2.6/utils
# 创建其他redis实例(输入实例的端口号、配置文件放置地址、数据持久化地址)
./install_server.sh
# 配置文件放置在/data/software/test,分别为6380.conf,6381.conf,6382.conf

2) Após a criação da instância redis, modifique as configurações do arquivo de configuração, feche a execução em segundo plano e visualize os resultados da replicação mestre-escravo de forma conveniente

vim /data/software/test/6380.conf
# 找到 daemonize,设置成no
daemonize no

3) Depois de modificar a configuração, três nós redis precisam ser reiniciados. Aqui, 6382 é especificado como nó mestre, 6380 e 6381 são respectivamente nós escravos

# 主节点启动
redis-server /data/software/test/6382.conf
# 从节点启动,启动时配置跟随主节点
redis-server /data/software/test/6380.conf --replicof 127.0.0.1 6382
redis-server /data/software/test/6381.conf --replicof 127.0.0.1 6382

Dessa forma, os nós de replicação mestre e escravo são iniciados, o nó mestre pode escrever exclusivamente e o nó escravo só pode ler

4) Se o nodo master travar, você precisa trocar o nodo master novamente. Supondo que 6382 está inativo, nós definimos 6380 como o nodo master (quando o nodo slave se torna o nodo master, outros nodos slave não irão trocar automaticamente o nodo master node, e precisa ser totalmente manual)

# 从节点变成主节点命令 replicaof no one
#实际操作
[root@localhost test]# redis-cli -p 6380
127.0.0.1:6380> replicaof no one

# 把6381指向的主节点切换到6380上(原来指向6382)
redis-cli -p 6281 --replicaof 127.0.0.1 6380
#实际操作
[root@localhost ~]# redis-cli -p 6281 --replicaof 127.0.0.1 6380

# 若6382节点此时重新启动需要指向6380主节点
redis-server ./6382.conf --replicof 127.0.0.1 6380
#实际操作
[root@localhost test]# redis-server ./6382.conf --replicof 127.0.0.1 6380

2. O proxy pode ser usado para proteger os nós do cluster: tewemproxy, predixy (maior desempenho)

4. Criação de cluster do Sentinel (conveniente para alta disponibilidade mestre-escravo)

1. Ainda na pasta /data/software/test, crie novos arquivos de configuração do sentinela 26380.conf, 26381.conf, 26382.conf

Conteúdo do arquivo de configuração:

###########################26380.conf 配置如下 #############################
port 26380
# 监控6380 权重为2,主服务器判断为失效至少需要 2 个 Sentinel 同意
sentinel monitor mymaster 127.0.0.1 6380 2

###########################26381.conf 配置如下 #############################
port 26380
# 监控6380 权重为2,主服务器判断为失效至少需要 2 个 Sentinel 同意
sentinel monitor mymaster 127.0.0.1 6380 2

###########################26382.conf 配置如下 #############################
port 26380
# 监控6380 权重为2,主服务器判断为失效至少需要 2 个 Sentinel 同意
sentinel monitor mymaster 127.0.0.1 6380 2

2. Inicie três nós sentinela, respectivamente

redis-server /data/software/test/26380.conf --sentinel
redis-server /data/software/test/26381.conf --sentinel
redis-server /data/software/test/26382.conf --sentinel

A inicialização está concluída, você pode testá-la, parar manualmente o processo do nó mestre e ver se o sentinela mudará automaticamente o nó mestre, o nó mestre original será reiniciado, o sentinela o mudará automaticamente para um nó escravo e seguirá o novo nó mestre

Cinco, cluster (cluster)

1. A escala de cluster planejada é de três mestres e três escravos, e os números de porta são 7001, 7002, 7003, 7004, 7006 e 7006

Use o comando install_server.sh para instanciar o nó. Você pode consultar o método de instanciação "replicação mestre-escravo". O arquivo de configuração é colocado em

/data/software/cluster, modifique os arquivos de configuração de 6 nós

# cluster集群配置,打开集群模式(默认是单机)
cluster-enabled yes
# 设定节点配置文件名
cluster-config-file  nodes-7001.conf
# 设定节点失联时间,超过该时间(毫秒),集群自动进行主从切换。
cluster-node-timeout 15000

2. Crie um cluster

# 指定从节点数量: --cluster-replicas 1
redis-cli --cluster create 127.0.0.1:7001  127.0.0.1:7002  127.0.0.1:7003  127.0.0.1:7004  127.0.0.1:7005  127.0.0.1:7006  --cluster-replicas 1

Observação: o cluster requer pelo menos 3 mestres. Se cada nó escravo for configurado com um nó mestre, 6 nós devem ser necessários.

3. Adicionar nós mestre-escravo

1、添加主节点(127.0.0.1:7007为新增主节点,127.0.0.1:7000为集群中已存在的节点,可为集群中任一个已存在节点)
redis-cli --cluster add-node 127.0.0.1:7007 127.0.0.1:7001
2、重新分配hash槽位(127.0.0.1:7001为需要转移的master节点)
redis-cli --cluster reshard  127.0.0.1:7001
2.1、输入要转移的槽位(0~16384)
2.2、输入需要接收槽位的master节点Id
2.3、输入需要转移槽位的集群master节点id
2.4、选择分配hash槽的来源,输入all 代表集群槽位平均分配,输入done 代表在指定节点拿出指定数量的hash槽位
3、添加从节点
redis-cli --cluster add-node --cluster-slave --cluster-master-id 3b1bf4b44ec0c67645cc558bbdf1b65a4076b41b 127.0.0.1:7008 127.0.0.1:7007
# cluster-master-id 后边跟 主节点id
# 127.0.0.1:7008 是新加的从节点
# 127.0.0.1:7007 作为从节点的主节点

4. Exclua o nó mestre-escravo

1、移除从节点
# 从节点ip:端口号
# 从节点id
redis-cli --cluster del-node 127.0.0.1:7008 f95664b318ffd0a52792bff47dd329007bd2953a
2、移除主节点
注意:使用同样的方法移除主节点,不过在移除主节点前,需要确保这个主节点是空的. 如果不是空的,需要将这个节点的数据重新分片到其他主节点上.
替代移除主节点的方法是手动执行故障恢复,被移除的主节点会作为一个从节点存在,不过这种情况下不会减少集群节点的数量,也需要重新分片数据.
2.1 槽位转移
参考第三步槽位重新划分
2.2、删除主节点(同删除从节点命令)
redis-cli --cluster del-node 127.0.0.1:7007 3b1bf4b44ec0c67645cc558bbdf1b65a4076b41b

Acho que você gosta

Origin blog.csdn.net/qq_21875331/article/details/120687460
Recomendado
Clasificación