当前位置: 首页 > 知识库问答 >
问题:

使用键“null”未找到HBase配置

顾均
2023-03-14
java.lang.IllegalArgumentException: HBase configuration not found using key 'null'
at org.apache.storm.hbase.bolt.AbstractHBaseBolt.prepare(AbstractHBaseBolt.java:60) 
<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <transformers>
                    <transformer
                        implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer">
                    </transformer>
                </transformers>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.2.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <executable>java</executable>
                <includeProjectDependencies>true</includeProjectDependencies>
                <includePluginDependencies>false</includePluginDependencies>
                <classpathScope>compile</classpathScope>
                <mainClass>${storm.topology}</mainClass>
            </configuration>
        </plugin>
    </plugins>
    <resources>
        <resource>
            <directory>${basedir}/conf</directory>
            <filtering>false</filtering>
            <includes>
                <include>hbase-site.xml</include>
            </includes>
        </resource>
    </resources>

共有1个答案

鲜于宜修
2023-03-14

将hbase配置参数传递给拓扑。

public static final String HBASE_CONFIG_KEY = "hbase.conf";

1)在storm config中添加新设置HBASE_CONFIG_KEY。

Config config = new Config();
String rootDir = topologyConfig.getProperty("hbase.rootdir");
Map<String, Object> hbConf = new HashMap<>();
hbConf.put("hbase.rootdir", rootDir);
config.put(HBASE_CONFIG_KEY, hbConf);
StormSubmitter.submitTopology(topologyName, config, buildTopology());

2)在Hbase Bolt配置中设置配置键HBASE_CONFIG_KEY

HBaseBolt hBaseBolt = new HBaseBolt(topologyConfig.getProperty(CFG_HBASE_BOLT_TABLE_NAME), new  CbossCdrRecordMapper())
            .withConfigKey(HBASE_CONFIG_KEY)
            .withBatchSize(1000)
            .withFlushIntervalSecs(flushInterval)
            .withBatchSize(Integer.valueOf(topologyConfig.getProperty(CFG_HBASE_BOLT_BATCH_SIZE)));
 类似资料:
  • 我正在学习akka-remoting,这是我的项目看起来 项目结构如下所示 当我在上运行我的项目时,我看到 我错过了什么?谢谢

  • 我更新了我的尝试,将一些内容保留为CHAR,但仍然得到一个类似的错误:第1行错误:ORA-02091:事务回滚ORA-02291:违反完整性约束(MMM1339.ITEMNO_PHAR_FK)-未找到父密钥 需求的外键都在不同的供应主键中有值,所以我不确定为什么仍然存在问题。

  • 我将在7周内浏览7个数据库。 在 PostgreSQL 中,我创建了一个具有串行venue_id列的地点表。 < code>\d场馆的输出 下一步是创建一个用外键引用venue_id的事件表。 我在尝试这个: 我得到这个错误: 怎么了?

  • 问题内容: 输出: 问题答案: 您将获得“ ”警告,如果你没有一个文件在你的主目录,或者如果你不指定pylint的说法。 要取消显示该消息,请在* nix上:

  • 1、HBase版本hbase-0.20.5,Hadoop的版本hadoop-0.20.2,JDK1.6 2、如果想通过MR对hbase进行一些操作,首先是需要做一些配置内容的,配置的流程如下: a、默认安装完成了hadoop和hbase b、首先引入环境变量(修改/etc/profile文件,在文件末尾追加下面内容): # set java environment export JAVA_HOME

  • 这是我的配置文件: 日志配置文件读起来非常清楚,因为它使用my/log目录中定义的模式正确地写入。 这是我在代码中实例化它的方式: