Kiến trúc HBase: Mô hình dữ liệu HBase & Cơ chế đọc / ghi HBase



Blog này trên Kiến trúc HBase giải thích Mô hình dữ liệu HBase và cung cấp thông tin chi tiết về Kiến trúc HBase. Nó cũng giải thích các cơ chế khác nhau trong HBase.

Kiến trúc HBase

Trong blog trước của tôi trên Hướng dẫn HBase , Tôi đã giải thích HBase là gì và các tính năng của nó. Tôi cũng đã đề cập đến nghiên cứu điển hình của Facebook Messenger để giúp bạn kết nối tốt hơn. Bây giờ đang tiến xa hơn trong , Tôi sẽ giải thích cho bạn mô hình dữ liệu của HBase và HBase Architecture.Trước khi tiếp tục, bạn cũng nên biết rằng HBase là một khái niệm quan trọng tạo nên một phần không thể thiếu của cho Chứng nhận Hadoop Dữ liệu lớn.

Các chủ đề quan trọng mà tôi sẽ giới thiệu cho bạn trong blog kiến ​​trúc HBase này là:





Đầu tiên chúng ta hãy tìm hiểu mô hình dữ liệu của HBase. Nó giúp HBase đọc / ghi và tìm kiếm nhanh hơn.



Kiến trúc HBase: Mô hình dữ liệu HBase

Như chúng ta đã biết, HBase là một cơ sở dữ liệu NoSQL hướng cột. Mặc dù nó trông tương tự như cơ sở dữ liệu quan hệ chứa các hàng và cột, nhưng nó không phải là cơ sở dữ liệu quan hệ. Cơ sở dữ liệu quan hệ được định hướng hàng trong khi HBase là hướng cột. Vì vậy, trước tiên chúng ta hãy hiểu sự khác biệt giữa cơ sở dữ liệu hướng theo cột và hướng hàng:

Cơ sở dữ liệu hướng hàng so với hướng cột:

  • Cơ sở dữ liệu hướng hàng lưu trữ các bản ghi bảng trong một chuỗi các hàng. Trong khi cơ sở dữ liệu hướng cộtlưu trữ các bản ghi bảng trong một chuỗi các cột, tức là các mục nhập trong một cột được lưu trữ ở các vị trí liền kề trên đĩa.

Để hiểu rõ hơn, chúng ta hãy lấy một ví dụ và xem xét bảng dưới đây.



Bảng - Kiến trúc HBase - Edureka

Nếu bảng này được lưu trữ trong cơ sở dữ liệu hướng hàng. Nó sẽ lưu trữ các bản ghi như hình dưới đây:

một,Paul Walker,CHÚNG TA,231,Gallant,

2, vin Diesel,Brazil,520,Mustang

Trong cơ sở dữ liệu hướng hàng dữ liệu được lưu trữ trên cơ sở các hàng hoặc bộ giá trị như bạn có thể thấy ở trên.

Trong khi cơ sở dữ liệu hướng cột lưu trữ dữ liệu này dưới dạng:

một,2, Paul Walker,vin Diesel, CHÚNG TA,Brazil, 231,520, Gallant,Mustang

Trong cơ sở dữ liệu hướng cột, tất cả các giá trị cột được lưu trữ cùng nhau giống như giá trị cột đầu tiên sẽ được lưu trữ cùng nhau, sau đó giá trị cột thứ hai sẽ được lưu trữ cùng nhau và dữ liệu trong các cột khác được lưu trữ theo cách tương tự.

  • Khi lượng dữ liệu rất lớn, chẳng hạn như petabyte hoặc exabyte, chúng tôi sử dụng phương pháp tiếp cận theo hướng cột, vì dữ liệu của một cột được lưu trữ cùng nhau và có thể được truy cập nhanh hơn.
  • Trong khi cách tiếp cận hướng hàng xử lý tương đối hiệu quả số lượng hàng và cột ít hơn, vì cơ sở dữ liệu hướng hàng lưu trữ dữ liệu là một định dạng có cấu trúc.
  • Khi chúng ta cần xử lý và phân tích một tập hợp lớn dữ liệu bán cấu trúc hoặc phi cấu trúc, chúng ta sử dụng phương pháp tiếp cận theo hướng cột. Chẳng hạn như các ứng dụng xử lý Xử lý phân tích trực tuyến như khai thác dữ liệu, lưu trữ dữ liệu, các ứng dụng bao gồm phân tích, v.v.
  • Trong khi, Xử lý giao dịch trực tuyến chẳng hạn như lĩnh vực tài chính và ngân hàng xử lý dữ liệu có cấu trúc và yêu cầu thuộc tính giao dịch (thuộc tính ACID) sử dụng phương pháp tiếp cận hướng hàng.

Bảng HBase có các thành phần sau, được hiển thị trong hình ảnh bên dưới:

  • Những cái bàn : Dữ liệu được lưu trữ dưới dạng bảng trong HBase. Nhưng ở đây các bảng ở định dạng hướng cột.
  • Hàng Chìa khóa : Các phím hàng được sử dụng để tìm kiếm các bản ghi giúp tìm kiếm nhanh chóng. Bạn sẽ tò mò muốn biết làm thế nào? Tôi sẽ giải thích nó trong phần kiến ​​trúc sắp tới trong blog này.
  • Cột Các gia đình : Nhiều cột khác nhau được kết hợp trong một họ cột. Các họ cột này được lưu trữ cùng nhau giúp quá trình tìm kiếm nhanh hơn vì dữ liệu thuộc cùng một họ cột có thể được truy cập cùng nhau trong một lần tìm kiếm.
  • Cột Vòng loại : Tên của mỗi cột được gọi là bộ định lượng cột của nó.
  • Ô : Dữ liệu được lưu trữ trong các ô. Dữ liệu được đưa vào các ô được xác định cụ thể bằng khóa hàng và định tính cột.
  • Dấu thời gian : Dấu thời gian là sự kết hợp của ngày và giờ. Bất cứ khi nào dữ liệu được lưu trữ, nó được lưu trữ với dấu thời gian của nó. Điều này giúp dễ dàng tìm kiếm một phiên bản dữ liệu cụ thể.

Nói một cách đơn giản và dễ hiểu hơn, chúng ta có thể nói HBase bao gồm:

  • Bộ bàn
  • Mỗi bảng có họ cột và hàng
  • Khóa hàng hoạt động như một khóa Chính trong HBase.
  • Mọi quyền truy cập vào bảng HBase đều sử dụng Khóa chính này
  • Mỗi định tính cột có trong HBase biểu thị thuộc tính tương ứng với đối tượng nằm trong ô.

Bây giờ bạn đã biết về Mô hình dữ liệu HBase, hãy cùng chúng tôi xem mô hình dữ liệu này phù hợp với Kiến trúc HBase như thế nào và phù hợp với việc lưu trữ lớn và xử lý nhanh hơn.

Kiến trúc HBase: Các thành phần của kiến ​​trúc HBase

HBase có ba thành phần chính, tức là Máy chủ HMaster , Máy chủ khu vực HBase, Khu vựcNgười giữ vườn thú .

Hình dưới đây giải thích cấu trúc phân cấp của Kiến trúc HBase. Chúng tôi sẽ nói về từng người một trong số họ.


Bây giờ trước khi đi đến HMaster, chúng ta sẽ hiểu về Khu vực vì tất cả các Máy chủ này (HMaster, Máy chủ khu vực, Zookeeper) được đặt để điều phối và quản lý Khu vực và thực hiện các hoạt động khác nhau bên trong Khu vực. Vì vậy, bạn sẽ tò mò muốn biết các vùng là gì và tại sao chúng lại quan trọng như vậy?

Kiến trúc HBase: Khu vực

Một vùng chứa tất cả các hàng giữa khóa bắt đầu và khóa kết thúc được gán cho vùng đó. Bảng HBase có thể được chia thành một số vùng theo cách mà tất cả các cột của họ cột được lưu trữ trong một vùng. Mỗi vùng chứa các hàng theo thứ tự được sắp xếp.

