Bài đăng nổi bật

Hướng dẫn thay đổi thư mục root mặc định của Docker trên Linux

Hoàn cảnh: người viết gặp một trường hợp như này Được team hạ tầng cấp cho một máy chủ gồm 2 phân vùng lưu trữ, 1 phân vùng 20GB được gắn và...

12 tháng 11, 2016

Hướng dẫn cài đặt Hbase ở chế độ Distributed

Tiếp tục loạt bài hướng dẫn làm quen với BigData, hôm nay tôi sẽ hướng dẫn các bạn cách cài đặt Hbase.
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.gz
Thê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/var
Lư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.
Tiếp tục sửa nội dung tập tin /opt/hbase/conf/hbase-site.xml và thêm vào nội dung sau;

        
                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.
Mở tập tin /opt/hbase/conf/regionservers trên tất cả các node của Hbase và thêm nội dung sau:
node1
node2
Trong đó 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 

11 nhận xét:

  1. Tham khảo thêm:
    http://www.guru99.com/hbase-installation-guide.html

    Trả lờiXóa
  2. ./hbase-daemon.sh start thrift -p 9191

    Trả lờiXóa
  3. Cài Hive:
    http://support.miritech.com/blog/how-to-install-apache-hive-with-hadoop-on-centos-6-7/

    Trả lờiXóa
    Trả lời
    1. Sửa lỗi không thể khởi tạo meta db cho Hive:
      http://stackoverflow.com/questions/35655306/hive-installation-issues-hive-metastore-database-is-not-initialized

      Xóa
    2. phân quyền truy cập cho tài khoản nào đó trên hive:
      http://stackoverflow.com/questions/36909002/authorizationexception-user-not-allowed-to-impersonate-user.
      Dùng beeline để truy cập hive.
      Lưu ý muốn có web cho hive thì phải dùng file hive-default.xml

      Xóa
    3. Cài đặt Hive với Hbase:
      https://acadgild.com/blog/integrating-hive-with-hbase/
      http://hadooptutorial.info/hbase-integration-with-hive/#Setup_for_HBase_Integration_with_Hive

      Xóa
    4. Nhận xét này đã bị tác giả xóa.

      Xóa
    5. Phải có thêm cấu hình sau thì beeline mới kết nối vào hbase được:
      https://community.cloudera.com/t5/Storage-Random-Access-HDFS/Create-HBASE-Table-using-Beeline/td-p/8636
      hadoop.proxyuser.hive.hosts = *
      hadoop.proxyuser.hive.groups = *

      Xóa
  4. Lưu ý là các giá trị trong phải là cungf một dòng, không được xuống dòng.

    Trả lờiXóa
  5. Lưu ý là các server phải đôngf bộ về mặt thời gian.
    Nếu có nhiều quorum server thì trên các node không phải là master phải chỉ định vị trí của quorum server

    Trả lờiXóa
  6. Hay quá anh ơi. Em đang định lab hadoop xem thế nào nhưng chưa biết áp dụng vào thực tế anh à

    Trả lờiXóa