NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định

Cách cấu hình Redis Cluster trên CentOS 7 đơn giản

Ngày đăng:07/06/2023
Cập nhật cuối:18/03/2025
Lượt xem

Đánh giá

5/5 - (110 bình chọn)

Redis Cluster là một giải pháp phân tán giúp mở rộng khả năng lưu trữ và xử lý dữ liệu của Redis, đảm bảo tính khả dụng cao và hỗ trợ phân mảnh dữ liệu tự động. Việc triển khai Redis Cluster trên CentOS 7 giúp bạn tối ưu hiệu suất và đảm bảo hệ thống hoạt động ổn định ngay cả khi có node gặp sự cố. Cùng mình tìm hiểu cách cấu hình Redis Cluster trên CentOS 7 ngay sau đây.

Những điểm chính 

  • Khái niệm Redis Cluster: Hiểu được Redis Cluster là một giải pháp phân tán giúp mở rộng khả năng lưu trữ, nâng cao tính sẵn sàng và hiệu suất cho các ứng dụng. 
  • Yêu cầu cấu hình Redis Cluster trên CentOS 7: Biết được các yêu cầu cần thiết để bắt đầu cấu hình Redis Cluster, bao gồm hệ điều hành, số lượng server (master và slave), quyền truy cập SSH.
  • Cách cấu hình Redis Cluster trên CentOS 7: Cung cấp hướng dẫn chi tiết, từ cài đặt Redis đến cấu hình master và slave server.
  • Giới thiệu Vietnix: Giới thiệu về dịch vụ VPS của Vietnix, giúp triển khai và quản lý Redis Cluster một cách dễ dàng, hiệu quả.

Redis Cluster là gì?

Redis Cluster là một giải pháp phân tán giúp mở rộng khả năng lưu trữ và đảm bảo tính sẵn sàng cao của Redis. Đây là một hệ thống lưu trữ dữ liệu mã nguồn mở, hoạt động theo mô hình lưu trữ trong bộ nhớ (in-memory) với tùy chọn ghi đĩa để duy trì dữ liệu. Redis cung cấp nhiều tính năng quan trọng như giao dịch (transactions), pub/sub, tự động chuyển đổi khi có lỗi (failover) cùng nhiều chức năng hữu ích khác.

Trong môi trường production, Redis được khuyến nghị sử dụng trên Linux để đảm bảo hiệu suất và tính ổn định. Tuy nhiên, macOS cũng là một nền tảng phổ biến mà các nhà phát triển sử dụng để thử nghiệm và phát triển ứng dụng. Redis hỗ trợ ứng dụng khách (client) trên hầu hết các ngôn ngữ lập trình phổ biến, với nhiều ứng dụng được đề xuất chính thức trên trang web của Redis.

Để đảm bảo hệ thống hoạt động liên tục và dữ liệu không bị gián đoạn khi có sự cố, việc nhân bản dữ liệu tối thiểu trên 2 node là một giải pháp tối ưu. Điều này giúp duy trì tính sẵn sàng cao, đảm bảo hiệu suất và có phương án dự phòng khi gặp lỗi, đặc biệt quan trọng khi cơ sở dữ liệu ngày càng mở rộng.

Mô hình triển khai Redis Cluster trong bài hướng dẫn này gồm:

  • Một máy Redis khác đóng vai trò slave server để sao lưu dữ liệu và hỗ trợ chuyển đổi khi cần thiết.
  • Một máy Redis đóng vai trò master server để xử lý dữ liệu chính.
Giới thiệu về Redis Cluster
Giới thiệu về Redis Cluster

Yêu cầu để cấu hình Redis Cluster trên CentOS 7 đơn giản

Redis có thể hoạt động trên các bản phát hành trước và các bản phân phối Linux khác nhưng Vietnix khuyến nghị bạn sử dụng CentOS 7.

