Ошибка NoSuchObjectException WSO2 BAM Hive

Я настроил BAM 2.4.0, как указано в документе Мониторинг с использованием WSO2 BAM . Я использую MySQL.

Когда я пытаюсь запустить скрипт для удаления таблицы, как описано в разделе «Изменение базы данных статистики» из консоли управления BAM, я получаю эту ошибку. Есть идеи?

[2014-05-08 11:01:19,948] ERROR {hive.ql.metadata.Hive} -  NoSuchObjectException(message:default.APIFaultSummaryData table not found)
        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler$17.run(HiveMetaStore.java:1222)
        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler$17.run(HiveMetaStore.java:1217)
        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.executeWithRetry(HiveMetaStore.java:360)
        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table(HiveMetaStore.java:1217)
        at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:734)
        at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:901)
        at org.apache.hadoop.hive.ql.metadata.Hive.getTable(Hive.java:843)
        at org.apache.hadoop.hive.ql.exec.DDLTask.dropTable(DDLTask.java:3127)
        at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:250)
        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:129)
        at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:62)
        at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1351)
        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1126)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:934)
        at org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.execute(HiveServer.java:201)
        at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:187)
        at org.wso2.carbon.analytics.hive.impl.HiveExecutorServiceImpl$ScriptCallable.executeHiveQuery(HiveExecutorServiceImpl.java:569)
        at org.wso2.carbon.analytics.hive.impl.HiveExecutorServiceImpl$ScriptCallable.call(HiveExecutorServiceImpl.java:282)
        at org.wso2.carbon.analytics.hive.impl.HiveExecutorServiceImpl$ScriptCallable.call(HiveExecutorServiceImpl.java:189)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:724)

ОШИБКА ОБНОВЛЕНИЯ

[2014-05-08 13:58:00,004]  INFO {org.wso2.carbon.analytics.hive.task.HiveScriptExecutorTask} -  Running script executor task for script am_stats_analyzer_503. [Thu May 08 13:58:00 CEST 2014]
Hive history file=/u01/app/wso2bam-2.4.0/tmp/hive/wso2-querylogs/hive_job_log_root_201405081356_596525563.txt
OK
OK
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks not specified. Estimated from input data size: 1
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapred.reduce.tasks=<number>
[main] DEBUG org.apache.hadoop.hive.conf.HiveConf  - Using hive-site.xml found on CLASSPATH at /u01/app/wso2bam-2.4.0/repository/conf/advanced/hive-site.xml
log4j:WARN No appenders could be found for logger (org.apache.axiom.util.stax.dialect.StAXDialectDetector).
log4j:WARN Please initialize the log4j system properly.
Execution log at: /u01/app/wso2bam-2.4.0/repository/logs//wso2carbon.log
[2014-05-08 13:58:02,423]  WARN {org.apache.hadoop.mapred.JobClient} -  Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
[2014-05-08 13:58:03,779] ERROR {org.wso2.carbon.bam.notification.task.NotificationDispatchTask} -  Error executing notification dispatch task: Cannot borrow client for TCP,1.33.33.127:7612,TCP,1.33.33.127:7712
org.wso2.carbon.databridge.agent.thrift.exception.AgentException: Cannot borrow client for TCP,1.33.33.127:7612,TCP,1.33.33.127:7712
        at org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:58)
        at org.wso2.carbon.databridge.agent.thrift.DataPublisher.start(DataPublisher.java:273)
        at org.wso2.carbon.databridge.agent.thrift.DataPublisher.<init>(DataPublisher.java:211)
        at org.wso2.carbon.bam.notification.task.NotificationDispatchTask.initPublisherKS(NotificationDispatchTask.java:103)
        at org.wso2.carbon.bam.notification.task.NotificationDispatchTask.execute(NotificationDispatchTask.java:188)
        at org.wso2.carbon.ntask.core.impl.TaskQuartzJobAdapter.execute(TaskQuartzJobAdapter.java:67)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.thrift.transport.TTransportException: Could not connect to 1.33.33.127 on port 7712
        at org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:212)
        at org.apache.thrift.transport.TSSLTransportFactory.getClientSocket(TSSLTransportFactory.java:166)
        at org.wso2.carbon.databridge.agent.thrift.internal.pool.client.secure.SecureClientPoolFactory.makeObject(SecureClientPoolFactory.java:90)
        at org.wso2.carbon.databridge.agent.thrift.internal.pool.client.secure.SecureClientPoolFactory.makeObject(SecureClientPoolFactory.java:48)
        at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1212)
        at org.wso2.carbon.databridge.agent.thrift.internal.publisher.authenticator.AgentAuthenticator.connect(AgentAuthenticator.java:50)
        ... 11 more
Caused by: java.net.ConnectException: Connection timed out
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:579)
        at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
        at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:407)
        at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:88)
        at org.apache.thrift.transport.TSSLTransportFactory.createClient(TSSLTransportFactory.java:208)
        ... 16 more

ИЗОБРАЖЕНИЕ ЗАГРУЖЕНО

введите здесь описание изображения


person Rafa Hernández    schedule 08.05.2014    source источник


Ответы (1)


Если вы впервые настраиваете BAM с помощью диспетчера API, возможно, вы раньше не запускали запрос куста, поэтому не нужно удалять таблицы. Поэтому, пожалуйста, продолжайте тестирование и посмотрите, нет ли проблем с остальными тестами, если нет таких таблиц.

person jayalalk    schedule 08.05.2014
comment
я видел, что в базе данных таблицы (API_xxxx) не существуют. Я настроил AM со статистикой BAM на false. Когда я перезапустил AM, таблицы были созданы в Mysql. Но это только пять таблиц, и они не совпадают со сценарием, указанным в документе (удалить таблицу APIRequestData; удалить таблицу APIRequestSummaryData; удалить таблицу APIVersionUsageSummaryData;,....). - person Rafa Hernández; 08.05.2014
comment
хорошо, если у вас нет установленного набора инструментов статистики AM, вы не видите сценарий am_stats_analyzer_XX в сценарии в Analytics - список сценариев, поэтому вы не получите эти таблицы - person jayalalk; 08.05.2014
comment
Скрипт установился. Но когда я запустил BAM, я вижу эту ошибку много раз. Ставлю ошибку при обновлении Вопрос - person Rafa Hernández; 08.05.2014
comment
Попробуйте подключиться по телнету к портам 1.33.33.127:7612, TCP, 1.33.33.127:7712. Это экономичные порты, открытые на сервере BAM, вы можете видеть, что в начальных журналах BAM есть сведения об этих портах. - person jayalalk; 08.05.2014
comment
Порт 7712 прослушивается. Но телнет не подключается, я загрузил изображение с консоли. - person Rafa Hernández; 08.05.2014
comment
ОК, это означает, что у вас есть проблема с маршрутизацией, лучше вы ее решите, но если вы хотите использовать локальный хост вместо IP, укажите имя хоста как localhost в разделе thriftDataReceiver в файле ‹BAM›repository/conf/data-bridge/data-bridge -config.xml и перезапустите серверы. - person jayalalk; 08.05.2014
comment
Я открыл файл и тег ‹hostName› прокомментировал. ‹!-- Конфигурация по умолчанию для thriftDataReceiver --› ‹thriftDataReceiver› ‹!--‹hostName›localhost‹/hostName›--› ‹port›7611‹/port› ‹securePort›7711‹/securePort› ‹/thriftDataReceiver› - person Rafa Hernández; 08.05.2014
comment
Хорошо, поэтому раскомментируйте имя хоста, чтобы взять локальный хост и проверить, как я просил в последнем комментарии. - person jayalalk; 09.05.2014