Cài đặt HBase trên Ubuntu

Mục lục:

Anonim

Trong hướng dẫn này - bạn sẽ học,

  • Chế độ cài đặt Apache HBase
  • Cách tải xuống tệp tar Hbase phiên bản ổn định
  • Hbase - Cài đặt chế độ độc lập
  • Hbase - Chế độ cài đặt phân tán giả
  • Hbase - Cài đặt chế độ phân tán hoàn toàn
  • Khắc phục sự cố cài đặt HBase

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ó chạy trên hệ thống tệp cục bộ
  • Nó không sử dụng Hadoop HDFS
  • Chỉ HMaster daemon mới có thể chạy
  • Không được khuyến khích cho môi trường sản xuất
  • Chạy trong một JVM

2) Cài đặt chế độ phân tán giả (Hệ thống Hadoop nút đơn + cài đặt HBase)

  • Nó chạy trên Hadoop HDFS
  • Tất cả các Daemon chạy trong một nút duy nhất
  • Khuyến nghị cho 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 MultinodeHadoop + cài đặt HBase)

  • Nó chạy trên Hadoop HDFS
  • Tất cả các daemon sẽ chạy trên tất cả các nút có trong cụm
  • Rất khuyến khích cho môi trường sản xuất

Để cài đặt Hadoop Tham khảo URL này Tại đây

Cách tải xuống tệp tar Hbase phiên bản ổn định

Bước 1) Truy cập liên kết tại đây để tải xuống HBase. Nó sẽ mở ra một trang web như hình dưới đây.

Bước 2) Chọn phiên bản ổn định như hình bên dưới phiên bản 1.1.2

Bước 3) Nhấp vào hbase-1.1.2-bin.tar.gz. Nó sẽ tải xuống tệp tar. Sao chép tệp tar vào một vị trí cài đặt.

Hbase - Cài đặt chế độ độc lập:

Cài đặt được thực hiện trên Ubuntu với Hadoop đã được cài đặt.

Bước 1) Đặt hbase-1.1.2-bin.tar.gz vào / home / hduser

Bước 2) Giải nén nó bằng cách thực hiện lệnh $ tar -xvf hbase-1.1.2-bin.tar.gz . Nó sẽ giải nén nội dung và nó sẽ tạo hbase-1.1.2 trong location / home / hduser

Bước 3) Mở hbase-env.sh như bên dưới và đề cập đến đường dẫn JAVA_HOME trong vị trí.

Bước 4) Mở tệp ~ / .bashrc và đề cập đến đường dẫn HBASE_HOME như được hiển thị bên dưới

xuất HBASE_HOME = / home / hduser / hbase-1.1.1 xuất PATH = $ PATH: $ HBASE_HOME / bin

Bước 5) Mở hbase-site.xml và đặt các thuộc tính sau bên trong tệp

hduser @ ubuntu $ gedit hbase-site.xml (mã như bên dưới)

hbase.rootdirfile:///home/hduser/HBASE/hbase
hbase.zookeeper.property.dataDir/home/hduser/HBASE/zookeeper

Ở đây chúng tôi đang đặt hai thuộc tính

  • Một cho thư mục gốc HBase và
  • Cái thứ hai cho thư mục dữ liệu tương ứng với ZooKeeper.

Tất cả các hoạt động của HMaster và ZooKeeper đều chỉ ra hbase-site.xml này.

Bước 6) Mở tệp máy chủ lưu trữ có trong / etc. vị trí và đề cập đến các IP như hình dưới đây.

Bước 7) Bây giờ chạy Start-hbase.sh ở vị trí hbase-1.1.1 / bin như hình dưới đây.

Và chúng ta có thể kiểm tra bằng lệnh jps để xem HMaster có đang chạy hay không.

Bước 8) Vỏ HBase có thể bắt đầu bằng cách sử dụng "hbase shell" và nó sẽ vào chế độ shell tương tác như thể hiện trong ảnh chụp màn hình bên dưới. Khi nó 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 daemon Hadoop khởi động. HBase có thể chạy độc lập.

Hbase - Chế độ cài đặt giả phân tán:

Đây là một phương pháp khác để cài đặt Apache Hbase, được gọi là chế độ cài đặt phân tán giả. Dưới đây là các bước để cài đặt HBase thông qua phương pháp này.

Bước 1) Đặt hbase-1.1.2-bin.tar.gz vào / home / hduser

Bước 2) Giải nén nó bằng cách thực hiện lệnh $ tar -xvf hbase-1.1.2-bin.tar.gz . Nó sẽ giải nén nội dung và nó sẽ tạo hbase-1.1.2 trong location / home / hduser

Bước 3) Mở hbase-env.sh như sau và đề cập đến đường dẫn JAVA_HOME và đường dẫn của máy chủ Vùng trong vị trí và xuất lệnh như được hiển thị

Bước 4) Trong bước này, chúng ta sẽ mở tệp ~ / .bashrc và đề cập đến đường dẫn HBASE_HOME như trong ảnh chụp màn hình.

Bước 5) Mở HBase-site.xml và đề cập đến các thuộc tính bên dưới trong tệp. (Mã như bên dưới)

hbase.rootdirhdfs://localhost:9000/hbase
hbase.cluster.distributedtrue
hbase.zookeeper.quorumlocalhost
dfs.replication1
hbase.zookeeper.property.clientPort2181
hbase.zookeeper.property.dataDir/home/hduser/hbase/zookeeper
  1. Thiết lập thư mục gốc Hbase trong thuộc tính này
  2. Để thiết lập phân tán, chúng tôi phải thiết lập thuộc tính này
  3. Thuộc tính túc số ZooKeeper nên được thiết lập tại đây
  4. Nhân rộng được thiết lập được thực hiện trong thuộc tính này. Theo mặc định, chúng tôi đặt bản sao là 1.

    Trong chế độ phân phối đầy đủ, có nhiều nút dữ liệu nên chúng tôi có thể tăng tính sao chép bằng cách đặt nhiều hơn 1 giá trị vào thuộc tính dfs.replication

  5. Cổng khách hàng nên được đề cập trong thuộc tính này
  6. Thư mục dữ liệu ZooKeeper có thể được đề cập trong thuộc tính này

