Hbase là gì thì các bạn có thể tìm thông tin trên mạng.
Bài này được tóm tắt từ công việc thực tế của tác giả (mất 2 ngày ngồi ngẫm nghĩ và xử lý các vấn đề phát sinh) vì thế nên tỉ lệ cài thành công khá cao, nên nếu gặp lỗi thì chắc chắn bạn đã làm sai ở một bước nào đó.
Bài viết giả sử bạn đã cài đặt thành công Hadoop ở chế độ Distrubted từ trước.
1. Cài đặt HBase
Bạn có thể download bộ cài Hbase tại đây: http://www-us.apache.org/dist/hbase/
Tiến hành giải nén Hbase vào thư mục /opt/:
$ tar -xzf hbase-0.98.18-hadoop2-bin.tar.gzThêm biến môi trường vào tập tin ~/.bash_profile với nội dung sau:
export HBASE_HOME="/opt/hbase" export PATH="$HBASE_HOME/bin:$PATH"Kiểm tra xem đã cài đặt thành công chưa bằng lệnh:
hbase version
2. Cấu hình cho HBase
Sửa nội dung tập tin /opt/hbase/conf/hbase-env.sh với nội dung sau:
export JAVA_HOME=/usr/java/default export HBASE_MANAGES_ZK=true export HBASE_PID_DIR=/opt/hbase/varLưu ý:
- Nếu HBASE_MANAGES_ZK = true tức là ta không phải cài thêm zookeeper nữa mà HBase sẽ tự quản lý bằng Zookeeper của mình (Cài đặt ZooKeeper riêng như nào sẽ được giới thiệu trong một bài viết khác)
- HBASE_PID_DIR là thư mục đặt file pid của HBase, nếu chưa có thì phải tự tạo.
hbase.master sglamp.edumall.co.th:60000 hbase.master.info.port 60010 hbase.rootdir hdfs://sglamp.edumall.co.th:9000/hbase hbase.cluster.distributed true hbase.zookeeper.property.dataDir hdfs://sglamp.edumall.co.th:9000/zookeeper hbase.zookeeper.quorum sglamp2.edumall.co.th hbase.zookeeper.property.clientPort 2181 hbase.zookeeper.property.maxClientCnxns 1000
Lưu ý:
- Cần cấu hình thông tin hbase.master.info.port thì mới có web ui để xem, nếu muốn disable thì bỏ dong này đi.
- Số lượng Zookeeper quorum nên là số lẻ.
- hbase.cluster.distributed phải là true.
- hbase.master.info.port phải được để trên mọi file hbase-site.xml của các node.
node1 node2Trong đó nodex là hostname của tất cả các node trên Hbase.
3. Chạy Hbase
Để khởi động Hbase ta chạy lệnh sau:
/opt/hbase/bin/shServer.sh startĐể tắt Hbase ta chạy lệnh sau:
/opt/hbase/bin/shServer.sh stop