欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java連接Hbase的項(xiàng)目實(shí)踐

 更新時(shí)間:2024年01月11日 10:30:06   作者:楓葉梨花  
HBase是基于Hadoop的高可靠、高性能、面向列的NoSQL數(shù)據(jù)庫(kù),它提供了對(duì)海量數(shù)據(jù)的存儲(chǔ)和實(shí)時(shí)讀寫(xiě)的能力,本文主要介紹了Java連接Hbase的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下

我在網(wǎng)上試 了很多代碼,但是大部分都不能實(shí)現(xiàn),Java連接Hbase,一直報(bào)一個(gè)錯(cuò)

java.util.concurrent.ExecutionException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /hbase/hbaseid

一直也不清楚為什么。后面各種嘗試,最后嘗試出來(lái)了,能正常連接hbase,但是也不知道為啥能出來(lái),所以該代碼可能只能解決我自己的問(wèn)題,其他人的問(wèn)題請(qǐng)謹(jǐn)慎參考,不保證準(zhǔn)確與否,因?yàn)槲乙膊恢罏槭裁?????/p>

引入Jar,本公司使用的Hbase是2.0.2.1.7.x,所以我使用的Jar也是2.0.2版本 ,根據(jù)實(shí)際情況引入,然后還用了log4j2的日志

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.hbase</groupId>
    <artifactId>hbase-operation</artifactId>
    <version>0.0.1</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-server</artifactId>
            <version>2.0.2</version>
            <exclusions>
                <exclusion>
                    <artifactId>servlet-api</artifactId>
                    <groupId>javax.servlet</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>2.0.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.32</version>
        </dependency>

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.17.1</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.17.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>2.17.0</version>
            <exclusions>
                <exclusion>
                    <artifactId>log4j-api</artifactId>
                    <groupId>org.apache.logging.log4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>log4j-core</artifactId>
                    <groupId>org.apache.logging.log4j</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>slf4j-api</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.hbase.HbaseSearch</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

日志配置

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>

實(shí)際代碼

package com.hbase;

import lombok.extern.slf4j.Slf4j;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
import java.util.List;

/**
 * @author panlf
 * @date 2023/11/1
 */
@Slf4j
public class HbaseSearch {
    public static void main(String[] args) throws Exception {
        log.info("start111");
        // 創(chuàng)建HBase配置對(duì)象
        Configuration config = HBaseConfiguration.create();
        config.set("hbase.zookeeper.quorum", "fdp-master,fdp-slave1,fdp-slave2,fdp-slave3"); // 設(shè)置ZooKeeper地址
  	config.set("hbase.rootdir","hdfs://fdp-master:8020/apps/hbase/data");
        config.set("zookeeper.znode.parent","/hbase-unsecure");
        // 創(chuàng)建HBase連接
        Connection connection = ConnectionFactory.createConnection(config);
        Admin admin = connection.getAdmin();

        // 獲取所有表名
        List<TableDescriptor> tableDescriptors = admin.listTableDescriptors();
        for (TableDescriptor tableDescriptor : tableDescriptors) {
            System.out.println("表名: " + Bytes.toString(tableDescriptor.getTableName().getName()));
        }
        System.out.println("over");

        // 關(guān)閉資源
        admin.close();
        connection.close();
    }
}

