Невозможно подключиться к таблице HBase с помощью Java - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь подключиться к Hbase (версия: 1.2.0), развернутой на другом компьютере. Я использую Eclipse, и ниже приведен код, который я написал:

HTable table = null;
Configuration configuration = HBaseConfiguration.create();
configuration.set("hbase.zookeeper.quorum", "192.168.0.191");
configuration.set("hbase.zookeeper.property.clientPort", "2181");
FilterList list = new FilterList(FilterList.Operator.MUST_PASS_ALL);
table = new HTable(configuration, hbaseTable);

Ниже приведены зависимости, которые я добавил в pom.xml:

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>1.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-core</artifactId>
            <version>1.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

При выполнении кода я получаю следующее исключение:

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.conf.Configuration.addDeprecations([Lorg/apache/hadoop/conf/Configuration$DeprecationDelta;)V
    at org.apache.hadoop.mapreduce.util.ConfigUtil.addDeprecatedKeys(ConfigUtil.java:54)
    at org.apache.hadoop.mapreduce.util.ConfigUtil.loadResources(ConfigUtil.java:42)
    at org.apache.hadoop.mapred.JobConf.<clinit>(JobConf.java:119)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:810)
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:80)
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:64)
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
    at org.apache.hadoop.security.Groups.<init>(Groups.java:48)
    at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:140)
    at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:134)
    at org.apache.hadoop.hbase.security.UserProvider.<clinit>(UserProvider.java:56)
    at org.apache.hadoop.hbase.client.HConnectionKey.<init>(HConnectionKey.java:71)
    at org.apache.hadoop.hbase.client.ConnectionManager.getConnectionInternal(ConnectionManager.java:298)
    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:184)
    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:150)
    at HbaseConnection.createConnection(HbaseConnection.java:34)
    at HbaseConnection.main(HbaseConnection.java:22)

Я пролистал различные ссылки, связанные с похожей проблемой, но я не смог найти никакого работающего решения. Может кто-нибудь помочь с проблемой в моей конфигурации или в моем коде?

...