Đối với mục đích test, bạn có thể sử dụng các instance nhỏ vì không có khối lượng công việc thực sự để xử lý. Đối với các môi trường sản xuất lớn hơn thì sẽ cần các server lớn hơn.

  • Hệ điều hành CentOS 7.
  • Hai server có cấu hình tùy ý, một master chính và một hoặc nhiều slave.
  • Truy cập vào máy chủ của bạn thông qua SSH với người dùng sudo non-root.

Bước 1: Cài đặt Redis

Bắt đầu với server chứa master server. Bước đầu tiên bạn cần làm là cài đặt Redis. Tuy nhiên trước hết, bạn cần kích hoạt EPEL repository. Đây là kho lưu trữ Extra Packages for Enterprise Linux được phát triển bởi dự án Fedora. Mục đích nhằm cung cấp các gói bên thứ ba chất lượng cao cho doanh nghiệp dựa trên RHEL.

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

Nếu lệnh wget không được nhận ra, bạn hãy thử chạy lệnh yum install wget trước lệnh trên.

Sau đó bạn chạy lệnh:

sudo rpm -ivh epel-release-7-5.noarch.rpm

Và nhập:

sudo yum -y update

Lưu ý rằng quá trình này có thể mất một chút thời gian để hoàn thành. Sau đó, bạn có thể cài đặt Redis trên máy của mình bằng cách chạy lệnh:

sudo yum install redis -y

Sau khi quá trình cài đặt hoàn tất, bạn có thể bắt đầu dịch vụ của Redis bằng cách nhập lệnh sau:

sudo systemctl start redis.service

Bạn có thể kiểm tra trạng thái của Redis bằng lệnh:

sudo systemctl status redis.service

Output sẽ tương tự như sau:

Output
redis.service - Redis persistent key-value database
   Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled)
  Drop-In: /etc/systemd/system/redis.service.d
           └─limit.conf
   Active: active (running) since Wed 2015-07-22 02:26:31 EDT; 13s ago
 Main PID: 18995 (redis-server)
   CGroup: /system.slice/redis.service

Cuối cùng, hãy kiểm tra cài đặt Redis của bạn bằng cách chạy lệnh:

redis-cli ping

Kết quả in ra nên là một phản hồi PONG. Điều đó chứng tỏ bạn đã cài đặt thành công Redis trên server của mình và có thể bắt đầu cấu hình. Bạn có thể thực hiện kiểm tra bổ sung cho cài đặt bằng cách chạy lệnh:

redis-benchmark -q -n 1000 -c 10 -P 5

Lệnh trên yêu cầu redis-benchmark chạy ở chế độ im lặng, với tổng số request là 1000, 10 kết nối song song và 5 request pipeline. Để biết thêm thông tin về chạy benchmark cho Redis, bạn hãy gõ lệnh redis-benchmark --help trong cửa sổ terminal. Lệnh này sẽ in ra thông tin hữu ích kèm theo các ví dụ.

Sau khi chạy benchmark hoàn tất, bạn sẽ thấy output tương tự như sau:

Output
PING_INLINE: 166666.67 requests per second
PING_BULK: 249999.98 requests per second
SET: 200000.00 requests per second
GET: 200000.00 requests per second
INCR: 200000.00 requests per second
LPUSH: 200000.00 requests per second
LPOP: 200000.00 requests per second
SADD: 200000.00 requests per second
SPOP: 249999.98 requests per second
LPUSH (needed to benchmark LRANGE): 200000.00 requests per second
LRANGE_100 (first 100 elements): 35714.29 requests per second
LRANGE_300 (first 300 elements): 11111.11 requests per second
LRANGE_500 (first 450 elements): 7194.24 requests per second
LRANGE_600 (first 600 elements): 5050.50 requests per second
MSET (10 keys): 100000.00 requests per second

Bạn sẽ cần lặp lại phần này cho slave server của Redis. Nếu muốn cấu hình thêm server, bạn có thể thiết lập nhiều slave server theo nhu cầu.

Redis đã được cài đặt và chạy trên hai node. Nếu output của bất kỳ node nào không tương tự như những gì được hiển thị ở trên, hãy lặp lại quá trình thiết lập và kiểm tra lại tất cả các yêu cầu đã đáp ứng hay chưa.

