Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Triển khai &Quản lý Cụm NDB của MySQL với ClusterControl

Trong ClusterControl 1.5, chúng tôi đã thêm hỗ trợ cho MySQL NDB Cluster 7.5. Trong bài đăng trên blog này, chúng ta sẽ xem xét một số tính năng làm cho ClusterControl trở thành một công cụ tuyệt vời để quản lý MySQL NDB Cluster. Đầu tiên và quan trọng nhất, vì có rất nhiều sản phẩm có “Cluster” trong tên của chúng, chúng tôi muốn nói đôi lời về chính MySQL NDB Cluster và cách nó phân biệt với các giải pháp khác.

MySQL NDB Cluster

MySQL NDB Cluster là một cụm đồng bộ không dùng chung cho MySQL, dựa trên công cụ NDB. Nó là một sản phẩm có danh sách các tính năng riêng, và hoàn toàn khác với Galera Cluster hoặc MySQL InnoDB Cluster. Một điểm khác biệt chính là việc sử dụng công cụ NDB, không phải InnoDB, là công cụ mặc định cho MySQL. Trong NDB cluster, dữ liệu được phân vùng trên nhiều nút dữ liệu trong khi Galera Cluster hoặc MySQL InnoDB Cluster chứa toàn bộ tập dữ liệu trên mỗi nút. Điều này có hậu quả nghiêm trọng trong cách MySQL NDB Cluster xử lý các truy vấn sử dụng JOIN và các phần lớn của tập dữ liệu.

Khi nói đến kiến ​​trúc, MySQL NDB Cluster bao gồm ba loại nút khác nhau. Các nút dữ liệu lưu trữ dữ liệu bằng công cụ NDB. Dữ liệu được sao chép để dự phòng, với tối đa 4 bản sao dữ liệu. Lưu ý rằng ClusterControl sẽ triển khai 2 bản sao cho mỗi nhóm nút, vì đây là cấu hình ổn định và được thử nghiệm nhiều nhất. Các nút quản lý nhằm mục đích kiểm soát cụm - vì lý do tính khả dụng cao, thông thường, bạn có hai nút như vậy. Các nút SQL được sử dụng làm điểm vào của cụm. Họ phân tích cú pháp SQL, yêu cầu dữ liệu từ các nút dữ liệu và tập hợp kết quả tổng hợp khi cần thiết.

Các tính năng ClusterControl cho MySQL NDB Cluster

Triển khai

ClusterControl 1.5 hỗ trợ triển khai MySQL NDB Cluster 7.5. Nó được thực hiện thông qua trình hướng dẫn triển khai tương tự như với các loại cụm còn lại.

Trong bước đầu tiên, bạn cần phải định cấu hình cách ClusterControl có thể đăng nhập qua SSH vào các máy chủ - đây là yêu cầu tiêu chuẩn đối với ClusterControl - nó không có tác nhân nên nó yêu cầu quyền truy cập SSH gốc hoặc trực tiếp, vào tài khoản gốc hoặc thông qua (mật khẩu hoặc không cần mật khẩu) sudo.

Trong bước tiếp theo, bạn xác định các nút quản lý cho cụm của mình.

Tại đây, bạn cần quyết định số lượng nút dữ liệu bạn muốn có. Như chúng tôi đã nêu trước đây, cứ 2 nút sẽ là một phần của một nhóm nút, vì vậy đây phải là một số chẵn.

Cuối cùng, bạn cần quyết định có bao nhiêu nút SQL bạn muốn triển khai trong cụm của mình. Khi bạn nhấp vào triển khai, ClusterControl sẽ kết nối với máy chủ, cài đặt phần mềm và định cấu hình tất cả các dịch vụ. Sau một thời gian, bạn sẽ thấy cụm của mình được triển khai.

Chia tỷ lệ của Cụm NDB MySQL

Đối với MySQL NDB Cluster, ClusterControl 1.5.0 hỗ trợ mở rộng các nút SQL. Bạn có thể truy cập công việc từ trình đơn Công việc cụm thả xuống.

Ở đó, bạn có thể điền vào tên máy chủ của nút bạn muốn thêm và đó là tất cả những gì bạn cần - ClusterControl sẽ lo phần còn lại.

Quản lý Cụm NDB của MySQL

ClusterControl giúp bạn quản lý MySQL NDB Cluster. Trong phần này, chúng tôi muốn xem xét một số tính năng quản lý mà chúng tôi có.

Bản sao lưu

Sao lưu là rất quan trọng đối với bất kỳ môi trường sản xuất nào. Trong trường hợp xảy ra thảm họa, chỉ có một bản sao lưu tốt mới có thể giảm thiểu mất mát dữ liệu và giúp bạn nhanh chóng khắc phục sự cố. Sao chép có thể không phải lúc nào cũng là một giải pháp hiệu quả - DROP TABLE sẽ loại bỏ bảng trên tất cả các máy chủ trong cấu trúc liên kết. Ngay cả một nô lệ bị trì hoãn cũng có thể trì hoãn điều không thể tránh khỏi chỉ nhiều như vậy.