Bước 6) Khởi động daemon Hadoop trước và sau đó khởi động daemon HBase như hình dưới đây

Tại đây, trước tiên bạn phải khởi động các daemon Hadoop bằng cách sử dụng lệnh "./start-all.sh" như được hiển thị bên dưới.

Sau khi khởi động daemon Hbase bằng hbase-start.sh

Bây giờ kiểm tra jps

Hbase - Cài đặt chế độ phân tán hoàn toàn: -

  • Thiết lập này sẽ hoạt động ở chế độ cụm Hadoop nơi nhiều nút sinh ra trên toàn cụm và đang chạy.
  • Việc cài đặt giống như chế độ phân phối giả; sự khác biệt duy nhất là nó sẽ xuất hiện 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ả.

Khắc phục sự cố cài đặt HBase

1) Tuyên bố sự cố: Máy chủ chính khởi tạo nhưng máy chủ vùng không khởi chạy

Giao tiếp giữa Master và máy chủ khu vực thông qua địa chỉ IP của chúng. Giống như cách Master sẽ lắng nghe rằng các máy chủ vùng đang chạy hoặc có địa chỉ IP là 127.0.0.1. Địa chỉ IP 127.0.0.1 là máy chủ cục bộ và phân giải thành máy chủ cục bộ của máy chủ chính.

Nguyên nhân:

Trong giao tiếp kép giữa máy chủ vùng và máy chủ, máy chủ vùng liên tục thông báo cho máy chủ chính về địa chỉ IP của chúng là 127.0.0.1.

Giải pháp:

  • Phải xóa nút tên máy chủ chính khỏi máy chủ cục bộ có trong tệp máy chủ
  • Vị trí tệp máy chủ / etc / hosts

Những gì cần thay đổi:

Mở /etc./hosts và đi đến vị trí này

127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost: : 1 localhost3.localdomain3 localdomain3

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) Tuyên bố sự cố: Không thể tìm thấy địa chỉ của tôi: XYZ trong danh sách các máy chủ túc số của Zookeeper

Nguyên nhân:

  • Máy chủ ZooKeeper không thể khởi động và nó sẽ gây ra lỗi như .xyz trong tên của máy chủ.
  • HBase cố gắng khởi động máy chủ ZooKeeper trên một số máy nhưng đồng thời máy không thể tự tìm thấy cấu hình túc số tức là có trong tệp cấu hình HBase.zookeeper.quorum .

Giải pháp:-

  • Phải 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
  • Giả sử chúng ta đang có máy chủ DNS thì chúng ta có thể đặt các cấu hình dưới đây trong HBase-site.xml.
    • HBase.zookeeper.dns.interface
    • HBase.zookeeper.dns.nameserver

3) Tuyên bố sự cố: Đã tạo Thư mục gốc cho HBase thông qua Hadoop DFS

  • Master nói rằng bạn cần chạy tập lệnh di chuyển HBase.
  • Khi chạy nó , tập lệnh di chuyển HBase phản hồi như không có tệp nào trong thư mục gốc .

Nguyên nhân:

  • Tạo thư mục mới cho HBase bằng hệ thống tệp phân tán Hadoop
  • Ở đây HBase mong đợi hai khả năng

1) Thư mục gốc không tồn tại

2) Phiên bản chạy trước của HBase được khởi tạo trước đó

Giải pháp:

  • Đảm bảo sự phù hợp thư mục gốc HBase hiện không tồn tại hoặc đã được khởi tạo bởi một phiên bản HBase trước đó.
  • Là một phần của giải pháp, chúng tôi phải làm theo các bước

Bước 1) Sử dụng dfs Hadoop để xóa thư mục gốc HBase

Bước 2) HBase tự tạo và khởi tạo thư mục

4) Tuyên bố sự cố: Các sự kiện phiên Zookeeper đã hết hạn

Nguyên nhân:

  • Máy chủ HMaster hoặc HRegion ngừng hoạt động bằng cách ném Ngoại lệ
  • Nếu chúng ta quan sát nhật ký, chúng ta có thể tìm ra các trường hợp ngoại lệ thực tế đã gây ra

Phần sau cho thấy ngoại lệ được ném ra do sự kiện Zookeeper đã hết hạn. Các sự kiện được đánh dấu là một số trường hợp ngoại lệ xảy ra trong tệp nhật ký

Mã tệp nhật ký như hiển thị bên dưới:

WARN org.apache.zookeeper.ClientCnxn: Exceptionclosing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ecjava.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: 5000INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORTINFO 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 successfulWARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65ejava.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:

  • Kích thước RAM mặc định là 1 GB. Để thực hiện nhập khẩu lâu dài, chúng tôi đã duy trì dung lượng RAM hơn 1 GB.
  • Phải tăng thời gian chờ phiên cho Zookeeper.
  • Để tăng thời gian phiên ngoài Zookeeper, chúng tôi phải sửa đổi thuộc tính sau trong "hbase-site.xml" có trong đường dẫn thư mục hbase / conf.
  • Thời gian chờ của phiên mặc định là 60 giây. Chúng tôi có thể thay đổi nó thành 120 giây như đã đề cập bên dưới
 zookeeper.session.timeout 1200000
 hbase.zookeeper.property.tickTime 6000