spring xd job для создания таблицы куста

Я пытаюсь создать задание для spring xd, чтобы можно было создать таблицу кустов. Я пробовал следующее, но это не работает. Любая помощь ?

<hdp:configuration>
        fs.default.name=hdfs://sandbox:8020
    </hdp:configuration>
    <hdp:hive-server port="10000" auto-startup="true" properties-location="${xd.config.home}/hive-server.properties" configuration-ref="hadoopConfiguration">
    </hdp:hive-server>
    <!-- basic Hive driver bean -->
    <bean id="hive-driver" class="org.apache.hadoop.hive.jdbc.HiveDriver"/>
    <bean id="hive-ds" class="org.springframework.jdbc.datasource.SimpleDriverDataSource"
       c:driver-ref="hive-driver" c:url="jdbc:hive://localhost:10000/default"/>
   <!-- standard JdbcTemplate declaration -->
    <bean id="template" class="org.springframework.jdbc.core.JdbcTemplate" c:data-source-ref="hive-ds"/>
    <bean class="org.springframework.batch.core.scope.StepScope">
        <property name="proxyTargetClass" value="true" />
    </bean>
    <hdp:hive-runner id="hiveRunner" hive-client-factory-ref="hiveClientFactory" run-at-startup="true">
   <hdp:script>
     DROP TABLE IF EXISTS testHiveBatchTable; 
     CREATE TABLE testHiveBatchTable (key int, value string);
   </hdp:script>
</hdp:hive-runner>
<hdp:hive-client-factory host="localhost" port="10000" id="hiveClientFactory">

</hdp:hive-client-factory>
<hdp:hive-template />
    <batch:job id="job" restartable="true">

        <batch:step id="createhivetable">
            <hdp:hive-tasklet id="createhivetable-tasklet" hive-client-factory-ref="hiveClientFactory" >
        <hdp:script>
            DROP TABLE IF EXISTS testHiveBatchTable;
            CREATE TABLE testHiveBatchTable (key int, value string);
        </hdp:script>
    </hdp:hive-tasklet>
        </batch:step>
    </batch:job>

person abhineet    schedule 25.12.2014    source источник
comment
Какую ошибку вы получаете?   -  person Michael Minella    schedule 26.12.2014
comment
@MichaelMinella Как и в случае, я не вижу никаких исключений или ошибок, время развертывания задания истекает. Вот журнал xd: INFO Deployer server.JobDeploymentListener — статус развертывания для задания «testhivetable1»: )=Развертывание модуля 'ModuleDeploymentKey{stream='testhivetable1', type=job, label='createhivetable'}' в контейнере 'c01801f9-d221-4272-93ae-a7da1900d2c7' истекло через 30000 мс}   -  person abhineet    schedule 29.12.2014
comment
Эта проблема не имеет ничего общего с вашей работой и связана с тем, как вы настроили свой кластер Spring XD. Какой автобус вы используете? Один узел или кластер? Скорее всего, он пытался выполнить развертывание на неработающем узле.   -  person Michael Minella    schedule 29.12.2014
comment
@MichaelMinella Я понимаю это, но не вижу никаких проблем в настройке. Я использую один узел spring xd и песочницу Hortonworks. Также, чтобы убедиться в этом, я только что написал пример java-программы, основанной на Spring Hadoop. Я могу создать таблицу в Hive с той же конфигурацией Hive. Хотели бы вы увидеть какой-либо файл конфигурации или что-нибудь?   -  person abhineet    schedule 30.12.2014


Ответы (1)


Кажется, вы пытаетесь подключить сервер hive 2, если это так, у вас есть 2 проблемы.

  1. Ваш коннектор неправильный, он должен быть jdbc:hive2://localhost:10000/default
  2. На самом деле тасклет Hive не поддерживает подключение к серверу куста 2, поскольку HiveExecutor основан на HiveTemplate, который использует HiveClient (соединитель для сервера куста 1). В нашем случае мы реализовали класс, реализующий интерфейс Tasklet для запуска наших скриптов через HiveServer 2.
person hlagos    schedule 06.02.2015