Cách cài đặt HBase trên Ubuntu (Cài đặt HBase)
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ó chạy chống lại hệ thống tập tin cục bộ
- Nó không sử dụng Hadoop HDFS
- Chỉ daemon HMaster mới có thể chạy
- Không nên dùng cho môi trường sản xuất
- Chạy trong một JVM
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ả Daemon chạy trong một nút duy nhất
- Đề xuất cho môi trường sản xuất
3) Cài đặt chế độ phân phối đầy đủ (Môi trường MultinodeHadoop + cài đặt HBase)
- Nó chạy trên Hadoop HDFS
- Tất cả các trình nền 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 Đây
Cách tải xuống tệp tar HBase phiên bản ổn định
Bước 1) Đi đến liên kết vào đâ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 tập tin tar. 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 chế độ độc lập HBase trong Ubuntu:
Bước 1) Đặt lệnh bên dưới
Đặ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à tạo hbase-1.1.2 ở vị trí /home/hduser
Bước 3) Mở hbase-env.sh
Mở hbase-env.sh như bên dưới và đề cập đến đường dẫn JAVA_HOME ở vị trí đó.
Bước 4) Mở file và đề cập đến đường dẫn
Mở tệp ~/.bashrc và đề cập đến đường dẫn HBASE_HOME như bên dưới
xuất HBASE_HOME=/home/hduser/hbase-1.1.1 xuất PATH= $PATH:$HBASE_HOME/bin |
Bước 5) Thêm thuộc tính vào tệp
Mở hbase-site.xml và đặt các thuộc tính sau vào 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>
Ở đâ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 trỏ đến hbase-site.xml này.
Bước 6) Đề cập đến IP
Mở tệp máy chủ có trong /etc. vị trí và đề cập đến các IP như hiển thị bên dưới.
Bước 7) Bây giờ hãy chạy Start-hbase.sh ở vị trí hbase-1.1.1/bin như hiển thị bên dưới.
Và chúng ta có thể kiểm tra bằng lệnh jps xem HMaster có chạy hay không.
Bước 8) Khởi động HBase Shell
Shell HBase có thể bắt đầu bằng cách sử dụng “vỏ cơ sở” và nó sẽ chuyển sang chế độ shell tương tác như trong ảnh chụp màn hình bên dưới. Khi nó chuyển sang 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 phân tán giả.
Dưới đây là các bước để cài đặt HBase thông qua chế độ Phân phối giả:
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 thi command$tar -xvf hbase-1.1.2-bin.tar.gz. Nó sẽ giải nén nội dung và tạo hbase-1.1.2 ở vị trí /home/hduser
Bước 3) Mở hbase-env.sh như sau và đề cập đến đường dẫn JAVA_HOME và đường dẫn máy chủ khu vực 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)
<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>
- Thiết lập thư mục gốc Hbase trong thuộc tính này
- Để thiết lập phân tán, chúng ta phải đặt thuộc tính này
- Thuộc tính đại biểu ZooKeeper nên được thiết lập ở đây
- Thiết lập sao ché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. Ở chế độ phân phối đầy đủ, có nhiều nút dữ liệu để chúng tôi có thể tăng khả năng sao chép bằng cách đặt nhiều hơn 1 giá trị vào thuộc tính dfs.replication
- Cổng khách hàng nên được đề cập trong thuộc tính này
- 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 trình nền Hadoop trước và sau đó khởi động trình nền HBase như hiển thị bên dưới
Ở đây trước tiên bạn phải khởi động daemon của Hadoop bằng cách sử dụng“./start-all.sh” lệnh như hình dưới đây.
Sau khi khởi động trình nền Hbase bằng hbase-start.sh
Bây giờ hãy kiểm tra jps
Cài đặt chế độ phân phối hoàn toàn HBase
- Thiết lập này sẽ hoạt động ở chế độ cụm Hadoop nơi nhiều nút xuất hiện trê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 ở chế độ giả.
Khắc phục sự cố cài đặt HBase
1) Tuyên bố vấn đề: Máy chủ chính khởi tạo nhưng máy chủ khu vực không khởi tạo
Giao tiếp giữa máy chủ Master và khu vực thông qua địa chỉ IP của họ. Giống như cách Master sẽ lắng nghe các máy chủ khu vực đ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ủ khu vực và máy chủ chính, máy chủ khu vực liên tục thông báo cho máy chủ Master về địa chỉ IP của họ 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ố vấn đề: Không thể tìm thấy địa chỉ của tôi: XYZ trong danh sách máy chủ đại diện của Zookeeper
Nguyên nhân:
- Máy chủ ZooKeeper không thể khởi động và nó sẽ đưa ra lỗi như .xyz trong tên 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ìm thấy cấu hình đại biểu tức là có trong HBase.zookeeper.quorum tập tin cấu hình.
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 bên dưới trong HBase-site.xml.
- HBase.zookeeper.dns.interface
- HBase.zookeeper.dns.nameserver
3) Tuyên bố vấn đề: 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 cái đó, 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 cách sử dụng Hadoop Hệ thống tệp phân tán
- Ở đâ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 rằng thư mục gốc HBase hiện không tồn tại hoặc đã được khởi tạo bởi lần chạy 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 của 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ố vấn đề: Phiên Zookeeper đã hết hạn sự kiện
Nguyên nhân:
- Máy chủ HMaster hoặc HRegion tắt 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ế đã ném
Sau đây là ngoại lệ được ném ra do sự kiện hết hạn của Zookeeper. Các sự kiện được tô sáng là một số 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: 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:
- Kích thước RAM mặc định là 1 GB. Để thực hiện quá trình nhập trong thời gian dài, chúng tôi đã duy trì dung lượng RAM trên 1 GB.
- Phải tăng thời gian chờ của phiên cho Zookeeper.
- Để tăng thời gian phiên làm việc của Zookeeper, chúng ta 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ờ phiên mặc định là 60 giây. Chúng ta có thể thay đổi thành 120 giây như được đề cập 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>