Hive WSO2 BAM配置单元脚本错误:数据库可能已在使用中

Hive WSO2 BAM配置单元脚本错误:数据库可能已在使用中,hive,wso2,h2,wso2bam,Hive,Wso2,H2,Wso2bam,我试图从WSO2 BAM执行一个简单的配置单元脚本,收到以下错误: TID:[0][BAM][2014-06-10 17:55:24752]错误{org.wso2.carbon.hadoop.hive.jdbc.storage.db.DBManager}-无法获取连接{org.wso2.carbon.hadoop.hive.jdbc.storage.db.DBManager} org.h2.jdbc.JdbcSQLException:数据库可能已在使用中:已被其他进程锁定。可能的解决方案:关闭所

我试图从WSO2 BAM执行一个简单的配置单元脚本,收到以下错误:

TID:[0][BAM][2014-06-10 17:55:24752]错误{org.wso2.carbon.hadoop.hive.jdbc.storage.db.DBManager}-无法获取连接{org.wso2.carbon.hadoop.hive.jdbc.storage.db.DBManager} org.h2.jdbc.JdbcSQLException:数据库可能已在使用中:已被其他进程锁定。可能的解决方案:关闭所有其他连接;使用服务器模式;SQL语句: 空/1468667eba66dbdf45540920bcb8b07d6d24451f741[90020-140] "

配置单元脚本:

如果存在,则删除表; 删除表(如果存在ProjectServicesPerDateTable)

如果不存在,则创建外部表ProjectServicesTable rowID字符串、元主机字符串、exeTimestamp BIGINT、昵称字符串、, 说明字符串,由存储的版本字符串 'org.apache.hadoop.hive.cassandra.CassandraStorageHandler' 具有serdeproperty wso2.carbon.datasource.name=WSO2BAM_CASSANDRA_数据源, cassandra.ks.name=事件, cassandra.cf.name=stream1, cassandra.columns.mapping= :密钥、元主机、时间戳、尼克名称、描述、版本

创建外部表如果不存在ProjectServicesPerDateTableexeDate字符串,totalServices INT由存储 'org.wso2.carbon.hadoop.hive.jdbc.storage.JDBCStorageHandler' TBLProperty 'wso2.carbon.datasource.name'='wso2\u carbon\u DB', 'hive.jdbc.update.on.duplicate'='true', 'hive.jdbc.primary.key.fields'='exeDate', 'hive.jdbc.table.create.query'= “创建表项目\服务\日期\摘要exeDate VARCHAR30非空主键,totalServices INT”

插入覆盖表ProjectServicesPerDateTable 从\u unixtimecastexeTimestamp/1000中选择substring作为BIGINT,'yyyy-MM-dd HH:MM:ss',0,10作为exeDate,countrowID作为ProjectServicesTable中的totalServices 根据子字符串将_unixtimecastexeTimestamp/1000分组为BIGINT,'yyyy-MM-dd HH:MM:ss',0,10

已成功创建表项目\服务\日期\摘要


我感兴趣的是,相同的脚本通常在另一台计算机上运行,其中BAM的配置方式相同。唯一的区别是操作系统-Windows Server 2012 R2标准脚本失败,Windows 7 Professional脚本运行良好。

您是否使用其他客户端查询h2数据库?通常在h2中,除非在连接url中指定,否则无法进行并发连接。根据错误代码,您使用的是旧版本的h2版本1.2.140。你应该考虑升级。但这很可能无法解决问题。您需要确保只在一个进程中打开数据库,如错误消息所示,或者使用服务器模式或自动混合模式查看文档。