Construção de ambiente de cluster Redis (1)

Prefácio

Um: Meio Ambiente

1.1: Meio Ambiente

Insira a descrição da imagem aqui

O
site oficial do software VMware Redis recomenda o uso de 6 servidores para construir um cluster, 3 mestres e 3 escravos.
Usamos 6 servidores.
Servidor
mestre mestre1: Endereço IP: 192.168100.20 Servidor mestre mestre2: Endereço IP: 192.168.100.4
Servidor mestre mestre3: endereço IP : 192.168.100.3
Servidor escravo escravo1: Endereço IP: 192.168.100.5
Servidor escravo escravo2: Endereço IP: 192.168.100.6
Servidor escravo escravo3: Endereço IP: 192.168.100.12
Um dos mestres Redis precisa instalar o software rvm e do cluster de controle Ruby

1.2: Finalidade experimental

Alcance os seguintes objetivos por meio de experimentos
Implantar serviços
Redis Construir clusters
Redis Verificar funções de cluster Redis

Dois: Processo Experimental

2.1: Implante o software Redis no servidor mestre-escravo

/关闭防火墙
systemctl stop firewalld
setenforce 0

//安装
yum install -y gcc gcc-c++ make

//解压安装包,make编译
tar zxvf redis-5.0.7.tar.gz -C /opt/
cd /opt/redis-5.0.7/
make
make PREFIX=/usr/local/redis/ install

[root@promote redis-5.0.7]# cd utils/     #一直回车到最后只修改路径
[root@localhost utils]# ./install_server.sh 

..............................................................省略...................................................
Please select the redis executable path [] /usr/local/redis/bin/redis-server //可执行文件路径,需要自行定义
...............................................................省略.....................................................................
//查看服务状态,服务已经开启
[root@promote utils]# netstat -natp | grep 6379
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      22999/redis-server  

