Что эквивалентно конфигурации hdp: в аннотации Spring Boot?

1

Я хочу использовать HBase с весной. В документации, которую я вижу, есть что-то, что говорит:

<hdp:configuration>
        fs.default.name=${hd.fs}
        mapred.job.tracker=${mapred.job.tracker}
        hbase.zookeeper.quorum=${hbase.zookeeper.quorum}
</hdp:configuration>

Как я могу программно использовать это в своем приложении Application.java? Кажется, нет образца или документации о том, как использовать HBaseTemplate для подключения к hbase. Рассмотрение следующего репозитория, как рекомендовано в другом сообщении, не имеет примеров, связанных с hbase:

https://github.com/spring-projects/spring-hadoop-samples

Теги:
spring
hbase

3 ответа

0

Я знаю, что вопрос старый, но я просто столкнулся с этим и смог его решить. Внедрение SpringHadoopConfigurerAdapter как:

@Configuration
@EnableHadoop
public class HadoopConfiguration extends SpringHadoopConfigurerAdapter {
    @Autowired
    private ResourceLoader resourceLoader;

    @Override
    public void configure(HadoopConfigConfigurer config) throws Exception {

        org.apache.hadoop.conf.Configuration conf = getHadoopConfig("classpath:/mapred-site.xml");

        config
                .withResources()
                .resource("classpath:/yarn-site.xml")
                .resource("classpath:/hbase-site.xml")
                .resource("classpath:/mapred-site.xml")
                .and()
                .withProperties()
                .property("mapreduce.app-submission.cross-platform", "true")
                .property("mapreduce.framework.name", "yarn")
                .property("mapreduce.application.framework.path", "")
                .property("mapreduce.map.log.level", "INFO")
                .property("mapreduce.reduce.log.level", "INFO")
                .property("hbase.client.scanner.caching", "1")
                .property("hbase.client.scanner.timeout.period", "300000")
                .property("hbase.rpc.timeout", "300000");

    }

    private org.apache.hadoop.conf.Configuration getHadoopConfig(String mrSiteFile) throws IOException {
        Resource mapRedSite = resourceLoader.getResource(mrSiteFile);
        org.apache.hadoop.conf.Configuration conf = new org.apache.hadoop.conf.Configuration();
        conf.addResource(mapRedSite.getInputStream());
        return conf;
    }
}

Затем вы сможете ввести HadoopConfiguration:

@Autowired
org.apache.hadoop.conf.Configuration hadoopConfiguration;
0

В настоящее время я не нашел конфигурацию на основе аннотации для hdp: configuration, но вместо этого для моего проекта Spring-Hadoop я создал xml для конфигурации haddop как hasoop-context.xml и импортировал его в Config.java, как показано ниже

    @Configuration
    @ImportResource ( "hadoop-context.xml")
    public class Config
    {

     @Autowired
     private org.apache.hadoop.conf.Configuration hadoopConfiguration;
    }

Скорее всего, это поможет в вашем случае решить проблему.

0

Вы взглянули на это: http://docs.spring.io/spring-hadoop/docs/2.0.1.RELEASE/reference/html/hbase.html? Я считаю, что это дает вам эквивалент конфигурации HBaseConfiguration. Вы также можете добавить свои объекты. Отправляйте назад, если это не поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню