Xây dựng cụm Redis

  1. Môi trường: =====

CentOS 6.7, redis-6.2.6

  1. Mô hình cụm: =====

5 master + 20 slave + 5 backup (tức là: 1 master - 4 slave - 1 backup)

⭐3. Kiểm tra môi trường máy chủ và cài đặt

Kiểm tra xem máy chủ đã cài đặt gcc chưa

rpm -q gcc

Nếu chưa cài đặt, thực hiện cài đặt gcc

yum install -y gcc
  1. Tải xuống Redis =========

Truy cập trang web chính thức của Redis tại địa chỉ https://redis.io/download

redis-6.2.6.tar.gz

  1. Upload file redis-6.2.6.tar.gz lên thư mục /tool trên máy chủ (có thể chọn thư mục khác) =============================================

  2. Giải nén redis-6.2.6.tar.gz ========================

tar -zxvf redis-6.2.6.tar.gz
  1. Cài đặt ====
cd /tool/redis-6.2.6
make
make PREFIX=/usr/local/redis install
  1. Tạo thư mục cho cụm =========
mkdir -p /tool/redis/redis-cluster/8001 /tool/redis/redis-cluster/8002 /tool/redis/redis-cluster/8003  /tool/redis/redis-cluster/8004 /tool/redis/redis-cluster/8005
  1. Sao chép cấu hình mặc định sang 8001 ==============
cp /tool/redis-6.2.6/redis.conf /tool/redis/redis-cluster/8001
  1. Cấu hình tham số =========
port 8001
daemonize yes
pidfile "/var/run/redis_8001.pid"
 
# Thư mục lưu trữ dữ liệu, cần chỉ định khác nhau để tránh mất dữ liệu
dir /tool/redis/redis-cluster/8001/
 
# Bật chế độ cụm
cluster-enabled yes
 
# Tệp cấu hình cụm, tên 800x nên khớp với cổng
cluster-config-file nodes-8001.conf
 
# Thời gian chờ mất kết nối
cluster-node-timeout 5000
 
# Hủy bỏ ràng buộc IP
#bind 127.0.0.1
 
# Tắt chế độ bảo vệ
protected-mode no
 
# Bật ghi AOF
appendonly yes
 
# Thêm cấu hình sau để thiết lập mật khẩu (nếu cần):
# Thiết lập mật khẩu truy cập Redis
requirepass matkhau_redis
 
# Thiết lập mật khẩu giữa các nút cụm
masterauth matkhau_redis
  1. Sao chép cấu hình 8001 sang 8002 (8003, 8004, 8005 tương tự) ======================================
cp /tool/redis/redis-cluster/8001/redis.conf /tool/redis/redis-cluster/8002
  1. Sửa đổi cấu hình 8002 (8003, 8004, 8005 tương tự) =================================
cd /tool/redis/redis-cluster/8002/
vim redis.conf
:%s/8001/8002/g
  1. Khởi động dịch vụ Redis ============
/tool/redis-6.2.6/src/redis-server /tool/redis/redis-cluster/8001/redis.conf
/tool/redis-6.2.6/src/redis-server /tool/redis/redis-cluster/8002/redis.conf
/tool/redis-6.2.6/src/redis-server /tool/redis/redis-cluster/8003/redis.conf
/tool/redis-6.2.6/src/redis-server /tool/redis/redis-cluster/8004/redis.conf
/tool/redis-6.2.6/src/redis-server /tool/redis/redis-cluster/8005/redis.conf

Có thể khởi động nhiều tiến trình Redis

  1. Các máy chủ khác thực hiện tương tự các bước trên ===========================

  2. Khởi tạo cụm: ==========

Có hai cách để cấu hình cụm:

15-1. Phân bổ master-slave tự động (đơn giản hơn):

/tool/redis-6.2.6/src/redis-cli -a matkhau_redis --cluster create --cluster-replicas 5 **.**.**.33:8001 **.**.**.33:8002 **.**.**.33:8003 **.**.**.33:8004 **.**.**.33:8005 **.**.**.34:8001 **.**.**.34:8002 **.**.**.34:8003 **.**.**.34:8004 **.**.**.34:8005 **.**.**.36:8001 **.**.**.36:8002 **.**.**.36:8003 **.**.**.36:8004 **.**.**.36:8005 **.**.**.37:8001 **.**.**.37:8002 **.**.**.37:8003 **.**.**.37:8004 **.**.**.37:8005 **.**.**.38:8001 **.**.**.38:8002 **.**.**.38:8003 **.**.**.38:8004 **.**.**.38:8005 **.**.**.39:8001 **.**.**.39:8002 **.**.**.39:8003 **.**.**.39:8004 **.**.**.39:8005

-a : mật khẩu --cluster-replicas 1: mỗi master có 1 slave; --cluster-replicas 2: mỗi master có 2 slave

Cách này phân bổ master-slave tự động Không tận dụng tối đa tính năng cao sẵn sàng của nhiều máy chủ

15-2. Phân bổ master-slave thủ công

Tạo 5 nút master

/tool/redis-6.2.6/src/redis-cli -a matkhau_redis --cluster create **.**.**.33:8001 **.**.**.34:8001 **.**.**.36:8001 **.**.**.37:8001 **.**.**.38:8001 --cluster-replicas 0

Thêm từng nút slave vào master cụ thể

/tool/redis-6.2.6/src/redis-cli -a matkhau_redis --cluster add-node **.**.**.33:8002 **.**.**.33:8001 --cluster-slave --cluster-master-id 0f22951a5acfab105eba1a8c52296fa5b256cbb4

add-node: nút slave --cluster-master-id: ID master tương ứng

  1. Kiểm tra cụm =======

Kết nối cụm

/tool/redis-6.2.6/src/redis-cli -a matkhau_redis -c -h **.**.**.33 -p 8001

Xem thông tin cụm

cluster info

cluster_slots_ok: vị trí slot cluster_size: số lượng

Xem thông tin nút cụm

cluster nodes

master là nút chính slave là nút phụ thuộc, kèm theo ID master

  1. Tắt cụm =======

Tắt tất cả tiến trình Redis trên các máy chủ

  • Sử dụng shutdown
/tool/redis-6.2.6/src/redis-cli -a matkhau_redis -c -h **.**.**.33 -p 8001 shutdown
  • Tắt trực tiếp tiến trình
ps -ef | grep redis
 
pkill -9 redis
  1. Cấu hình lại cụm =========

Sau khi tắt cụm, xóa các tệp trong thư mục (trừ redis.conf) Khởi động lại theo quy trình cụm

  1. Kiểm tra cụm =======

Tạm dừng tiến trình các nút cụ thể Hoặc khởi động lại máy chủ Sử dụng lệnh cluster nodes để kiểm tra sự chuyển đổi tự động

  1. Kiểm tra hiệu năng cụm =========
/tool/redis-6.2.6/src/redis-benchmark -a matkhau_redis -h **.**.**.33 -p 8001 -c 100 -n 100000 --cluster -q

Kết thúc

Thẻ: Redis cluster CentOS high-availability

Đăng vào ngày 1 tháng 7 lúc 00:06