Bước 2: Cấu hình Redis Master

Sau khi Redis đã chạy trên cụm hai server, bạn cần chỉnh sửa các file cấu hình của chúng. Bạn sẽ thấy có sự khác biệt nhỏ giữa cấu hình master server và slave.

Hãy bắt đầu với master.

Mở file /etc/redis.conf với trình chỉnh sửa văn bản bất kỳ:

sudo vi /etc/redis.conf

Bạn hãy chỉnh sửa các dòng sau.

Đặt giá trị hợp lý cho bộ hẹn giờ keepalive trong TCP:

tcp-keepalive 60

Cho phép server có thể truy cập được từ bất cứ ai trên web bằng cách chú thích dòng sau:

#bind 127.0.0.1

Redis có tốc độ xử lý rất nhanh nên kẻ tấn công có thể dễ dàng thực hiện cuộc tấn công brute force để đoán mật khẩu và xâm nhập vào hệ thống. Vì vậy, để tăng tính bảo mật cho Redis, bạn nên bỏ phần chú thích ở dòng requirepass trong file cấu hình và thay bằng một mật khẩu phức tạp hoặc một passphrase phức tạp hơn:

requirepass your_redis_master_password

Tùy thuộc vào mục đích sử dụng, bạn có thể thay đổi dòng sau đây hoặc không. Với bài viết này, Vietnix giả định rằng không có khóa nào buộc phải xóa. Bạn hãy bỏ chú thích dòng này và đặt nó như sau:

maxmemory-policy noeviction

Cuối cùng, để thực hiện việc sao lưu dữ liệu, bạn cần bỏ chú thích và đặt các dòng như được hiển thị:

appendonly yes
appendfilename "appendonly.aof"

Lưu các thay đổi của bạn.

Khởi động lại dịch vụ Redis để tải lại các thay đổi cấu hình:

sudo systemctl restart redis.service

Khi master server đã sẵn sàng, bạn hãy chuyển sang cấu hình slave.

Bước 3: Cấu hình Redis Slave

Bạn cần thực hiện một số thay đổi để cho phép slave server kết nối với master instance:

Mở file /etc/redis.conf với trình chỉnh sửa văn bản bất kỳ:

sudo vi /etc/redis.conf

Hãy chỉnh sửa các dòng bên trong file. Một số cài đặt sẽ giống như của master server.

Cho phép server có thể truy cập được từ bất kỳ ai trên web bằng cách chú thích dòng sau:

#bind 127.0.0.1

Slave server cũng cần có mật khẩu để có thể thực hiện các lệnh như INFO từ master. Bỏ chú thích dòng này và đặt server password tại đây:

requirepass your_redis_slave_password

Bỏ chú thích dòng này và chỉ định địa chỉ IP của master server kèm theo cổng mà master server đang sử dụng. Mặc định, Redis sử dụng cổng 6379 để kết nối:

slaveof your_redis_master_ip 6379

Bỏ chú thích dòng masterauth và cung cấp password/passphrase bạn đã thiết lập trước đó trên master server:

masterauth your_redis_master_password

Lưu các thay đổi này và thoát khỏi file. Tiếp theo, khởi động lại dịch vụ giống như bạn đã làm trên master server:

sudo systemctl restart redis.service

Lệnh này sẽ khởi động lại Redis và tải các file được sửa đổi.

Kết nối đến Redis bằng lệnh sau:

redis-cli -h 127.0.0.1 -p 6379

Xác thực bằng mật khẩu của slave server:

AUTH your_redis_slave_password

Bây giờ, bạn đang chạy một cụm Redis master-slave hoạt động tốt với cả hai máy đã được cấu hình đúng cách.

Để đảm bảo quá trình cấu hình và cài đặt 2 máy chủ chính (master) và máy chủ phụ (slave) diễn ra thuận lợi, bạn cần kiểm tra xem máy chủ có đáp ứng các yêu cầu cần thiết hay không. Một số yêu cầu quan trọng có thể kể đến như dung lượng ổ cứng, bộ xử lý, bộ nhớ và tốc độ truy cập. Nếu bạn đang tìm kiếm một giải pháp đáng tin cậy và phù hợp, VPS Việt Nam tại Vietnix là sự lựa chọn tuyệt vời cho bạn.

VPS Vietnix cung cấp các gói dịch vụ đa dạng và phong phú bao gồm VPS NVMe, VPS Giá Rẻ, VPS SSD, VPS AMD. Việc sử dụng dịch vụ của Vietnix không chỉ giúp đảm bảo rằng các yêu cầu cần thiết được đáp ứng mà còn giúp bạn tiết kiệm thời gian và chi phí trong quá trình triển khai. Liên hệ Vietnix để được tư vấn chi tiết và hoàn toàn miễn phí.

Bước 4: Xác minh Master-Slave Replication

Việc kiểm tra cài đặt của Redis trên server sẽ đảm bảo rằng cấu hình của bạn hoạt động đúng và master server đang kết nối đến các slave server của Redis. Bạn sẽ cần kết nối với Redis qua terminal trên master server.

Đầu tiên kết nối đến instance cục bộ chạy mặc định trên cổng 6379. Trong trường hợp bạn đã thay đổi cổng, hãy sửa lệnh với cổng tương ứng:

redis-cli -h 127.0.0.1 -p 6379

Sau đó, xác thực với Redis bằng mật khẩu bạn đặt khi cấu hình master:

AUTH your_redis_master_password

Bạn sẽ nhận được phản hồi là OK. Bây giờ, bạn chỉ cần chạy lệnh:

INFO

Bạn sẽ thấy mọi thứ bạn cần về Redis master server. Đặc biệt là phần #Replication, output sẽ hiển thị như sau:

Output
. . .

# Replication
role:master
connected_slaves:1
slave0:ip=111.111.111.222,port=6379,state=online,offset=407,lag=1
master_repl_offset:407
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:406

. . .

Chú ý đến dòng connected_slaves:1. Dòng này cho biết instance khác đang nói chuyện với server master. Bạn cũng có thể thấy được địa chỉ IP của slave, port, trạng thái và một số thông tin khác.

Bây giờ, hãy xem phần #Replication trên máy slave của bạn. Thực hiện giống như trên master server. Bạn hãy đăng nhập vào instance Redis, thực hiện lệnh INFO và xem output:

Output
. . .

# Replication
role:slave
master_host:111.111.111.111
master_port:6379
master_link_status:up
master_last_io_seconds_ago:3
master_sync_in_progress:0
slave_repl_offset:1401
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

. . .

Bạn có thể thấy rằng máy này có vai trò là slave đang giao tiếp với Redis master server và không có slaves của riêng mình.

Bước 5: Chuyển sang máy Slave

Kiến trúc này được thiết kế để đảm bảo rằng khi một server chính gặp sự cố, hệ thống sẽ tự động thay thế nó bằng một server khác để đảm bảo tính toàn vẹn dữ liệu và giảm thiểu thời gian gián đoạn của ứng dụng. Tuy nhiên, để đảm bảo rằng quá trình chuyển đổi diễn ra một cách suôn sẻ, bạn nên thực hiện việc chuyển đổi bằng tay.

Trên máy slave, bạn hãy kết nối đến Redis instance:

redis-cli -h 127.0.0.1 -p 6379

Xác thực với Redis bằng mật khẩu bạn đặt khi cấu hình slave:

AUTH your_redis_slave_password

Tiếp theo là tắt chế độ slave:

SLAVEOF NO ONE

Phản hồi phải là OK. Sau đó, bạn hãy gõ lệnh:

INFO

Tìm phần # Replication để tìm output sau:

Output
. . .

# Replication
role:master
connected_slaves:0
master_repl_offset:1737
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

. . .