Nhiều khu vực được chỉ định cho một Máy chủ khu vực , chịu trách nhiệm xử lý, quản lý, thực hiện các thao tác đọc và ghi trên tập hợp các vùng đó.

Vì vậy, kết luận theo một cách đơn giản hơn:

  • Một bảng có thể được chia thành một số vùng. Vùng là một phạm vi hàng được sắp xếp lưu trữ dữ liệu giữa khóa bắt đầu và khóa kết thúc.
  • Vùng có kích thước mặc định là 256MB có thể được cấu hình tùy theo nhu cầu.
  • Một Nhóm các khu vực được phục vụ cho các máy khách bởi một Máy chủ Khu vực.
  • Máy chủ Vùng có thể phục vụ khoảng 1000 vùng cho máy khách.

Bây giờ bắt đầu từ đầu phân cấp, trước tiên tôi muốn giải thích cho bạn về Máy chủ HMaster hoạt động tương tự như một Mã tên trong HDFS . Sau đó, chuyển xuống trong hệ thống phân cấp, tôi sẽ đưa bạn qua ZooKeeper và Máy chủ vùng.

Kiến trúc HBase: HMaster

Như trong hình ảnh bên dưới, bạn có thể thấy HMaster xử lý một tập hợp Máy chủ Vùng nằm trên DataNode. Hãy để chúng tôi hiểu HMaster làm điều đó như thế nào.

  • HBase HMaster thực hiện các thao tác DDL (tạo và xóa bảng) và gán các vùng cho các máy chủ Vùng như bạn có thể thấy trong hình trên.
  • Nó điều phối và quản lý Máy chủ Vùng (tương tự như NameNode quản lý DataNode trong HDFS).
  • Nó chỉ định các vùng cho Máy chủ Vùng khi khởi động và chỉ định lại các vùng cho Máy chủ Vùng trong quá trình khôi phục và cân bằng tải.
  • Nó giám sát tất cả các phiên bản của Máy chủ Vùng trong cụm (với sự trợ giúp của Zookeeper) và thực hiện các hoạt động khôi phục bất cứ khi nào Máy chủ Vùng nào gặp sự cố.
  • Nó cung cấp một giao diện để tạo, xóa và cập nhật bảng.

HBase có một môi trường phân tán và rộng lớn, nơi HMaster không đủ để quản lý mọi thứ. Vì vậy, bạn sẽ tự hỏi điều gì giúp HMaster quản lý môi trường rộng lớn này? Đó là nơi ZooKeeper xuất hiện trong bức tranh. Sau khi chúng ta hiểu cách HMaster quản lý môi trường HBase, chúng ta sẽ hiểu cách Zookeeper giúp HMaster trong việc quản lý môi trường.

Kiến trúc HBase: ZooKeeper - Điều phối viên

Hình ảnh dưới đây giải thích cơ chế điều phối của ZooKeeper.

  • Zookeeper hoạt động giống như một điều phối viên bên trong môi trường phân tán HBase. Nó giúp duy trì trạng thái máy chủ bên trong cụm bằng cách giao tiếp thông qua các phiên.
  • Mỗi Máy chủ Vùng cùng với Máy chủ HMaster gửi nhịp tim liên tục theo chu kỳ đều đặn đến Zookeeper và nó kiểm tra máy chủ nào còn sống và khả dụng như đã đề cập trong hình trên. Nó cũng cung cấp thông báo lỗi máy chủ để các biện pháp khôi phục có thể được thực hiện.
  • Từ hình ảnh trên, bạn có thể thấy, có một máy chủ không hoạt động, đóng vai trò như một bản sao lưu cho máy chủ đang hoạt động. Nếu máy chủ hoạt động không thành công, nó sẽ được giải cứu.
  • HMaster đang hoạt động gửi nhịp tim đến Zookeeper trong khi HMaster không hoạt động sẽ lắng nghe thông báo do HMaster đang hoạt động gửi. Nếu HMaster đang hoạt động không gửi được nhịp tim, phiên sẽ bị xóa và HMaster không hoạt động sẽ hoạt động.
  • Trong khi nếu Máy chủ vùng không gửi được nhịp tim, phiên sẽ hết hạn và tất cả người nghe sẽ được thông báo về điều đó. Sau đó HMaster thực hiện các hành động khôi phục phù hợp mà chúng ta sẽ thảo luận sau trong blog này.
  • Zookeeper cũng duy trì đường dẫn của Máy chủ .META, đường dẫn này giúp mọi khách hàng tìm kiếm bất kỳ vùng nào. Trước tiên, Máy khách phải kiểm tra với Máy chủ .META trong đó Máy chủ khu vực thuộc một khu vực nào và nó sẽ lấy đường dẫn của Máy chủ khu vực đó.

Như tôi đã nói về .META Server, trước tiên hãy để tôi giải thích cho bạn .META server là gì? Vì vậy, bạn có thể dễ dàng liên kết công việc của ZooKeeper và .META Server với nhau. Sau đó, khi tôi sẽ giải thích cho bạn cơ chế tìm kiếm HBase trong blog này, tôi sẽ giải thích cách thức hoạt động của hai cơ chế này.

Kiến trúc HBase: Bảng Meta

  • Bảng META là một bảng danh mục HBase đặc biệt. Nó duy trì một danh sách tất cả các Máy chủ Khu vực trong hệ thống lưu trữ HBase, như bạn có thể thấy trong hình trên.
  • Nhìn vào hình bạn có thể thấy, .META tệp duy trì bảng ở dạng khóa và giá trị. Khóa đại diện cho khóa bắt đầu của vùng và id của nó trong khi giá trị chứa đường dẫn của Máy chủ vùng.

Như tôi đã thảo luận, Máy chủ Vùng và các chức năng của nó trong khi tôi giải thích cho bạn về các Vùng do đó, bây giờ chúng ta đang chuyển xuống phân cấp và tôi sẽ tập trung vào thành phần của Máy chủ Vùng và các chức năng của chúng. Phần sau tôi sẽ thảo luận về cơ chế tìm kiếm, đọc, viết và hiểu cách tất cả các thành phần này hoạt động cùng nhau.

Kiến trúc HBase: Các thành phần của Máy chủ Vùng

Hình ảnh dưới đây cho thấy các thành phần của Máy chủ Vùng. Bây giờ, tôi sẽ thảo luận riêng về chúng.

Máy chủ Vùng duy trì các vùng khác nhau chạy trên đầu . Các thành phần của Máy chủ Vùng là:

  • WAL: Như bạn có thể kết luận từ hình trên, Write Ahead Log (WAL) là một tệp được đính kèm với mọi Máy chủ Vùng bên trong môi trường phân tán. WAL lưu trữ dữ liệu mới chưa được duy trì hoặc cam kết lưu trữ vĩnh viễn. Nó được sử dụng trong trường hợp không khôi phục được các tập dữ liệu.
  • Chặn bộ nhớ đệm: Từ hình ảnh trên, có thể thấy rõ ràng Block Cache nằm ở trên cùng của Region Server. Nó lưu trữ dữ liệu thường đọc trong bộ nhớ. Nếu dữ liệu trong BlockCache ít được sử dụng gần đây nhất, thì dữ liệu đó sẽ bị xóa khỏi BlockCache.
  • MemStore: Nó là bộ nhớ đệm ghi. Nó lưu trữ tất cả dữ liệu đến trước khi đưa vào đĩa hoặc bộ nhớ vĩnh viễn. Có một Kho lưu trữ cho mỗi họ cột trong một vùng. Như bạn có thể thấy trong hình, có nhiều Kho lưu trữ cho một vùng vì mỗi vùng chứa nhiều họ cột. Dữ liệu được sắp xếp theo thứ tự từ vựng trước khi đưa vào đĩa.
  • HFile: Từ hình trên, bạn có thể thấy HFile được lưu trữ trên HDFS. Do đó, nó lưu trữ các ô thực tế trên đĩa. MemStore cam kết dữ liệu thành HFile khi kích thước của MemStore vượt quá.

Bây giờ chúng ta đã biết các thành phần chính và phụ của Kiến trúc HBase, tôi sẽ giải thích cơ chế và nỗ lực hợp tác của chúng trong việc này. Cho dù đó là đọc hay viết, trước tiên chúng ta cần tìm kiếm nơi đọc hoặc nơi ghi tệp. Vì vậy, chúng ta hãy hiểu quy trình tìm kiếm này, vì đây là một trong những cơ chế khiến HBase rất phổ biến.

Kiến trúc HBase: Làm thế nào Tìm kiếm Khởi tạo trong HBase?

Như bạn đã biết, Zookeeper lưu trữ vị trí bảng META. Bất cứ khi nào khách hàng tiếp cận với một yêu cầu đọc hoặc ghi tới HBase xảy ra hoạt động sau:

  1. Máy khách truy xuất vị trí của bảng META từ ZooKeeper.
  2. Sau đó máy khách yêu cầu vị trí của Máy chủ Vùng của khóa hàng tương ứng từ bảng META để truy cập nó. Khách hàng lưu trữ thông tin này với vị trí của Bảng META.
  3. Sau đó, nó sẽ nhận được vị trí hàng bằng cách yêu cầu từ Máy chủ Vùng tương ứng.

Đối với các tham chiếu trong tương lai, máy khách sử dụng bộ đệm ẩn của nó để truy xuất vị trí của bảng META và Máy chủ Vùng của khóa hàng đã đọc trước đó. Sau đó, khách hàng sẽ không tham chiếu đến bảng META, cho đến khi và trừ khi có sự thiếu sót do vùng bị thay đổi hoặc di chuyển. Sau đó, nó sẽ yêu cầu lại máy chủ META và cập nhật bộ nhớ cache.

Như mọi khi, khách hàng không mất thời gian trong việc truy xuất vị trí của Máy chủ Vùng từ Máy chủ META, do đó, điều này tiết kiệm thời gian và làm cho quá trình tìm kiếm nhanh hơn. Bây giờ, hãy để tôi cho bạn biết cách viết diễn ra trong HBase. Các thành phần liên quan đến nó là gì và chúng tham gia như thế nào?

Kiến trúc HBase: HBase Viết Cơ chế

Hình ảnh dưới đây giải thích cơ chế ghi trong HBase.

Cơ chế ghi tuần tự trải qua quá trình sau (tham khảo hình ảnh ở trên):

Bước 1: Bất cứ khi nào client có yêu cầu ghi, client sẽ ghi dữ liệu vào WAL (Write Ahead Log).

  • Các chỉnh sửa sau đó được thêm vào cuối tệp WAL.
  • Tệp WAL này được duy trì trong mọi Máy chủ Vùng và Máy chủ Vùng sử dụng nó để khôi phục dữ liệu không được gắn vào đĩa.

Bước 2: Sau khi dữ liệu được ghi vào WAL, sau đó nó được sao chép vào MemStore.

Bước 3: Sau khi dữ liệu được đặt trong MemStore, sau đó máy khách sẽ nhận được xác nhận.

Bước 4: Khi MemStore đạt đến ngưỡng, nó kết xuất hoặc chuyển dữ liệu vào HFile.

Bây giờ chúng ta hãy đi sâu và hiểu MemStore đóng góp như thế nào trong quá trình viết và chức năng của nó là gì?

hướng dẫn studio android cho người mới bắt đầu

HBase Viết Cơ chế- MemStore

  • MemStore luôn cập nhật dữ liệu được lưu trữ trong đó, theo thứ tự từ vựng (tuần tự theo cách từ điển) như các KeyValues ​​được sắp xếp. Có một MemStore cho mỗi họ cột và do đó các bản cập nhật được lưu trữ theo cách sắp xếp cho mỗi họ cột.
  • Khi MemStore đạt đến ngưỡng, nó kết xuất tất cả dữ liệu vào một HFile mới theo cách được sắp xếp. HFile này được lưu trữ trong HDFS. HBase chứa nhiều HFiles cho mỗi Họ cột.
  • Theo thời gian, số lượng HFile tăng lên khi MemStore kết xuất dữ liệu.
  • MemStore cũng lưu số thứ tự được viết cuối cùng, vì vậy Master Server và MemStore đều biết, rằng những gì được cam kết cho đến nay và bắt đầu từ đâu. Khi vùng bắt đầu, số thứ tự cuối cùng được đọc và từ số đó, các chỉnh sửa mới bắt đầu.

Như tôi đã thảo luận nhiều lần, HFile là bộ lưu trữ liên tục chính trong kiến ​​trúc HBase. Cuối cùng, tất cả dữ liệu được cam kết với HFile, đây là nơi lưu trữ vĩnh viễn của HBase. Do đó, chúng ta hãy xem xét các thuộc tính của HFile giúp tìm kiếm nhanh hơn trong khi đọc và viết.

Kiến trúc HBase: HBase Viết Cơ chế- HFile

  • Các ghi được đặt tuần tự trên đĩa. Do đó, chuyển động của đầu đọc-ghi của đĩa là rất ít. Điều này làm cho cơ chế ghi và tìm kiếm rất nhanh.
  • Các chỉ mục HFile được tải vào bộ nhớ bất cứ khi nào một HFile được mở. Điều này giúp tìm kiếm một bản ghi trong một lần tìm kiếm.
  • Đoạn giới thiệu là một con trỏ trỏ đến khối meta của HFile. Nó được viết ở cuối tệp cam kết. Nó chứa thông tin về dấu thời gian và bộ lọc nở.
  • Bộ lọc Bloom giúp tìm kiếm các cặp giá trị khóa, nó bỏ qua tệp không chứa khóa hàng bắt buộc. Dấu thời gian cũng giúp tìm kiếm phiên bản của tệp, nó giúp bỏ qua dữ liệu.

Sau khi biết cơ chế ghi và vai trò của các thành phần khác nhau trong việc ghi và tìm kiếm nhanh hơn. Tôi sẽ giải thích cho bạn cách cơ chế đọc hoạt động bên trong một kiến ​​trúc HBase? Sau đó, chúng tôi sẽ chuyển sang các cơ chế làm tăng hiệu suất HBase như nén, chia vùng và phục hồi.

Kiến trúc HBase: Cơ chế đọc

Như đã thảo luận trong cơ chế tìm kiếm của chúng tôi, trước tiên máy khách truy xuất vị trí của Máy chủ Vùng từ Máy chủ .META nếu máy khách không có vị trí đó trong bộ nhớ đệm của nó. Sau đó, nó trải qua các bước tuần tự như sau:

  • Để đọc dữ liệu, trước tiên máy quét sẽ tìm ô Hàng trong bộ đệm ẩn Khối. Tại đây tất cả các cặp giá trị khóa đã đọc gần đây được lưu trữ.
  • Nếu Scanner không tìm thấy kết quả cần thiết, nó sẽ di chuyển đến MemStore, vì chúng ta biết đây là bộ nhớ cache ghi. Ở đó, nó tìm kiếm các tệp được viết gần đây nhất, chưa được kết xuất trong HFile.
  • Cuối cùng, nó sẽ sử dụng bộ lọc bloom và chặn bộ nhớ cache để tải dữ liệu từ HFile.

Cho đến nay, tôi đã thảo luận về cơ chế tìm kiếm, đọc và ghi của HBase. Bây giờ chúng ta sẽ xem xét cơ chế HBase giúp tìm kiếm, đọc và ghi nhanh chóng trong HBase. Trước tiên, chúng ta sẽ hiểu Nén chặt , là một trong những cơ chế đó.

Kiến trúc HBase: Nén chặt

HBase kết hợp HFiles để giảm dung lượng lưu trữ và giảm số lần tìm đĩa cần thiết để đọc. Quá trình này được gọi là nén chặt . Compaction chọn một số HFiles từ một vùng và kết hợp chúng. Có hai loại nén như bạn có thể thấy trong hình trên.

  1. Nén nhỏ : HBase tự động chọn các HFiles nhỏ hơn và chuyển chúng vào các HFiles lớn hơn như thể hiện trong hình trên. Đây được gọi là Minor Compaction. Nó thực hiện sắp xếp hợp nhất để cam kết các HFiles nhỏ hơn với các HFiles lớn hơn. Điều này giúp tối ưu hóa không gian lưu trữ.
  2. Nén chính: Như được minh họa trong hình trên, trong Major compaction, HBase hợp nhất và gửi lại các HFiles nhỏ hơn của một vùng thành một HFile mới. Trong quá trình này, các họ cột giống nhau được đặt cùng nhau trong HFile mới. Nó giảm ô đã xóa và hết hạn trong quá trình này. Nó làm tăng hiệu suất đọc.

Nhưng trong quá trình này, các đĩa đầu vào-đầu ra và lưu lượng mạng có thể bị tắc nghẽn. Điều này được gọi là ghi khuếch đại . Vì vậy, nó thường được lên lịch trong thời gian tải đỉnh thấp.

Bây giờ, một quy trình tối ưu hóa hiệu suất khác mà tôi sẽ thảo luận là Phân chia khu vực . Điều này rất quan trọng đối với việc cân bằng tải.

Kiến trúc HBase: Phân chia khu vực

Hình dưới đây minh họa cơ chế Phân chia Vùng.

Bất cứ khi nào một vùng trở nên lớn, nó được chia thành hai vùng con, như thể hiện trong hình trên. Mỗi vùng đại diện cho chính xác một nửa vùng mẹ. Sau đó, sự phân chia này được báo cáo cho HMaster. Điều này được xử lý bởi cùng một Máy chủ Vùng cho đến khi HMaster phân bổ chúng cho Máy chủ Vùng mới để cân bằng tải.

Chuyển xuống dòng, cuối cùng nhưng không kém phần quan trọng, tôi sẽ giải thích cho bạn cách HBase khôi phục dữ liệu sau khi bị lỗi. Như chúng ta biết rằng Khôi phục thất bại là một tính năng rất quan trọng của HBase, do đó hãy cho chúng tôi biết cách HBase khôi phục dữ liệu sau khi bị lỗi.

Kiến trúc HBase: Sự cố HBase và Phục hồi dữ liệu

  • Bất cứ khi nào Máy chủ Vùng bị lỗi, ZooKeeper sẽ thông báo cho HMaster về lỗi đó.
  • Sau đó HMaster phân phối và phân bổ các vùng của Máy chủ Vùng bị sự cố cho nhiều Máy chủ Vùng đang hoạt động. Để khôi phục dữ liệu của MemStore của Máy chủ Vùng bị lỗi, HMaster phân phối WAL cho tất cả Máy chủ Vùng.
  • Mỗi Máy chủ Vùng thực thi lại WAL để xây dựng Kho lưu trữ cho họ cột của vùng bị lỗi đó.
  • Dữ liệu được ghi theo thứ tự thời gian (theo thứ tự kịp thời) trong WAL. Do đó, thực thi lại WAL đó có nghĩa là thực hiện tất cả thay đổi đã được thực hiện và lưu trữ trong tệp MemStore.
  • Vì vậy, sau khi tất cả các Máy chủ Vùng thực thi WAL, dữ liệu MemStore cho tất cả các họ cột được khôi phục.

Tôi hy vọng blog này sẽ giúp bạn hiểu rõ hơn về Mô hình dữ liệu HBase và Kiến trúc HBase. Hy vọng bạn thích nó. Bây giờ bạn có thể liên quan đến các tính năng của HBase (mà tôi đã giải thích trong phần trước của mình Hướng dẫn HBase blog) với Kiến trúc HBase và hiểu cách nó hoạt động nội bộ. Bây giờ bạn đã biết phần lý thuyết của HBase, bạn nên chuyển sang phần thực hành. Hãy ghi nhớ điều này, blog tiếp theo của chúng tôi về sẽ giải thích một mẫu HBase POC .

Bây giờ bạn đã hiểu Kiến trúc HBase, hãy xem của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Khóa đào tạo Chứng chỉ Edureka Big Data Hadoop giúp người học trở thành chuyên gia trong lĩnh vực HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume và Sqoop bằng các trường hợp sử dụng thời gian thực trên miền Bán lẻ, Truyền thông xã hội, Hàng không, Du lịch, Tài chính.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần bình luận và chúng tôi sẽ liên hệ lại với bạn.