HBase
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> HBase

Tính sẵn sàng cao (Đa AZ) cho Cơ sở dữ liệu hoạt động của CDP

Cơ sở dữ liệu hoạt động của CDP (COD) là một cơ sở dữ liệu giao dịch tự trị được cung cấp bởi Apache HBase và Apache Phoenix. Đây là một trong những Dịch vụ Dữ liệu chính chạy trên Đám mây Công cộng của Nền tảng Dữ liệu Cloudera (CDP). Bạn có thể truy cập COD ngay từ bảng điều khiển CDP của mình. Với COD, các nhà phát triển ứng dụng giờ đây có thể tận dụng sức mạnh của HBase và Phoenix mà không cần chi phí thường xuyên liên quan đến triển khai và quản lý. COD dễ cung cấp và tự quản lý, điều đó có nghĩa là các nhà phát triển có thể cung cấp phiên bản cơ sở dữ liệu mới trong vòng vài phút và bắt đầu tạo nguyên mẫu một cách nhanh chóng. Các tính năng tự động như tự động điều chỉnh tỷ lệ, tự động phục hồi và tự động điều chỉnh đảm bảo không phải lo lắng về việc quản lý và quản trị cơ sở dữ liệu.

Trong blog này, chúng tôi sẽ chia sẻ cách Cơ sở dữ liệu hoạt động của CDP có thể mang lại tính khả dụng cao cho các ứng dụng của bạn khi chạy trên nhiều vùng khả dụng trong AWS.

Để hiểu đầy đủ về triển khai Multi-AZ có nghĩa là đối với cơ sở hạ tầng của bạn, điều quan trọng là phải nhận ra cách Amazon Web Services được định cấu hình trên toàn cầu và do đó cách nó cung cấp các dịch vụ dự phòng cho dù bạn ở vị trí nào. Như đã thảo luận trong tài liệu chính thức của Amazon, Đám mây AWS bao gồm một số khu vực, là các vị trí thực tế trên khắp thế giới. Mặc dù tình trạng mất điện của AZ không được theo dõi chính thức, nhưng các khách hàng của Cloudera đã báo cáo rằng đã bị mất điện ở AZ 1-2 lần một năm. Vì vậy, các triển khai đa AZ được yêu cầu để đạt được 99,95 +% khả dụng.

Mỗi khu vực bao gồm một số trung tâm dữ liệu vật lý riêng biệt, được gọi là vùng khả dụng (AZ) . Mỗi AZ là một cơ sở khép kín với sức mạnh, khả năng kết nối và mạng riêng. Hầu hết các khu vực đều có 2-3 khu vực khả dụng khác nhau, mỗi khu vực cung cấp khả năng dự phòng đầy đủ trong một khu vực nhất định (Một AZ được thể hiện bằng mã khu vực theo sau là số nhận dạng chữ cái; ví dụ: us-west-1a) .

Tuy nhiên, phần dự phòng này chỉ được áp dụng cho lớp lưu trữ (S3) và không tồn tại cho các máy ảo được sử dụng cho phiên bản cơ sở dữ liệu của bạn. Nếu có điều gì đó khiến Vùng khả dụng nơi các phiên bản máy chủ của bạn cư trú bị ngừng hoạt động, thì cơ sở dữ liệu của bạn sẽ ngừng hoạt động vì toàn bộ cơ sở hạ tầng máy tính sẽ ngoại tuyến.

Đây là lúc Triển khai Đa AZ xuất hiện. Triển khai Đa AZ có nghĩa là cơ sở hạ tầng tính toán cho Máy chủ chính và Máy chủ Vùng của HBase được phân phối trên nhiều Vùng khả dụng, đảm bảo rằng khi một Vùng khả dụng duy nhất bị ngừng hoạt động, chỉ một phần Máy chủ Vùng sẽ được bị ảnh hưởng và máy khách sẽ tự động chuyển sang các máy chủ còn lại trong các AZ có sẵn. Tương tự, máy chủ dự phòng (giả sử máy chủ chính ở AZ bị ngừng hoạt động) sẽ tự động đảm nhận vai trò của máy chủ bị lỗi vì nó được triển khai trong một AZ riêng biệt với máy chủ chính. Tất cả điều này là tự động, không cần thiết lập, không quản lý và không có hành động nào từ quan điểm quản trị / người dùng. Nó chỉ hoạt động để đảm bảo một ứng dụng không bị ngừng hoạt động do mất một AZ duy nhất.

Bản trình diễn

Cơ sở dữ liệu COD mới được tạo sẽ tự động tận dụng tất cả các vùng sẵn sàng được định cấu hình trong môi trường. Do đó, điều quan trọng là phải thiết lập môi trường với các khu vực mà chúng tôi muốn sử dụng.

Ví dụ:chúng ta có một môi trường với các AZ sau:us-west-1a, us-west-1b và us-west-1c. Khi chúng tôi triển khai cơ sở dữ liệu COD, cơ sở dữ liệu này sẽ tự động triển khai theo kiểu đa phương tiện - không cần làm gì cả! Hãy kiểm tra hậu trường và xem những gì có trên bảng điều khiển AWS.

COD đảm bảo rằng các nút công nhân được trải đều trên các AZ được định cấu hình. (Các bậc thầy và Nhà lãnh đạo cũng được triển khai ở các AZ khác nhau để cung cấp tính sẵn sàng cao cho nhóm túc số ZooKeeper.)

Apache HBase đã có sẵn khả năng chuyển đổi dự phòng, vì vậy trong trường hợp một AZ chuyển sang chế độ ngoại tuyến, hệ thống đã sẵn sàng để tiếp tục ngay lập tức và tự động các dịch vụ trong cơ sở dữ liệu của bạn.

Để thêm một chút thú vị, hãy chạy thử nghiệm tải HBase đơn giản trong quá trình thử nghiệm của chúng tôi. HBase có một công cụ kiểm tra tải tích hợp mà chúng tôi có thể sử dụng để kiểm tra ghi trong thời gian dài:

hbase ltt -write 10:1024:10 -num_keys 10000000

Bây giờ chúng ta hãy mô phỏng thất bại AZ và xem điều gì sẽ xảy ra. Cách dễ nhất để làm điều đó là thêm một ACL mạng mới vô hiệu hóa lưu lượng truy cập vào và ra của một mạng con nhất định thực hiện các điều kiện tương tự như ngắt AWS thực.

Trong phút đầu tiên, chúng tôi không thấy bất kỳ điều gì đặc biệt thú vị trên trang trạng thái, bởi vì từ quan điểm của COD, cơ sở dữ liệu vẫn hoạt động tốt.

Nhưng nhận thấy rằng khách hàng đã ngừng tiến bộ.

Trong 10-20 giây, Master nhận ra rằng một số Máy chủ của Vùng đã chết.

Nếu sự cố mất điện ảnh hưởng đến bản chính đang hoạt động, HBase sẽ tự động chuyển sang bản sao lưu đảm nhận vai trò sau 10-20 giây ..

Lỗi này không mất quá nhiều thời gian, sau 2-3 phút và một số lỗi khu vực thoáng qua, khách hàng có thể tiến bộ trở lại. Chủ nhân đã phải chuyển đổi các vùng chết thành Máy chủ Vùng sống.

Để mô phỏng sự kết thúc của sự cố, hãy hoàn tác quá trình tạo ACL mạng bằng cách xóa nó. Máy chủ Vùng đang kết nối trở lại Máy chủ.

Bây giờ chúng ta đã trở lại nơi chúng ta bắt đầu. COD đã khôi phục hoàn toàn sau sự cố ngừng hoạt động. Trong các yêu cầu ghi, chúng ta có thể thấy hai điểm sụt giảm:lần đầu tiên là khi máy khách chuyển đổi sang các Máy chủ vùng đang hoạt động còn lại, lần thứ hai hơi muộn hơn là khi bộ cân bằng tải của HBase chuyển các vùng trở lại các máy chủ được kết nối lại.

COD trên HDFS

Lưu trữ đối tượng trong đám mây là lớp lưu trữ mặc định cho COD và phân tán dữ liệu trên 3 vùng khả dụng phía sau và sẽ cân bằng lại hậu trường. HBase chỉ phải thực hiện một số công việc quản lý nội bộ (chuyển đổi khu vực) để phục vụ các khu vực bởi các máy chủ còn lại làm cho hoạt động này tương đối nhanh.

Đối với các trường hợp sử dụng hiệu suất cao, COD hỗ trợ sử dụng HDFS làm bộ nhớ cơ bản. Trong mô hình triển khai này, chúng tôi tự động định cấu hình nhận thức về giá đỡ HDFS để có khả năng chịu lỗi bằng cách đặt một bản sao khối trên một giá đỡ khác và ánh xạ các giá đỡ tới Vùng khả dụng. Điều này cung cấp tính khả dụng của dữ liệu trong trường hợp có sự cố chuyển mạch mạng hoặc phân vùng trong cụm. Vì vậy, hành vi trong bản demo trên rất giống với những gì bạn sẽ thấy khi triển khai COD với HDFS.

Tóm tắt

Việc triển khai Multi-AZ là rất quan trọng đối với các cơ sở dữ liệu có tính khả dụng cao và hiện COD hỗ trợ nó trong AWS dưới dạng bản xem trước kỹ thuật ở hậu trường mà không mất thêm phí. Nó làm cho khối lượng công việc hoạt động của bạn mạnh mẽ và đáng tin cậy hơn mà không cần cấu hình bổ sung. Nó sẽ sớm có sẵn và hỗ trợ các nhà cung cấp đám mây bổ sung (Microsoft, Google).

Liên hệ với nhóm tài khoản Cloudera của bạn nếu bạn muốn tìm hiểu thêm về cách di chuyển từ việc triển khai HBase sang Cơ sở dữ liệu hoạt động CDP trên đám mây công cộng hoặc thử nghiệm với Cloudera Test Drive.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Chuyển đổi các ACL của HBase sang chính sách Ranger

  2. Hướng dẫn sử dụng cổng HBase của Apache

  3. Hadoop MapReduce Tutorial dành cho người mới bắt đầu

  4. Cách thực hiện:Sử dụng tính năng Tải hàng loạt của HBase và tại sao

  5. Sử dụng COD và CML để xây dựng các ứng dụng dự đoán dữ liệu kho