溫馨提示×

centos hbase如何實現實時查詢

小樊
48
2025-05-17 07:24:05
欄目: 智能運維

在CentOS上實現HBase的實時查詢,可以通過以下步驟來完成:

1. 安裝和配置HBase

安裝HBase

  1. 下載HBase

    wget https://archive.apache.org/dist/hbase/2.4.9/hbase-2.4.9-bin.tar.gz
    
  2. 解壓并移動到合適的位置

    tar -zxvf hbase-2.4.9-bin.tar.gz
    mv hbase-2.4.9 /opt/hbase
    
  3. 配置環境變量: 編輯/etc/profile.d/hbase.sh文件,添加以下內容:

    export HBASE_HOME=/opt/hbase
    export PATH=$PATH:$HBASE_HOME/bin
    

    然后使配置生效:

    source /etc/profile.d/hbase.sh
    

配置HBase

  1. 編輯hbase-site.xml: 在$HBASE_HOME/conf目錄下編輯hbase-site.xml文件,添加以下配置:

    <configuration>
        <property>
            <name>hbase.rootdir</name>
            <value>hdfs://namenode:8020/hbase</value>
        </property>
        <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>
        <property>
            <name>hbase.zookeeper.quorum</name>
            <value>zookeeper1,zookeeper2,zookeeper3</value>
        </property>
        <property>
            <name>hbase.zookeeper.property.dataDir</name>
            <value>/var/lib/zookeeper</value>
        </property>
    </configuration>
    
  2. 編輯core-site.xml: 在$HBASE_HOME/conf目錄下編輯core-site.xml文件,添加以下配置:

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://namenode:8020</value>
        </property>
    </configuration>
    
  3. 編輯hdfs-site.xml: 在$HBASE_HOME/conf目錄下編輯hdfs-site.xml文件,添加以下配置:

    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>3</value>
        </property>
    </configuration>
    

2. 啟動HBase集群

  1. 格式化HDFS(如果尚未格式化):

    hdfs namenode -format
    
  2. 啟動HDFS

    start-dfs.sh
    
  3. 啟動Zookeeper

    $HBASE_HOME/bin/start-zookeeper.sh
    
  4. 啟動HBase Master

    $HBASE_HOME/bin/start-master.sh
    
  5. 啟動HBase RegionServer: 在其他節點上執行:

    $HBASE_HOME/bin/start-regionserver.sh
    

3. 創建表并插入數據

  1. 創建表

    hbase shell
    create 'my_table', 'cf1'
    
  2. 插入數據

    put 'my_table', 'row1', 'cf1:col1', 'value1'
    

4. 實時查詢

使用HBase Shell進行實時查詢

  1. 打開HBase Shell

    hbase shell
    
  2. 掃描表

    scan 'my_table'
    

使用Java API進行實時查詢

  1. 添加依賴: 在你的Java項目中添加HBase客戶端依賴:

    <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-client</artifactId>
        <version>2.4.9</version>
    </dependency>
    
  2. 編寫Java代碼

    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.TableName;
    import org.apache.hadoop.hbase.client.Connection;
    import org.apache.hadoop.hbase.client.ConnectionFactory;
    import org.apache.hadoop.hbase.client.Result;
    import org.apache.hadoop.hbase.client.Scan;
    import org.apache.hadoop.hbase.client.Table;
    import org.apache.hadoop.hbase.util.Bytes;
    
    public class HBaseRealTimeQuery {
        public static void main(String[] args) throws Exception {
            Configuration config = HBaseConfiguration.create();
            config.set("hbase.zookeeper.quorum", "zookeeper1,zookeeper2,zookeeper3");
            config.set("hbase.zookeeper.property.clientPort", "2181");
    
            try (Connection connection = ConnectionFactory.createConnection(config)) {
                Table table = connection.getTable(TableName.valueOf("my_table"));
                Scan scan = new Scan();
                ResultScanner scanner = table.getScanner(scan);
    
                for (Result result : scanner) {
                    System.out.println(result);
                }
            }
        }
    }
    

通過以上步驟,你可以在CentOS上實現HBase的實時查詢。根據具體需求,你可以選擇使用HBase Shell或Java API進行查詢。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女