到此這篇關(guān)于Java連接Hbase的項(xiàng)目實(shí)踐的文章就介紹到這了,更多相關(guān)Java連接Hbase內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決Java?結(jié)構(gòu)化數(shù)據(jù)處理開(kāi)源庫(kù)?SPL的問(wèn)題

    解決Java?結(jié)構(gòu)化數(shù)據(jù)處理開(kāi)源庫(kù)?SPL的問(wèn)題

    這篇文章主要介紹了Java?結(jié)構(gòu)化數(shù)據(jù)處理開(kāi)源庫(kù)?SPL的問(wèn)題,Scala提供了較豐富的結(jié)構(gòu)化數(shù)據(jù)計(jì)算函數(shù),但編譯型語(yǔ)言的特點(diǎn),也使它不能成為理想的結(jié)構(gòu)化數(shù)據(jù)計(jì)算類(lèi)庫(kù),對(duì)此內(nèi)容感興趣的朋友一起看看吧
    2022-03-03
  • Java 8 動(dòng)態(tài)類(lèi)型語(yǔ)言L(fǎng)ambda表達(dá)式實(shí)現(xiàn)原理解析

    Java 8 動(dòng)態(tài)類(lèi)型語(yǔ)言L(fǎng)ambda表達(dá)式實(shí)現(xiàn)原理解析

    Java 8支持動(dòng)態(tài)語(yǔ)言,看到了很酷的Lambda表達(dá)式,對(duì)一直以靜態(tài)類(lèi)型語(yǔ)言自居的Java,讓人看到了Java虛擬機(jī)可以支持動(dòng)態(tài)語(yǔ)言的目標(biāo)。接下來(lái)通過(guò)本文給大家介紹Java 8 動(dòng)態(tài)類(lèi)型語(yǔ)言L(fǎng)ambda表達(dá)式實(shí)現(xiàn)原理分析,需要的朋友可以參考下
    2017-02-02
  • SpringMVC異常處理器編寫(xiě)及配置

    SpringMVC異常處理器編寫(xiě)及配置

    這篇文章主要介紹了SpringMVC異常處理器編寫(xiě)及配置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Mybatis批量修改時(shí)出現(xiàn)報(bào)錯(cuò)問(wèn)題解決方案

    Mybatis批量修改時(shí)出現(xiàn)報(bào)錯(cuò)問(wèn)題解決方案

    這篇文章主要介紹了Mybatis批量修改時(shí)出現(xiàn)報(bào)錯(cuò)問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Mybatis-Plus中update()和updateById()將字段更新為null

    Mybatis-Plus中update()和updateById()將字段更新為null

    本文主要介紹了Mybatis-Plus中update()和updateById()將字段更新為null,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • springBoot整合RocketMQ及坑的示例代碼

    springBoot整合RocketMQ及坑的示例代碼

    這篇文章主要介紹了springBoot整合RocketMQ及坑的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Java如何獲取真實(shí)請(qǐng)求IP

    Java如何獲取真實(shí)請(qǐng)求IP

    這篇文章主要介紹了Java如何獲取真實(shí)請(qǐng)求IP問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • java文件操作代碼片斷實(shí)例實(shí)現(xiàn)統(tǒng)計(jì)文件中字母出現(xiàn)的個(gè)數(shù)功能

    java文件操作代碼片斷實(shí)例實(shí)現(xiàn)統(tǒng)計(jì)文件中字母出現(xiàn)的個(gè)數(shù)功能

    本文介紹java讀文件實(shí)例,實(shí)現(xiàn)統(tǒng)計(jì)某一目錄下每個(gè)文件中出現(xiàn)的字母?jìng)€(gè)數(shù)、數(shù)字個(gè)數(shù)、空格個(gè)數(shù)及行數(shù),除此之外沒(méi)有其他字符,大家參考使用吧
    2014-01-01
  • Java實(shí)現(xiàn)基本排序算法的示例代碼

    Java實(shí)現(xiàn)基本排序算法的示例代碼

    排序就是將一串記錄按照其中某個(gè)或某些關(guān)鍵字的大小,遞增或遞減的排列起來(lái)的操作。本文將用Java實(shí)現(xiàn)一些基本的排序算法,感興趣的可以了解一下
    2022-07-07
  • Java實(shí)現(xiàn)的n階曲線(xiàn)擬合功能示例

    Java實(shí)現(xiàn)的n階曲線(xiàn)擬合功能示例

    這篇文章主要介紹了Java實(shí)現(xiàn)的n階曲線(xiàn)擬合功能,結(jié)合實(shí)例形式分析了Java基于矩陣的多項(xiàng)式曲線(xiàn)擬合相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01

最新評(píng)論