Sau khi chuyển đổi, slaver đã trở thành server chính và sẵn sàng chấp nhận kết nối từ các máy khác (nếu có). Bạn có thể sử dụng server chính mới này làm dự phòng cho server chính cũ trong quá trình gỡ lỗi. Nếu bạn có nhiều slave phụ thuộc vào master ban đầu, chúng cũng phải được trỏ đến master mới bằng cách thực hiện những bước sau:

  • Từ ứng dụng, bạn hãy gửi tất cả các yêu cầu cho Redis đến một máy slave.
  • Trên máy slave, thực thi lệnh SLAVEOF NO ONE. Bắt đầu từ phiên bản Redis 1.0.0, lệnh này cho phép slave dừng sao chép dữ liệu và hoạt động như một master server.
  • Trên tất cả các slave còn lại (nếu có), chạy SLAVEOF hostname port để chỉ định các slave này ngừng sao chép từ master cũ, loại bỏ hoàn toàn dữ liệu đã lỗi thời và bắt đầu sao chép từ master mới. Hãy đảm bảo thay thế hostnameport bằng các giá trị chính xác từ master mới.
  • Sau khi giải quyết lỗi thành công, bạn có thể quay trở lại sử dụng server ban đầu làm master nếu hệ thống yêu cầu.

Có nhiều cách để thực hiện các bước được giải thích ở trên. Tuy nhiên, việc tìm ra một giải pháp phù hợp và đảm bảo kiểm tra kỹ lưỡng trước khi có bất kỳ sự cố thực tế nào xảy ra là trách nhiệm của bạn.

Bước 6: Kết nối lại với Master

Bạn hãy kết nối lại với master server ban đầu. Trên slave server, đăng nhập vào Redis và thực thi lệnh sau:

SLAVEOF your_redis_master_ip 6379

Nếu chạy lệnh INFO một lần nữa, bạn sẽ thấy mình đã trở lại thiết lập ban đầu.

Vietnix – Đối tác tin cậy cho giải pháp VPS chuyên nghiệp

Vietnix là nhà cung cấp dịch vụ VPS hàng đầu tại Việt Nam với hơn 10 năm kinh nghiệm trong lĩnh vực máy chủ. Được tin tưởng bởi hàng chục khách hàng từ cá nhân đến doanh nghiệp lớn, Vietnix cam kết mang đến hạ tầng công nghệ ổn định với thời gian uptime lên đến 99.9%. 

Đội ngũ kỹ thuật chuyên nghiệp sẵn sàng hỗ trợ 24/7, đảm bảo mọi vấn đề kỹ thuật được giải quyết nhanh chóng. Với Vietnix, khách hàng không chỉ được tư vấn giải pháp phù hợp mà còn nhận được sự đồng hành toàn diện trong quá trình triển khai và vận hành hệ thống, giúp doanh nghiệp tập trung vào phát triển kinh doanh cốt lõi.

Thông tin liên hệ:

  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn
  • Website: https://vietnix.vn/ 

Qua bài viết này, bạn đã nắm được cách cấu hình Redis Cluster trên CentOS 7 một cách đơn giản và hiệu quả. Redis Cluster giúp hệ thống của bạn mở rộng khả năng lưu trữ, tối ưu hiệu suất và đảm bảo tính sẵn sàng cao, đặc biệt là trong các môi trường yêu cầu xử lý dữ liệu lớn. Hy vọng bài viết này hữu ích và chúc bạn thành công!

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Đánh giá mức độ hữu ích của bài viết

Thất vọng

Chưa hữu ích

Bình thường

Hữu ích

Rất hữu ích

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Icon tab

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

Vector

PHẦN CỨNG MẠNH MẼ

Vector

HỖ TRỢ 24/7

Vector
ĐĂNG KÝ NGAYGroup icon
khuyến mãi cuối tháng 3
Nhanh tay, số lượng có hạn!
17/03/2025 - 31/03/2025
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

CẢM ƠN BẠN ĐÃ ĐÁNH GIÁ BÀI VIẾT

Vietnix sẽ luôn cố gắng cải thiện chất lượng dịch vụ mỗi ngày

ĐÓNG

Đánh giá mức độ hữu ích của bài viết

Thất vọng

Chưa hữu ích

Bình thường

Hữu ích

Rất hữu ích

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG