cuốn sách gpt4 ai đã làm

18. Bắt đầu với Hadoop: Bắt đầu với HBase

In lại Tác giả: Đường đến ông chủ Thời gian cập nhật: 2024-01-07 13:08:23 28 4
mua khóa gpt4 Nike

HBase - Bắt đầu

Giới thiệu về HBase

HBase là mộtPhân tán, định hướng theo cộtCơ sở dữ liệu nguồn mở, công nghệ này xuất phát từ bài báo "Bigtable: A Structured Data Platform" của Google do Fay Chang viếtHệ thống lưu trữ phân tán". Giống như Bigtable tận dụng khả năng lưu trữ dữ liệu phân tán do Google File System cung cấp, HBase cung cấp các khả năng giống như Bigtable trên Hadoop. HBase là một dự án con của dự án Hadoop của Apache. HBase khác với cơ sở dữ liệu quan hệ thông thường,Nó là một cơ sở dữ liệu phù hợp để lưu trữ dữ liệu phi cấu trúc. Một điểm khác biệt nữa là HBase dựa trên cột chứ không phải dựa trên hàng.

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

 

Khách hàng

  • Client có trách nhiệm gửi yêu cầu tới cơ sở dữ liệu
  • Có hai cách chính để kết nối khách hàng:shell hbase và giống JDBC
  • Các yêu cầu được gửi đi cũng là các thao tác cơ sở dữ liệu cơ bản DDL, DML, DQL
  • Máy khách cũng duy trì một số bộ đệm để tăng tốc độ truy cập hbase, chẳng hạn như thông tin vị trí Khu vực.

Người giữ vườn thú

  • Đảm bảo phân cụm bất cứ lúc nàoChỉ có một chủ nhân duy nhất
  • Lưu trữ tất cảMục nhập địa chỉ của khu vực và tất cả thông tin siêu dữ liệu
  • Theo dõi trạng thái của Máy chủ khu vực trong thời gian thực và báo cáo thông tin trực tuyến và ngoại tuyến của nó cho Master
  • Lưu trữ lược đồ của Hbase, bao gồm các bảng và họ cột

HMaster

  • Nút chính của HBase phân bổ Vùng cho Máy chủ vùng và chịu trách nhiệm cân bằng tải.
  • Quản lý hoạt động DDL của người dùng, siêu dữ liệu bảng được lưu trữ trong Zookeeper và dữ liệu bảng được lưu trữ trên HRegionServer
  • Khi HRegionServer ngoại tuyến, HMaster sẽ chuyển vùng trên HRegionServer sang các HRegionServer khác.

Máy chủ HRKhu vực

  • Người quản lý dữ liệu cụ thể của HBase, duy trì các vùng được Master chỉ định và xử lý các yêu cầu IO cho các vùng này.
  • Duy trì liên lạc theo thời gian thực với Master và báo cáo thông tin nút hiện tại
  • Khi nhận được lệnh từ chủ để tạo bảng, hãy phân bổ một vùng tương ứng với bảng.
  • Máy chủ Vùng có trách nhiệm phân chia các vùng trở nên quá lớn trong quá trình hoạt động.
  • Khi client gửi các thao tác DML và DQL, HRegionServer có nhiệm vụ kết nối với client
  • Máy chủ Khu vực hiện tại tắt đột ngột và khu vực của nó sẽ được các Máy chủ Khu vực khác tiếp quản.

Khu vực HR

  • HRegion là đơn vị lưu trữ phân tán nhỏ nhất trong HBase và có thể được lưu trữ trong các Máy chủ HRegion khác nhau.
  • HBase tự động chia bảng thành nhiều vùng theo chiều ngang, mỗi vùng lưu một khoảng thời gian nhất định dữ liệu liên tục trong bảng.
  • Lúc đầu, một bảng chỉ có một vùng. Khi vùng tăng lên đến một mức độ nhất định, sự phân chia bằng nhau sẽ xảy ra.

Cửa hàng

  • HRegion là thành phần cơ bản để thu thập và phân phối bảng. Nó bao gồm một hoặc nhiều Cửa hàng. Mỗi cửa hàng lưu trữ một họ cột.
  • Cửa hàng bao gồm một memstore và không có hoặc nhiều StoreFiles.
  • HFile là định dạng lưu trữ của các tệp HBase trong HDFS. Nó chứa các chỉ mục đa cấp và không phải tải toàn bộ tệp cho một phần dữ liệu.

Hlog

  • Viết nhật ký trước khi làm bất cứ điều gì. Hlog thực sự là một tệp Trình tự Hadoop thông thường.
  • Hlog được lưu trữ trực tiếp trên HDFS và HRegionServer chỉ có một tệp nhật ký.
  • Khi memstore đạt đến ngưỡng và bắt đầu ghi tệp nhật ký, một điểm kiểm tra sẽ được đặt trong tệp nhật ký.
  • MasterProcWAL: HMaster ghi lại các hoạt động quản lý bản ghi, WAL ghi lại mọi thay đổi dữ liệu HBase

Mô hình dữ liệu HBase

**Loại dữ liệu:** Không có loại dữ liệu trong HBase, loại dữ liệu duy nhất là byte

