Интеграция wso2 BAM с внешней cassandra

Я пытаюсь интегрировать внешнюю кассандру в BAM. Я изменил cassandra-component.xml.

1) Я хочу знать, как создается пространство ключей на внешней кассандре, потому что, когда я запускаю BAM, я получаю сообщение об ошибке Unknown keyspace EVENT_KS.

2) У меня есть следующая ошибка в моих журналах wso2

TID: [0] [BAM] [2014-02-11 15:28:30,905]  WARN {org.apache.hadoop.mapred.JobClient} -  Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same. {org.apache.hadoop.mapred.JobClient}

TID: [0] [BAM] [2014-02-11 15:37:04,393] ERROR {org.apache.hadoop.hive.ql.exec.ExecDriver} -  Job Submission failed with exception 'java.lang.RuntimeException(org.apache.thrift.transport.TTransportException)'
java.lang.RuntimeException: org.apache.thrift.transport.TTransportException

    at org.apache.cassandra.hadoop.ColumnFamilyInputFormat.getRangeMap(ColumnFamilyInputFormat.java:297)

    at org.apache.cassandra.hadoop.ColumnFamilyInputFormat.getSplits(ColumnFamilyInputFormat.java:105)

    at org.apache.hadoop.hive.cassandra.input.HiveCassandraStandardColumnInputFormat.getSplits(HiveCassandraStandardColumnInputFormat.java:291)

    at org.apache.hadoop.hive.cassandra.input.HiveCassandraStandardColumnInputFormat.getSplits(HiveCassandraStandardColumnInputFormat.java:216)

    at org.apache.hadoop.hive.ql.io.HiveInputFormat.getSplits(HiveInputFormat.java:302)

    at org.apache.hadoop.hive.ql.io.CombineHiveInputFormat.getSplits(CombineHiveInputFormat.java:292)

    at org.apache.hadoop.mapred.JobClient.writeOldSplits(JobClient.java:933)

    at org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:925)

    at org.apache.hadoop.mapred.JobClient.access$500(JobClient.java:170)

    at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:839)

    at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:792)

    at java.security.AccessController.doPrivileged(Native Method)

    at javax.security.auth.Subject.doAs(Subject.java:415)

    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1123)

    at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:792)

    at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:766)

    at org.apache.hadoop.hive.ql.exec.ExecDriver.execute(ExecDriver.java:460)

    at org.apache.hadoop.hive.ql.exec.ExecDriver.main(ExecDriver.java:733)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:606)

    at org.apache.hadoop.util.RunJar.main(RunJar.java:156)

Caused by: org.apache.thrift.transport.TTransportException

person user3189802    schedule 11.02.2014    source источник


Ответы (4)


Насколько я помню, EVENT_KS создается только после публикации самого первого события в BAM. Если вы попытаетесь получить к нему доступ до создания, могут возникнуть ошибки.

person Maninda    schedule 11.02.2014

В BAM 2.4.0 событие EVENT_KS создается при первом запуске BAM. (Но в предыдущих версиях EVENT_KS будет создан, когда самое первое событие будет опубликовано в BAM). Пожалуйста, убедитесь, что ваш cassandra-component.xml выглядит примерно так, как показано ниже. Также расскажите нам о версии cassandra, которую вы используете.

<Cassandra><Cluster>
    <Name>Test Cluster</Name>
    <DefaultPort>9160</DefaultPort>
    <Nodes>localhost:9160</Nodes>
    <AutoDiscovery disable="false" delay="1000"/>
</Cluster></Cassandra>
person Inosh Goonewardena    schedule 11.02.2014
comment
Кассандра версия 2.0.5 - person user3189802; 12.02.2014

Сначала Вам необходимо проверить следующее:

  1. Вы правильно указали cassandra-component.xml на внешнюю cassandra. При этом ваши опубликованные данные будут храниться в предполагаемой внешней базе данных cassandra.
  2. Вы установили набор инструментов с предполагаемым определением потока внутри? Или еще вы инициировали публикацию данных в BAM? В обоих случаях EVENT_KS будет создан с семейством столбцов с именем потока.
  3. Вы изменили $BAM_HOME/repository/conf/datasource/master-datasource.xml, чтобы он указывал на внешнюю базу данных cassandra? Вам необходимо проверить конфигурацию базы данных cassandra, указанную в источнике данных WSO2BAM_CASSANDRA_DATASOURCE. Для наборов инструментов по умолчанию это используемый по умолчанию источник данных cassandra, и по умолчанию он указывает на локальный хост. Если вы используете это в своем сценарии куста, вам необходимо изменить эту конфигурацию.
person Sinthuja    schedule 12.02.2014

Приложив много усилий, я понял, что после изменения каталога данных cassendra.yaml внешней cassandra на репозиторий/базу данных/cassandra/data все работает нормально с внешней cassandra. Не говоря уже о версии 1.1.3. Я хочу знать, есть ли какая-либо другая работа для этой внешней конфигурации cassandra.

person user3189802    schedule 14.02.2014
comment
Чтобы убедиться, что все работает нормально, опубликуйте некоторые данные, запустив один из примеров[1], и проверьте, правильно ли выполняются запросы куста. Если запросы hive выполняются без проблем, а сводные результаты отображаются на информационных панелях, значит, все готово. [1] – docs.wso2.org/display/BAM240/Analysing+HTTPD+ Журналы - person Inosh Goonewardena; 15.02.2014