Hướng dẫn cài đặt HBase trên Ubuntu: Hướng dẫn từng bước một
⚡ Tóm tắt thông minh
Cài đặt HBase trên Ubuntu Chương trình hoạt động ở ba chế độ — độc lập, giả lập phân tán và phân tán hoàn toàn — bao gồm cách tải xuống tệp nén bản phát hành, chỉnh sửa hbase-env.sh và hbase-site.xml, khởi động các tiến trình nền và khắc phục các lỗi khởi động thường gặp.
Apache HBase là một hệ thống phân tán, cơ sở dữ liệu hướng cột Nó chạy trên nền tảng Hệ thống Tệp Phân tán Hadoop (HDFS). Trước khi bắt đầu, hãy đảm bảo rằng hệ thống của bạn được hỗ trợ. Java Môi trường chạy đã được cài đặt và biến môi trường JAVA_HOME đã được thiết lập; các chế độ giả phân tán và phân tán hoàn toàn cũng yêu cầu một môi trường hoạt động. Hadoop cài đặt.
Các chế độ cài đặt Apache HBase
Apache HBase có thể được cài đặt ở ba chế độ. Các tính năng của các chế độ này được đề cập dưới đây.
1) Cài đặt chế độ độc lập (Không phụ thuộc vào hệ thống Hadoop)
- Đây là chế độ mặc định của HBase.
- Nó hoạt động trên hệ thống tệp cục bộ.
- Nó không sử dụng Hadoop HDFS.
- Chỉ có tiến trình nền HMaster mới có thể chạy.
- Không khuyến nghị sử dụng trong môi trường sản xuất.
- Chạy trên một JVM duy nhất.
2) Cài đặt chế độ giả phân phối (Hệ thống Hadoop nút đơn + cài đặt HBase)
- Nó chạy trên Hadoop HDFS.
- Tất cả các tiến trình nền đều chạy trên một nút duy nhất.
- Được khuyến nghị sử dụng trong môi trường sản xuất.
3) Cài đặt ở chế độ phân tán hoàn toàn (Môi trường Hadoop đa nút + cài đặt HBase)
- Nó chạy trên Hadoop HDFS.
- Tất cả các tiến trình nền đều chạy trên tất cả các nút có trong cụm.
- Rất phù hợp cho môi trường sản xuất.
Để cài đặt Hadoop, hãy tham khảo tài liệu này. Hướng dẫn cài đặt Hadoop.
Các ảnh chụp màn hình bên dưới sử dụng HBase 1.1.2. Các phiên bản ổn định hiện tại là dòng HBase 2.5.x và 2.6.x (Java (phiên bản 8 hoặc 11), nhưng các bước cài đặt và tệp cấu hình về cơ bản vẫn giống nhau.
Cách tải xuống tệp tar HBase phiên bản ổn định
Bước 1) Vào Trang tải xuống chính thức của Apache HBase Để tải xuống HBase, trang web tải xuống sẽ được mở ra như hình bên dưới.
Bước 2) Chọn phiên bản ổn định như hình bên dưới, phiên bản HBase 1.1.2.
Bước 3) Nhấp vào hbase-1.1.2-bin.tar.gz. Tệp tar sẽ được tải xuống. Sao chép tệp tar vào vị trí cài đặt.
Cách cài đặt HBase trong Ubuntu với chế độ độc lập
Dưới đây là quy trình từng bước cài đặt HBase ở chế độ độc lập. Ubuntu:
Bước 1) Thực hiện lệnh sau. Đặt tệp hbase-1.1.2-bin.tar.gz vào thư mục /home/hduser.
Bước 2) Giải nén bằng cách thực hiện lệnh `$tar -xvf hbase-1.1.2-bin.tar.gz`. Lệnh này sẽ giải nén nội dung và tạo ra thư mục hbase-1.1.2 trong thư mục `/home/hduser`.
Bước 3) Mở hbase-env.sh như bên dưới và chỉ định đường dẫn JAVA_HOME trong phần location, như hình minh họa bên dưới.
Bước 4) Mở tệp ~/.bashrc và nhập đường dẫn HBASE_HOME như hình bên dưới.
export HBASE_HOME=/home/hduser/hbase-1.1.1 export PATH= $PATH:$HBASE_HOME/bin
Tệp ~/.bashrc đã được cập nhật với mục HBASE_HOME được hiển thị bên dưới.
Bước 5) Thêm thuộc tính vào tệp. Mở tệp hbase-site.xml và thêm các thuộc tính sau vào bên trong tệp.
hduser@ubuntu$ gedit hbase-site.xml (mã như bên dưới)
<property> <name>hbase.rootdir</name> <value>file:///home/hduser/HBASE/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/HBASE/zookeeper</value> </property>
Tệp hbase-site.xml được mở trong gedit được hiển thị dưới đây.
Ở đây chúng ta đang đặt hai thuộc tính:
- Một thư mục dành cho thư mục gốc của HBase, và
- Cái thứ hai dành cho thư mục dữ liệu tương ứng với Vườn bách thú.
Tất cả các hoạt động của HMaster và ZooKeeper đều trỏ đến tệp hbase-site.xml này.
Bước 6) Liệt kê các địa chỉ IP. Mở tệp hosts nằm trong thư mục /etc. và liệt kê các địa chỉ IP như hình bên dưới.
Bước 7) Bây giờ hãy chạy start-hbase.sh trong thư mục hbase-1.1.1/bin như hình bên dưới. Sau đó, bạn có thể kiểm tra bằng lệnh jps để xem HMaster có đang chạy hay không.
Bước 8) Khởi động HBase Shell. Có thể khởi động HBase Shell bằng cách sử dụng lệnh sau: vỏ cơ sở Nhập lệnh này, và nó sẽ chuyển sang chế độ shell tương tác như hình ảnh bên dưới. Sau khi vào chế độ shell, chúng ta có thể thực hiện tất cả các loại lệnh.
Chế độ độc lập không yêu cầu khởi động daemon Hadoop. HBase có thể chạy độc lập.
Chế độ cài đặt phân tán giả HBase
Đây là một phương pháp khác để cài đặt Apache HBase, được gọi là chế độ cài đặt giả lập phân tán. Dưới đây là các bước để cài đặt HBase thông qua chế độ giả lập phân tán.
Bước 1) Đặt tệp hbase-1.1.2-bin.tar.gz vào thư mục /home/hduser.
Bước 2) Giải nén bằng cách thực hiện lệnh `$tar -xvf hbase-1.1.2-bin.tar.gz`. Lệnh này sẽ giải nén nội dung và tạo ra thư mục hbase-1.1.2 trong thư mục `/home/hduser`.
Bước 3) Mở hbase-env.sh như bên dưới, chỉ định đường dẫn JAVA_HOME và đường dẫn của Region Servers trong phần location, rồi xuất lệnh như hình bên dưới.
Bước 4) Ở bước này, chúng ta sẽ mở tệp ~/.bashrc và chỉ định đường dẫn HBASE_HOME như trong ảnh chụp màn hình bên dưới.
Bước 5) Mở tệp hbase-site.xml và thêm các thuộc tính sau vào tệp (mã như bên dưới).
<property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/hbase/zookeeper</value> </property>
Tệp hbase-site.xml với các thuộc tính giả phân tán được hiển thị bên dưới.
Cấu hình ZooKeeper còn lại được hiển thị bên dưới.
Mỗi thuộc tính trong tệp đều đóng một vai trò cụ thể:
- Thiết lập thư mục gốc của HBase trong thuộc tính hbase.rootdir.
- Đối với thiết lập phân tán, hbase.cluster.distributed phải được đặt thành true.
- Thuộc tính quorum của ZooKeeper cần được thiết lập ở đây.
- Việc thiết lập sao chép được thực hiện trong thuộc tính dfs.replication. Theo mặc định, chúng tôi đặt giá trị sao chép là 1. Ở chế độ phân tán hoàn toàn, có nhiều nút dữ liệu, vì vậy bạn có thể tăng số lần sao chép bằng cách đặt giá trị lớn hơn 1 trong thuộc tính dfs.replication.
- Cổng của máy khách cần được đề cập trong thuộc tính hbase.zookeeper.property.clientPort.
- Thư mục dữ liệu của ZooKeeper có thể được chỉ định trong thuộc tính hbase.zookeeper.property.dataDir.
Bước 6) Khởi động các tiến trình nền Hadoop trước, sau đó khởi động các tiến trình nền HBase như hình bên dưới. Đầu tiên, bạn phải khởi động các tiến trình nền Hadoop bằng lệnh ./start-all.sh như hình bên dưới.
Sau đó, khởi động các tiến trình nền HBase bằng lệnh hbase-start.sh, như hình bên dưới.
Bây giờ hãy kiểm tra các tiến trình đang chạy bằng lệnh jps, như hình bên dưới.
Cài đặt chế độ phân phối hoàn toàn HBase
Chế độ phân tán hoàn toàn mở rộng thiết lập giả phân tán trên một cụm máy tính thực sự.
- Cấu hình này hoạt động ở chế độ cụm Hadoop, nơi nhiều nút được tạo ra trên toàn cụm và đang hoạt động.
- Quá trình cài đặt tương tự như chế độ phân tán giả lập; điểm khác biệt duy nhất là nó sẽ được triển khai trên nhiều nút.
- Các tệp cấu hình được đề cập trong hbase-site.xml và hbase-env.sh giống như được đề cập trong chế độ giả lập.
Ở chế độ phân tán hoàn toàn, hãy đảm bảo phiên bản Hadoop trên cụm của bạn khớp với các thư viện Hadoop được tích hợp sẵn trong HBase để các tiến trình nền có thể giao tiếp chính xác.
Khắc phục sự cố cài đặt HBase
1) Vấn đề cần giải quyết: Máy chủ chính khởi tạo thành công nhưng các máy chủ vùng không khởi tạo.
Việc liên lạc giữa máy chủ chính (Master) và các máy chủ khu vực (region servers) diễn ra thông qua địa chỉ IP của chúng. Máy chủ chính lắng nghe các máy chủ khu vực đang hoạt động hoặc có địa chỉ IP 127.0.0.1. Địa chỉ IP 127.0.0.1 là địa chỉ máy chủ cục bộ và được phân giải thành địa chỉ máy chủ cục bộ của chính máy chủ chính.
Nguyên nhân:
Trong quá trình giao tiếp hai chiều giữa các máy chủ vùng và máy chủ chính, máy chủ vùng liên tục thông báo cho máy chủ chính rằng địa chỉ IP của nó là 127.0.0.1.
Giải pháp:
- Xóa tên máy chủ Master khỏi mục máy chủ cục bộ có trong tệp hosts.
- Vị trí tệp máy chủ: /etc/hosts.
Những gì cần thay đổi:
Mở tệp /etc/hosts và truy cập vào đường dẫn này.
127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost : : 1 localhost3.localdomain3 localdomain3
Hãy sửa đổi cấu hình ở trên như bên dưới (xóa tên máy chủ khu vực như đã được đánh dấu ở trên).
127.0.0.1 localhost.localdomainlocalhost : : 1 localhost3.localdomain3 localdomain3
2) Vấn đề cần giải quyết: Không tìm thấy địa chỉ của tôi: XYZ trong danh sách các máy chủ đồng thuận của ZooKeeper.
Nguyên nhân:
- Máy chủ ZooKeeper không thể khởi động và báo lỗi, ví dụ như tên máy chủ có đuôi .xyz.
- HBase cố gắng khởi động máy chủ ZooKeeper trên một máy, nhưng đồng thời máy đó không thể tự tìm thấy mình trong cấu hình quorum có trong tệp cấu hình hbase.zookeeper.quorum.
Giải pháp:
- Hãy thay thế tên máy chủ bằng tên máy chủ được hiển thị trong thông báo lỗi.
- Nếu bạn có máy chủ DNS, bạn có thể thiết lập các cấu hình sau trong hbase-site.xml: hbase.zookeeper.dns.interface và hbase.zookeeper.dns.nameserver.
3) Bài toán đặt ra: Tạo thư mục gốc cho HBase thông qua Hadoop DFS.
- Chuyên gia hướng dẫn nói rằng bạn cần chạy tập lệnh di chuyển HBase.
- Khi chạy lệnh đó, tập lệnh di chuyển HBase trả lời rằng không có tệp nào trong thư mục gốc.
Nguyên nhân:
- Một thư mục mới đã được tạo cho HBase bằng cách sử dụng Hệ thống Tệp Phân tán Hadoop.
- Ở đây, HBase dự đoán có hai khả năng:
1) Thư mục gốc không tồn tại.
2) Một phiên bản HBase đang chạy trước đó đã được khởi tạo.
Giải pháp:
- Hãy xác nhận rằng thư mục gốc của HBase hiện không tồn tại hoặc đã được khởi tạo bởi một lần chạy trước đó của phiên bản HBase.
- Để thực hiện giải pháp này, hãy làm theo các bước sau.
Bước 1) Sử dụng Hadoop dfs để xóa thư mục gốc HBase.
Bước 2) HBase tự động tạo và khởi tạo thư mục.
4) Vấn đề cần giải quyết: Sự kiện hết hạn phiên ZooKeeper
Nguyên nhân:
- Máy chủ HMaster hoặc HRegion tắt bằng cách ném ra các ngoại lệ.
- Nếu bạn xem nhật ký hệ thống, bạn có thể tìm ra các ngoại lệ thực tế đã xảy ra.
Hình ảnh sau đây hiển thị ngoại lệ được ném ra do sự kiện hết hạn của ZooKeeper. Các sự kiện được đánh dấu là một số ngoại lệ đã xảy ra trong tệp nhật ký.
Mã nhật ký được hiển thị bên dưới:
WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ec java.io.IOException: TIMED OUT at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:906) WARN org.apache.hadoop.hbase.util.Sleeper: We slept 79410ms, ten times longer than scheduled: 5000 INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORT INFO org.apache.zookeeper.ClientCnxn: Priming connection to java.nio.channels.SocketChannel[connected local=/IP:PORT remote=hostname/IP:PORT] INFO org.apache.zookeeper.ClientCnxn: Server connection successful WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65e java.io.IOException: Session Expired at org.apache.zookeeper.ClientCnxn$SendThread.readConnectResult(ClientCnxn.java:589) at org.apache.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:709) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:945) ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: ZooKeeper session expired
Giải pháp:
- Dung lượng RAM mặc định là 1 GB. Đối với các tác vụ nhập dữ liệu kéo dài, hãy duy trì dung lượng RAM lớn hơn 1 GB.
- Tăng thời gian chờ phiên cho ZooKeeper.
- Để tăng thời gian chờ phiên của ZooKeeper, hãy sửa đổi thuộc tính sau trong tệp hbase-site.xml, nằm trong thư mục hbase/conf.
- Thời gian chờ mặc định của phiên là 60 giây. Bạn có thể thay đổi thành 120 giây như hướng dẫn bên dưới.
<property>
<name> zookeeper.session.timeout </name>
<value>1200000</value>
</property>
<property>
<name> hbase.zookeeper.property.tickTime </name>
<value>6000</value>
</property>

















