Rumah >pangkalan data >Redis >Penjelasan terperinci tentang contoh operasi kelompok Redis

Penjelasan terperinci tentang contoh operasi kelompok Redis

WBOY
WBOYke hadapan
2022-06-23 12:24:122283semak imbas

Artikel ini membawa anda pengetahuan yang berkaitan tentang Redis Ia terutamanya mengatur isu yang berkaitan dengan operasi kelompok, termasuk menambah kejadian redis, mengkonfigurasi 8007 sebagai nod induk dan mengkonfigurasi 8008 sebagai 8007. Mari kita lihat. nod dan sebagainya saya harap ia akan membantu semua orang.

Penjelasan terperinci tentang contoh operasi kelompok Redis

Pembelajaran yang disyorkan: Tutorial video Redis

Berdasarkan asas sedia ada, berikut ialah versi asas tiga utama tiga Daripada berikut, seni bina adalah seperti berikut

Lihat status kluster: nod kluster

Seperti yang dapat dilihat daripada rajah di atas, keseluruhan kluster adalah berjalan seperti biasa, dengan tiga nod induk dan tiga nod hamba,

Nod contoh port 8001 menyimpan slot cincang 0-5460, dan nod contoh port 8002 menyimpan cincang 5461 -10922 Slot,

/usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8001/redis.conf 
/usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8002/redis.conf 
/usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8003/redis.conf 
/usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8004/redis.conf 
/usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8005/redis.conf 
/usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8006/redis.conf

Nod contoh port 8003 menyimpan slot cincang ini 10923-16383,

Kesemua tiga induk stor nod Slot cincang membentuk slot storan gugusan redis Titik hamba ialah nod hamba sandaran bagi setiap nod induk, dan slot storan tidak dipaparkan.

  • 2. Operasi Kluster
  • Kami menambah satu lagi tuan (8007) dan satu hamba (8008) berdasarkan kluster asal nod Lihat angka berikut untuk gugusan. Nod baharu diwakili oleh kotak bertitik

2.1 instance

Cipta folder 8007 dan 8008 di bawah /usr/local/redis-cluster dan salin fail redis.conf di bawah folder 8001 ke folder 8007 dan 8008 Seterusnya

2.2 Konfigurasikan 8007 sebagai nod induk

Gunakan arahan nod tambah untuk menambah induk. nod Node 8007 (master), ip:port sebelumnya ialah nod baharu, dan ip:port yang terakhir ialah nod sedia ada yang diketahui Apabila anda melihat gesaan "[OK] Nod baharu ditambah dengan betul" di penghujung log, ini bermakna nod baharu telah berjaya ditambahkan

Lihat status kelompok

mkdir 8007 8008 
cd 8001
cp redis.conf /usr/local/redis‐cluster/8007/ 
cp redis.conf /usr/local/redis‐cluster/8008/
 
# 修改8007文件夹下的redis.conf配置文件
vim /usr/local/redis‐cluster/8007/redis.conf 
# 修改如下内容:
port:8007 
dir /usr/local/redis‐cluster/8007/
cluster‐config‐file nodes‐8007.conf 

# 修改8008文件夹下的redis.conf配置文件
vim /usr/local/redis‐cluster/8008/redis.conf
# 修改内容如下:
port:8008
dir /usr/local/redis‐cluster/8008/
cluster‐config‐file nodes‐8008.conf

# 启动8007和8008俩个服务并查看服务状态
/usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8007/redis.conf
/usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/8008/redis.conf

ps ‐el | grep redis
seperti ditunjukkan di bawah:

/usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐‐cluster add‐node 192.168.0.61:8007 192.168.0.61:8001
Nota: Apabila nod berjaya ditambahkan, nod yang baru ditambah tidak akan mempunyai sebarang data kerana ia belum diperuntukkan sebarang slot (slot cincang), kami perlu Peruntukkan slot cincang secara manual untuk nod baharu

/usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐c ‐h 192.168.0.61 ‐p 8001

192.168.0.61:8001> cluster nodes

Gunakan arahan redis-cli untuk memperuntukkan slot cincang untuk 8007, cari mana-mana nod induk dalam gugusan, dan edarkan semula kerja Tablet

2.3 Konfigurasikan 8008 sebagai nod hamba 8007

<.>

Tambahkan nod hamba 8008 pada gugusan Pergi ke dan lihat status gugusan

seperti berikut:

/usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐‐cluster reshard 192.168.0.61:8001

Seperti yang ditunjukkan dalam rajah, ia masih merupakan nod induk dan belum diberikan sebarang slot cincang.

Sebab: Kita perlu melaksanakan perintah replika untuk menentukan ID nod induk nod semasa (nod hamba Pertama, kita perlu menyambungkan klien yang baru). menambah nod 8008, dan kemudian Gunakan arahan kluster untuk mengendalikan dan menetapkan nod 8008 (hamba) semasa kepada nod induk (nod induk 8007 yang dibuat sebelum ini digunakan di sini)

/usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐‐cluster add‐node 192.168.0.61:8008 192.168.0.61:8001

Laksanakan arahan

Semak status kluster, nod 8008 telah berjaya ditambah sebagai nod hamba nod 8007

 2.4、删除8080从节点[不删除四主四从]

用del-node删除从节点8008,指定删除节点ip和端口,以及节点id(红色为8008节点id)

/usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐‐cluster del‐node 192.168.0.61:8008 a1cfe35722d151cf70585cee212755653 93c0956

再次查看集群状态,如下图所示,8008这个slave节点已经移除,并且该节点的redis服务也已被停止

 2.5、删除8007主节点[不删除四主四从]

因为主节点的里面是有分配了hash槽的,所以我们这里必须先把8007里的hash槽放入到其他的可用主节点中去,然后再进行移除节点操作,不然会出现数据丢失问题(目前只能把master的数据迁移到一个节点上,暂时做不了平均分配功能),执行命令如下:

/usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐‐cluster reshard 192.168.0.61:8007

迁移验证:会发现8007下面已经没有任何hash槽了,证明迁移成功!

 用del-node命令删除8007主节点即可

/usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐‐cluster del‐node 192.168.0.61:8007 2728a594a0498e98e4b83a537e19f9a0a 3790f38

查看最终集群状态,发现一切恢复如初,至此水平扩展结束

推荐学习:Redis视频教程

Atas ialah kandungan terperinci Penjelasan terperinci tentang contoh operasi kelompok Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:csdn.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam