HBaseMaster 4 3-

Một phần của tài liệu hệ cơ sở dữ liệu phân tán và ứng dụng trong máy tìm kiếm (Trang 45 - 46)

- Mapfile không thể ánh xạ vào bộ nhớ.

- Mapfile duy trì những chỉ số rải rác trong một file riêng lẻ đúng hơn là cuối một file như là SSTable làm.

HBase kế thừa Mapfile vì thế một bộ lọc Bloom có thể được sử dụng để tăng cường hiệu năng tra cứu. Hàm băm đã sử dụng được phát triển bởi Bob Jenkins.

4.3. Kiến trúc và thực thi

Có 3 thành phần chính trong kiến trúc Hbase:

1. HBaseMaster (tương đương máy chủ chính Bigtable) 2. HRegionServer (tương đương máy chủ phụ Bigtable)

3. HBase client, định nghĩa bởi org.apache.hadoop.hbase.client.Htable

4.3.1. HBaseMaster

HBaseMaster có trách nhiệm chỉ định các vùng cho các HregionServer . Vùng đầu tiên được chỉ định là vùng Root, là vùng định vị tất cả các vùng Meta được chỉ định. Mỗi vùng Meta ánh xạ 1 số vùng người dùng bao gồm nhiều bảng mà một HBase phục vụ. Một khi tất cả các vùng Meta đã được chỉ định, máy chủ chính sẽ chỉ định các vùng người dùng tới các HregionServer, cố gắng cân bằng số vùng được phục vụ bởi mỗi HregionServer.

Nó cũng giữ một con trỏ tới HregionServer làm host cho vùng Root.

HbaseMaster cũng giám sát tình trạng của mỗi HRegionServer, và nếu nó phát hiện một HRegionServer không thể kết nối tới được, nó sẽ chia cắt bản ghi write-ahead của HRegionServer đó, do đó không có bản ghi write-ahead cho các vùng mà HRegionServer đó phục vụ. Sau khi nó hoàn thành xong việc này, nó sẽ chỉ định lại các vùng đang được phục vụ bởi Hregionserver bị lỗi.

Thêm vào đó, Hbasemaster cũng có trách nhiệm xử lý các hàm quản trị bảng ví dụ như điều khiển trực tuyến/ngoại tuyến của bảng, thay đổi tới các lược đồ bảng( thêm hoặc xóa họ cột) …..

Không giống Bigtable, hiện nay, khi một Hbasemaster ngừng hoạt động, cụm sẽ tắt. Trong Bigtable, một máy chủ phụ có thể phục vụ các bảng phụ khi kết nối tới máy chủ

- 44 -

chính đã mất. Chúng ta liên kết chúng lại với nhau, bởi chúng ta không sử dụng một hệ thống quản lý khóa bên ngoài giống như Bigtable. Máy chủ chính Bigtable định vị các bảng phụ và một khóa quản lý (Chubby) đảm bảo các truy xuất nguyên tử bởi máy chủ phụ tới các bảng phụ. Hbase sử dụng một con trỏ trung tâm cho tất cả các Hregionserver truy cập: Hbasemaster.

Bảng Meta

Bảng Meta lưu trữ thông tin về mọi vùng người dùng trong Hbase bao gồm một đối tượng Hregioninfo chứa thông tin như các khóa hàng bắt đầu và kết thúc , vùng là trực tuyến hay ngoại tuyến , ….và địa chỉ của Hregionserver đang phục vụ cho vùng. Bảng Meta có thể mở rộng theo sự mở rộng của các vùng người dùng.

Bảng Root

Bảng Root bị giới hạn vào một vùng đơn lẻ và ánh xạ tất cả các vùng vào bảng Meta. Giống như bảng Meta, nó chứa một đối tượng Hregioninfo cho mỗi vùng Meta và vị trí của Hregionserver đang phục vụ cho vùng Meta đó.

Mỗi hàng trong các bảng Meta và Root có kích thước xấp xỉ 1KB. Kích thước vùng mặc định là 256MB, điều này có nghĩa là vùng Root có thể ánh xạ 2.6 * 105 vùng, ánh xạ tổng cộng 6.9 * 1010 vùng người dùng, tương đương xấp xỉ 1.8 * 1019. (264) byte dữ liệu người dùng.

Một phần của tài liệu hệ cơ sở dữ liệu phân tán và ứng dụng trong máy tìm kiếm (Trang 45 - 46)