ClusterControl hỗ trợ sao lưu ndb cho MySQL NDB Cluster.

Bạn có thể dễ dàng tạo một lịch trình sao lưu để được thực thi bởi ClusterControl.

Lớp proxy

ClusterControl cho phép bạn triển khai một ngăn xếp đầy đủ tính khả dụng cao trên đầu MySQL NDB Cluster. Đối với lớp proxy, chúng tôi hỗ trợ triển khai HAProxy và MaxScale.

Như được hiển thị trên ảnh chụp màn hình ở trên, việc triển khai trông rất giống với các loại cụm khác. Bạn cần quyết định xem bạn muốn sử dụng HAProxy hiện có hay triển khai một HAProxy mới. Sau đó, bạn cần phải lựa chọn cách cài đặt nó - sử dụng các gói từ kho lưu trữ có sẵn trên nút hoặc biên dịch nó từ mã nguồn của bản phát hành mới nhất.

Nếu bạn quyết định sử dụng HAProxy, bạn sẽ có khả năng định cấu hình tính khả dụng cao bằng Keepalived và Virtual IP.

Quá trình diễn ra như sau - bạn xác định IP ảo và giao diện mà nó sẽ được hiển thị. Sau đó, bạn có thể triển khai nó cho mọi HAProxy mà bạn đã cài đặt. Một trong các quy trình Keepalived sẽ được xác định là "quy trình chính" và quy trình này sẽ bật VIP trên nút của nó. Ứng dụng của bạn sau đó kết nối với IP cụ thể này. Khi không có HAProxy đang hoạt động hiện tại, VIP sẽ được chuyển sang một HAProxy khả dụng khác, khôi phục kết nối.

Quản lý khôi phục

Mặc dù MySQL NDB Cluster có thể chịu được lỗi của các nút riêng lẻ, nhưng điều quan trọng là phải phản ứng kịp thời với những lỗi này. ClusterControl cung cấp khả năng phục hồi tự động cho tất cả các thành phần của cụm. Bất kể điều gì không thành công (nút quản lý, nút dữ liệu hoặc nút SQL), ClusterControl sẽ tự động khởi động lại chúng.

Giám sát Cụm NDB MySQL

Bất kỳ môi trường sẵn sàng sản xuất nào cũng phải được giám sát. ClusterControl cung cấp cho bạn một loạt các chỉ số để theo dõi. Trong trang "Tổng quan", chúng tôi hiển thị biểu đồ dựa trên các chỉ số quan trọng nhất cho cụm của bạn. Bạn cũng có thể tạo trang tổng quan của riêng mình, hiển thị dữ liệu bổ sung sẽ hữu ích trong môi trường của bạn.

Ngoài các biểu đồ, trang "Tổng quan" cung cấp cho bạn thông tin chi tiết về trạng thái của cụm dựa trên một số chỉ số Cụm NDB của MySQL như Bộ nhớ chỉ mục đã sử dụng, Bộ nhớ dữ liệu và trạng thái của một số bộ đệm.

Nó cũng cung cấp việc giám sát các chỉ số máy chủ, bao gồm cả việc sử dụng CPU, RAM, đĩa hoặc thống kê mạng. Những biểu đồ đó cũng rất quan trọng trong việc xây dựng một cái nhìn về tình trạng của cụm.

ClusterControl cũng có thể giúp bạn cải thiện hiệu suất của cơ sở dữ liệu bằng cách cấp cho bạn quyền truy cập vào Trình theo dõi truy vấn, nơi lưu trữ thống kê về lưu lượng truy cập của bạn.

Như đã thấy trên ảnh chụp màn hình ở trên, bạn có thể thấy loại truy vấn nào đang chạy trên cụm của bạn, có bao nhiêu truy vấn thuộc một loại nhất định, thời gian thực hiện của chúng và tổng thời gian thực thi. Điều này giúp xác định truy vấn nào chậm và truy vấn nào chịu trách nhiệm cho phần lớn lưu lượng truy cập. Sau đó, bạn có thể tập trung vào các truy vấn có thể cung cấp cho bạn sự cải thiện hiệu suất lớn nhất.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LỖI 1067 (42000):Giá trị mặc định không hợp lệ cho 'create_at'

  2. Chuyển các tham số đến một câu lệnh chuẩn bị sẵn của JDBC

  3. Làm cách nào để rút lại mật khẩu mặn từ Cơ sở dữ liệu và người dùng xác thực?

  4. MySQL lỗi cú pháp 1064 nhưng mọi thứ có vẻ ổn

  5. Xuất kết quả của một truy vấn Mysql sang excel?