**NameSpace:** Namespace là một khái niệm trong cơ sở dữ liệu quan hệ, thực chất là một nhóm bảng logic. HBase có hai không gian tên đặc biệt, mặc định và hbase.

Bàn:

Phím hàng Dấu thời gian Họ cột1 Họ cột2 Họ cột3
1 t6 CF2:q1=val1 CF3:q3=val3
2 t3 CF1:q2=val3
t2 CF2:q3=val2

Phím hàng

  • Mã định danh duy nhất của một hàng là khóa chính được sử dụng để truy xuất bản ghi.
  • Khóa hàng có thể là bất kỳ chuỗi nào, tối đa 64kb, được lưu dưới dạng mảng byte
  • Bộ nhớ được sắp xếp theo thứ tự từ điển khóa hàng (thứ tự byte). Tại thời điểm thiết kế, các hàng được đọc cùng nhau thường được nhóm lại với nhau.

Họ cột

  • Mỗi hàng có cùng một họ cột. Họ cột chứa nhiều cột và mỗi giá trị cột có một số thuộc tính lưu trữ có thể định cấu hình.

  • Ví dụ: lưu trữ, loại nén, số phiên bản lưu trữ có thể được sử dụng.

  • Đặt các thuộc tính chức năng tương tự trong cùng một họ cột và các cột trong cùng một họ cột sẽ được lưu trữ trong cùng một Cửa hàng.

  • Họ cột thường được khai báo khi tạo bảng và nói chung không nên có nhiều hơn ba.

  • Một họ cột bao gồm nhiều cột và một bảng bao gồm nhiều họ cột.

Vòng loại cột

  • Vòng loại của họ cột có thể được hiểu là một mã định danh duy nhất, nhưng mã định danh cột có thể thay đổi nên mỗi hàng có thể có một mã định danh cột khác nhau.
  • Cách sử dụng phải là, họ cột: cột
  • Các cột có thể được thêm hoặc xóa động tùy theo nhu cầu và các cột dữ liệu ở các hàng khác nhau của cùng một bảng có thể khác nhau.

Tế bào

  • Ô bao gồm khóa hàng, họ cột, vòng loại cột và phiên bản
  • Dữ liệu trong ô không có loại và tất cả được lưu trữ theo byte.

Dấu thời gian

  • Mỗi ô trong HBase lưu trữ các phiên bản khác nhau của cùng một dữ liệu.

  • Các phiên bản được lập chỉ mục theo dấu thời gian:

  • Loại dấu thời gian là số nguyên 64 bit

  • Dấu thời gian chính xác đến mili giây. Nếu bạn không tự đặt, dấu thời gian sẽ mặc định theo thời gian hệ thống hiện tại.

  • Nếu ứng dụng muốn tránh xung đột phiên bản, nó cần tạo dấu thời gian duy nhất của riêng mình.

  • Các phiên bản dữ liệu khác nhau trong mỗi ô được sắp xếp theo thứ tự thời gian đảo ngược, phiên bản mới nhất sẽ được xếp đầu tiên.

  • Nếu bạn không chỉ định dấu thời gian khi truy vấn, dữ liệu mới nhất sẽ được hiển thị theo mặc định.

  • Để tránh có quá nhiều phiên bản dữ liệu khó quản lý, phương pháp lưu n phiên bản cuối cùng hoặc lưu phiên bản trong khoảng thời gian cuối cùng được áp dụng.

Cài đặt HBase

Tải lên và giải nén gói cài đặt

gói nén scp hbase user@machineIP:/upload/directory tar -xzvf gói nén hbase -C /unzip/thư mục

Sửa đổi tập tin cấu hình

Sửa đổi hbase-env.sh:

cd hbase-2.4.13/conf/ vim hbase-env.sh xuất JAVA_HOME=/đường dẫn cài đặt JDK xuất HBASE_MANAGES_ZK=false

Sửa đổi hbase-site.xml:

vim hbase-site.xml

 hbase.rootdir hdfs://192.168.19.5:8020/hbase   < property> hbase.cluster.distributed true    hbase.zookeeper.quorum 192.168.19.5:2181    hbase. Zookeeper.property.dataDir /home/sjj/install/apache-zookeeper-3.7.1-bin/data   hbase.unsafe.stream.capability.enforce false 

Cấu hình các biến môi trường

vim /etc/profile # Định cấu hình môi trường HBase xuất HBASE_HOME=/home/sjj/install/hbase-2.4.13 xuất PATH=$PATH:${HBASE_HOME}/bin:${HBASE_HOME}/sbin source /etc/profile

Sao chép gói jar vào lib

cd hbase-2.4.13/lib/client-facing-thirdparty cp htrace-core4-4.2.0-incubating.jar ../lib

Sửa đổi máy chủ khu vực

cd hbase-2.4.13/conf vim máy chủ vùng máy nút của bạn

Phân phối các gói HBase

scp -r gói hbase username@machineIP:/distribution/destination

Sau khi phân phối, hãy nhớ đặt biến môi trường cho máy phân phối.

Bắt đầu HBase

# Lưu ý rằng trước tiên bạn cần khởi động Zookeeper start-dfs.sh start-hbase.sh hbase shell

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress