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.
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 klusterSeperti yang dapat dilihat daripada rajah di atas, keseluruhan kluster adalah berjalan seperti biasa, dengan tiga nod induk dan tiga nod hamba,
/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.1 instance
2.2 Konfigurasikan 8007 sebagai nod induk
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
/usr/local/redis‐5.0.3/src/redis‐cli ‐a user ‐‐cluster add‐node 192.168.0.61:8007 192.168.0.61:8001
/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
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
用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服务也已被停止
因为主节点的里面是有分配了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!