//创建软链接,优化服务
ln -s /usr/local/redis/bin/* /usr/local/bin/

2.2 Cluster Redis, configuração de todos os parâmetros de nós

vim /etc/redis/6379.conf
注释掉bind项    //redis中bind选项默认监听所有网卡
70 #bind 127.0.0.1         注释掉 监听网卡     !
89/ protected-mode no      //关闭保护模式  !
93/ port 6379
137/ daemonize yes     //以独立进程启动
833/ cluster-enabled yes    /开启群集功能  !
841/ cluster-config-file nodes-6379.conf    //群集名称文件设置 !
847/ cluster-node-timeout 15000      /群集超时时间设置  !
700/ appendonly yes    /开启aof持久化

2.3 Reinicie o serviço, haverá mais 3 arquivos na inicialização normal

/etc/init.d/redis_6379 restart

核对下面有3个文件生成
[root@pc-2 utils]# cd /var/lib/redis/6379/
[root@pc-2 6379]# ls
appendonly.aof  dump.rdb  nodes-6379.conf

2.4 Instale o software Ruby em um maser

2.4.1 Importar arquivo KEY

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

2.4.2 Visite a página da web para baixar o arquivo de script

curi -ssL https://get.rvm.io | bash -s stable    //访问,下载脚本

Salve o script e coloque-o no servidor rvm-installer.sh
2.4.3 Execute o script

./rvm-installer.sh

2.4.4 Variáveis ​​de ambiente de execução

source /etc/profile.d/rvm.sh

2.4.5 Liste as versões instaláveis ​​do Ruby

rvm list known

2.4.6 Instale a versão 2.4.1 do Ruby

rvm install 2.4.1

2.4.7 Use Ruby 2.4.1 versão

rvm use 2.4.1

2.4.7 Ver a versão atual do Ruby 2.4.1

ruby -v

2.4.8 Mostrar versões disponíveis

 [root@pc-2 profile.d]# rvm list known  

2.4.9 Instale a versão 2.4.1

[root@pc-2 profile.d]# rvm install 2.4.1  安装 版本2.4.1 

2.5 As operações específicas são as seguintes:

[root@pc-2 opt]# ls
mongodb-linux-x86_64-3.2.1      redis-5.0.7         rh
mongodb-linux-x86_64-3.2.1.tgz  redis-5.0.7.tar.gz  rvm-installer.sh
[root@pc-2 opt]# chmod +x rvm-installer.sh
[root@pc-2 opt]# ./rvm-installer.sh
Downloading https://github.com/rvm/rvm/archive/master.tar.gz
Creating group 'rvm'
Installing RVM to /usr/local/rvm/
Installation of RVM in /usr/local/rvm/ is almost complete:

  * First you need to add all users that will be using rvm to 'rvm' group,
    and logout - login again, anyone using rvm will be operating with `umask u=rwx,g=rwx,o=rx`.

  * To start using RVM you need to run `source /etc/profile.d/rvm.sh`
    in all your open shell windows, in rare cases you need to reopen all shell windows.
  * Please do NOT forget to add your users to the rvm group.
     The installer no longer auto-adds root or users to the rvm group. Admins must do this.
     Also, please note that group memberships are ONLY evaluated at login time.
     This means that users must log out then back in before group membership takes effect!
Thanks for installing RVM 
Please consider donating to our open collective to help us maintain RVM.

  Donate: https://opencollective.com/rvm/donate

[root@pc-2 opt]# cd /etc/profile.d/
[root@pc-2 profile.d]# ls
256term.csh                   colorgrep.sh  lang.csh       rvm.sh    which2.csh
256term.sh                    colorls.csh   lang.sh        sh.local  which2.sh
abrt-console-notification.sh  colorls.sh    less.csh       vim.csh
bash_completion.sh            csh.local     less.sh        vim.sh
colorgrep.csh                 flatpak.sh    PackageKit.sh  vte.sh
[root@pc-2 profile.d]# source /etc/profile.d/rvm.sh
[root@pc-2 profile.d]# rvm list known
[root@pc-2 profile.d]# rvm install 2.4.1
[root@pc-2 profile.d]# rvm use 2.4.1   使用版本
Using /usr/local/rvm/gems/ruby-2.4.1     
[root@pc-2 profile.d]# ruby -v  查看当前版本
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
[root@pc-2 profile.d]# gem install redis     再次安装redis
Successfully installed redis-4.2.2
Parsing documentation for redis-4.2.2
Installing ri documentation for redis-4.2.2
Done installing documentation for redis after 1 seconds
1 gem installed

2.6. Crie um cluster

创建群集
[root@pc-2 6379]# redis-cli --cluster create  192.168.100.20:6379  192.168.100.3:6379192.168.100.4:6379  192.168.100.5:6379  192.168.100.12:6379  192.168.100.6:6379   --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.100.12:6379 to 192.168.100.20:6379
Adding replica 192.168.100.6:6379 to 192.168.100.3:6379
Adding replica 192.168.100.5:6379 to 192.168.100.4:6379
M: dd9a45612ab4aa16aa7c0070e001f62b81a1f156 192.168.100.20:6379
   slots:[0-5460] (5461 slots) master
M: 729184b33cae9a1509ae8457d965081ed9fffdb1 192.168.100.3:6379
   slots:[5461-10922] (5462 slots) master
M: a50110d7be2ddfb2295c5a19051f5e0ee3efa714 192.168.100.4:6379
   slots:[10923-16383] (5461 slots) master
S: 513bcc390744e262aad96d99c618e37480fca384 192.168.100.5:6379
   replicates a50110d7be2ddfb2295c5a19051f5e0ee3efa714
S: 77faad547a60348b1dd25e99fb29c0754b054ddf 192.168.100.12:6379
   replicates dd9a45612ab4aa16aa7c0070e001f62b81a1f156
S: d4efac1c688844b9bf86f6b9e91c38ab5e8b2513 192.168.100.6:6379
   replicates 729184b33cae9a1509ae8457d965081ed9fffdb1
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.20:6379)
M: dd9a45612ab4aa16aa7c0070e001f62b81a1f156 192.168.100.20:6379
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
M: a50110d7be2ddfb2295c5a19051f5e0ee3efa714 192.168.100.4:6379
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
S: 513bcc390744e262aad96d99c618e37480fca384 192.168.100.5:6379
   slots: (0 slots) slave
   replicates a50110d7be2ddfb2295c5a19051f5e0ee3efa714
S: 77faad547a60348b1dd25e99fb29c0754b054ddf 192.168.100.12:6379
   slots: (0 slots) slave
   replicates dd9a45612ab4aa16aa7c0070e001f62b81a1f156
M: 729184b33cae9a1509ae8457d965081ed9fffdb1 192.168.100.3:6379
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
S: d4efac1c688844b9bf86f6b9e91c38ab5e8b2513 192.168.100.6:6379
   slots: (0 slots) slave
   replicates 729184b33cae9a1509ae8457d965081ed9fffdb1
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

2.7 Correspondência mestre-escravo, a frente é o escravo, a parte traseira é o mestre

Adding replica 192.168.100.12:6379 to 192.168.100.20:6379
Adding replica 192.168.100.6:6379 to 192.168.100.3:6379
Adding replica 192.168.100.5:6379 to 192.168.100.4:6379

2.8 Vamos começar a verificar a função do cluster

Faça login no banco de dados

[root@pc-2 6379]# redis-cli -c -h 192.168.100.20
192.168.100.20:6379> set name zhangsan
-> Redirected to slot [5798] located at 192.168.100.3:6379
OK
192.168.100.3:6379> keys *
1) "name"
192.168.100.3:6379> quit
[root@pc-2 6379]# redis-cli -c -h 192.168.100.20
192.168.100.20:6379> keys *
1) "age"

Crie um arquivo e descubra que o arquivo é automaticamente atribuído e criado em outro mestre

192.168.100.20:6379> set stu 77   // 
-> Redirected to slot [11255] located at 192.168.100.4:6379
OK
192.168.100.4:6379> keys *
1) "stu"
192.168.100.4:6379>

Verifique o servidor escravo 192.168.100.5 do mestre 192.168.100.4 e descubra se o valor da chave foi sincronizado automaticamente

[root@pc-5 utils]# redis-cli -c -h 192.168.100.5
192.168.100.5:6379> keys *
(empty list or set)
192.168.100.5:6379> redis-cli -c -h 192.168.100.5

192.168.100.5:6379> keys *
1) "stu"
192.168.100.5:6379>

Em seguida, desça o mestre 192.168.100.20, teste o resto da função do cluster
Insira a descrição da imagem aqui
, crie um nome de chave em outro mestre e descubra que foi atribuído e gravado no mestre 192.168.100.4 novamente

[root@pc-3 6379]# redis-cli -c -h 192.168.100.3
192.168.100.3:6379> set new naz
-> Redirected to slot [15045] located at 192.168.100.4:6379
OK
192.168.100.4:6379>

Visto no servidor escravo de 192.168.100,4, a sincronização é normal, parece que não há impacto

192.168.100.5:6379> keys *
1) "new"
2) "stu"
192.168.100.5:6379> get new
-> Redirected to slot [15045] located at 192.168.100.4:6379
"naz"
192.168.100.4:6379>

Defina 10S para desaparecer automaticamente

先在master 上进行设置 键名  new   10S自动消失
 [root@pc-4 ~]# redis-cli -c -h 192.168.100.4
192.168.100.4:6379> keys *
1) "new"
2) "stu"
192.168.100.4:6379> expire new 10
(integer) 1
10S之后查看,果然消失了

192.168.100.4:6379> keys *
1) "stu"
192.168.100.4:6379>

在master 副本上查看同步情况,果然也没有了
[root@pc-5 ~]# redis-cli -c -h 192.168.100.5
192.168.100.5:6379> keys *
1) "stu"
192.168.100.5:6379>

Criou um nome de chave em 192.168.100.12 a partir do anterior e descobriu que ela saltou automaticamente para outro mestre, indicando que foi automaticamente alternada para mestre

[root @ sever ~] # redis-cli -c -h 192.168.100.12
192.168.100.12:6379> set new4 888
-> Redirecionado para o slot [11274] localizado em 192.168.100.4:6379
OK
192.168.100.4:6379> keys *

  1. “Stu”
  2. “New4”

Crie um arquivo em outro mestre e descubra que ele salta automaticamente para 192.168.100.12 em
192.168.100.3:6379> definir novo6 666
-> Redirecionado para o slot [3144] localizado em 192.168.100.12:6379
OK
192.168.100.12:6379> sair
Ver
[root @ sever ~] # redis-cli -c -h 192.168.100.12
192.168.100.12:6379> chaves 8
(lista vazia ou conjunto)
192.168.100.12:6379> chaves *

  1. "New6"
  2. "era"
  3. “Novo2”
    192.168.100.12:6379> obter novo6
    “666”

Acho que você gosta

Origin blog.csdn.net/BIGmustang/article/details/108498531
Recomendado
Clasificación