Installation problem - Unable to load ODK Aggregate properly

Hi Jonathan,

If you are using MySQL 5.5, upgrade to 5.7. Aggregate requires MySQL
5.7 or greater (or MariaDB 10.1 or greater).

More at https://opendatakit.org/use/aggregate/tomcat-install/ under
"Select and Install Database Server".

Yaw

··· On Tue, Apr 25, 2017 at 9:45 PM, wrote: > Hi! > > Just try if anyone has a workaround with my problem here. > > I'm installing ODK Aggregate using cloud server. I was able to install java, tomcat and mysql. > > I followed all the steps in the instruction I got from here http://itinformation-shyam.blogspot.co.za/2015/04/how-to-install-and-configure-odk.html > > But i still get Apache error when I'm trying to access the aggregate. > > HTTP Status 404 - > > type Status report > > message > > description The requested resource () is not available. > Apache Tomcat/6.0.24 > > Upon looking on the catalina.out file it seems tomcat have an issue on communicating with mysql. > > Here are the info of my server > > -> Red Hat 4.4.7-18 > -> OpenJDK Runtime Environment (rhel-2.6.9.0.el6_8-x86_64 u131-b00) > -> OpenJDK 64-Bit Server VM (build 24.131-b00, mixed mode) > -> tomcat 6 > > > Here's the content of log > > > > Apr 26, 2017 10:26:17 AM org.apache.catalina.core.AprLifecycleListener init > INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib > Apr 26, 2017 10:26:17 AM org.apache.coyote.http11.Http11Protocol init > INFO: Initializing Coyote HTTP/1.1 on http-8080 > Apr 26, 2017 10:26:17 AM org.apache.catalina.startup.Catalina load > INFO: Initialization processed in 783 ms > Apr 26, 2017 10:26:17 AM org.apache.catalina.core.StandardService start > INFO: Starting service Catalina > Apr 26, 2017 10:26:17 AM org.apache.catalina.core.StandardEngine start > INFO: Starting Servlet Engine: Apache Tomcat/6.0.24 > Apr 26, 2017 10:26:17 AM org.apache.catalina.startup.HostConfig deployDescriptor > INFO: Deploying configuration descriptor ROOT.xml > Apr 26, 2017 10:26:17 AM org.apache.catalina.loader.WebappClassLoader validateJarFile > INFO: validateJarFile(/usr/share/tomcat6/webapps/ROOT/WEB-INF/lib/servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class > Apr 26, 2017 10:26:18 AM org.apache.catalina.core.ApplicationContext log > INFO: Initializing Spring root WebApplicationContext > log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader). > log4j:WARN Please initialize the log4j system properly. > Inside setServletContextafterPropertiesSet WATCHDOG TASK IN TOMCAT > Apr 26, 2017 10:26:20 AM org.apache.catalina.core.StandardContext listenerStart > SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener > org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hierarchicalRoleRelationships' defined in ServletContext resource [/WEB-INF/applicationContext-security.xml]: Invocation of init method failed; nested exception is org.opendatakit.common.persistence.exception.ODKDatastoreException: org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [CREATE TABLE `odk_prod`.`_granted_authority_hierarchy` ( `_URI` VARCHAR(80) CHARACTER SET utf8 NOT NULL , `_CREATOR_URI_USER` VARCHAR(80) CHARACTER SET utf8 NOT NULL , `_CREATION_DATE` DATETIME(6) NOT NULL , `_LAST_UPDATE_URI_USER` VARCHAR(80) CHARACTER SET utf8 NULL , `_LAST_UPDATE_DATE` DATETIME(6) NOT NULL , `DOMINATING_GRANTED_AUTHORITY` VARCHAR(80) CHARACTER SET utf8 NOT NULL , `SUBORDINATE_GRANTED_AUTHORITY` VARCHAR(80) CHARACTER SET utf8 NOT NULL , INDEX(`_URI` ) USING HASH , INDEX(`_LAST_UPDATE_DATE` ) , INDEX(`DOMINATING_GRANTED_AUTHORITY` ) USING HASH ) ]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL , `_LAST_UPDATE_URI_USER` VARCHAR(80) CHARACTER SET utf8 NULL , `_L' at line 1 > at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1583) > at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553) > at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) > at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) > at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) > at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) > at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) > at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:754) > at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866) > at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542) > at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:444) > at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:326) > at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107) > at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4244) > at org.apache.catalina.core.StandardContext.start(StandardContext.java:4743) > at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) > at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) > at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) > at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637) > at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563) > at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498) > at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277) > at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321) > at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) > at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) > at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) > at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) > at org.apache.catalina.core.StandardService.start(StandardService.java:516) > at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) > at org.apache.catalina.startup.Catalina.start(Catalina.java:593) > 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.catalina.startup.Bootstrap.start(Bootstrap.java:289) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) > Caused by: org.opendatakit.common.persistence.exception.ODKDatastoreException: org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [CREATE TABLE `odk_prod`.`_granted_authority_hierarchy` ( `_URI` VARCHAR(80) CHARACTER SET utf8 NOT NULL , `_CREATOR_URI_USER` VARCHAR(80) CHARACTER SET utf8 NOT NULL , `_CREATION_DATE` DATETIME(6) NOT NULL , `_LAST_UPDATE_URI_USER` VARCHAR(80) CHARACTER SET utf8 NULL , `_LAST_UPDATE_DATE` DATETIME(6) NOT NULL , `DOMINATING_GRANTED_AUTHORITY` VARCHAR(80) CHARACTER SET utf8 NOT NULL , `SUBORDINATE_GRANTED_AUTHORITY` VARCHAR(80) CHARACTER SET utf8 NOT NULL , INDEX(`_URI` ) USING HASH , INDEX(`_LAST_UPDATE_DATE` ) , INDEX(`DOMINATING_GRANTED_AUTHORITY` ) USING HASH ) ]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL , `_LAST_UPDATE_URI_USER` VARCHAR(80) CHARACTER SET utf8 NULL , `_L' at line 1 > at org.opendatakit.common.persistence.engine.mysql.DatastoreImpl.assertRelation(DatastoreImpl.java:751) > at org.opendatakit.common.security.spring.GrantedAuthorityHierarchyTable.assertRelation(GrantedAuthorityHierarchyTable.java:115) > at org.opendatakit.common.security.spring.GrantedAuthorityHierarchyTable.getEntireGrantedAuthorityHierarchy(GrantedAuthorityHierarchyTable.java:186) > at org.opendatakit.common.security.spring.RoleHierarchyImpl.buildRolesReachableInOneStepMap(RoleHierarchyImpl.java:464) > at org.opendatakit.common.security.spring.RoleHierarchyImpl.refreshReachableGrantedAuthorities(RoleHierarchyImpl.java:281) > at org.opendatakit.common.security.spring.RoleHierarchyImpl.afterPropertiesSet(RoleHierarchyImpl.java:132) > at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1642) > at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1579) > ... 36 more > Caused by: org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [CREATE TABLE `odk_prod`.`_granted_authority_hierarchy` ( `_URI` VARCHAR(80) CHARACTER SET utf8 NOT NULL , `_CREATOR_URI_USER` VARCHAR(80) CHARACTER SET utf8 NOT NULL , `_CREATION_DATE` DATETIME(6) NOT NULL , `_LAST_UPDATE_URI_USER` VARCHAR(80) CHARACTER SET utf8 NULL , `_LAST_UPDATE_DATE` DATETIME(6) NOT NULL , `DOMINATING_GRANTED_AUTHORITY` VARCHAR(80) CHARACTER SET utf8 NOT NULL , `SUBORDINATE_GRANTED_AUTHORITY` VARCHAR(80) CHARACTER SET utf8 NOT NULL , INDEX(`_URI` ) USING HASH , INDEX(`_LAST_UPDATE_DATE` ) , INDEX(`DOMINATING_GRANTED_AUTHORITY` ) USING HASH ) ]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL , `_LAST_UPDATE_URI_USER` VARCHAR(80) CHARACTER SET utf8 NULL , `_L' at line 1 > at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:231) > at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73) > at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:419) > at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:443) > at org.opendatakit.common.persistence.engine.mysql.DatastoreImpl.assertRelation(DatastoreImpl.java:737) > ... 43 more > Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL , `_LAST_UPDATE_URI_USER` VARCHAR(80) CHARACTER SET utf8 NULL , `_L' at line 1 > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) > at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:526) > at com.mysql.jdbc.Util.handleNewInstance(Util.java:377) > at com.mysql.jdbc.Util.getInstance(Util.java:360) > at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978) > at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887) > at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823) > at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435) > at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582) > at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526) > at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484) > at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:848) > at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:742) > at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:291) > at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:291) > at org.springframework.jdbc.core.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:435) > at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:408) > ... 45 more > > Apr 26, 2017 10:26:20 AM org.apache.catalina.core.StandardContext start > SEVERE: Error listenerStart > Apr 26, 2017 10:26:20 AM org.apache.catalina.core.StandardContext start > SEVERE: Context [] startup failed due to previous errors > Apr 26, 2017 10:26:20 AM org.apache.catalina.core.ApplicationContext log > INFO: Closing Spring root WebApplicationContext > Apr 26, 2017 10:26:20 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc > SEVERE: A web application registered the JBDC driver [com.google.appengine.api.rdbms.AppEngineDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. > Apr 26, 2017 10:26:20 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc > SEVERE: A web application registered the JBDC driver [org.postgresql.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. > Apr 26, 2017 10:26:20 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads > SEVERE: A web application appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak. > Apr 26, 2017 10:26:20 AM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap > SEVERE: A web application created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Prototype beans currently in creation]) and a value of type [null] (value [null]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed. > Apr 26, 2017 10:26:20 AM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap > SEVERE: A web application created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Current transaction name]) and a value of type [null] (value [null]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed. > Apr 26, 2017 10:26:20 AM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap > SEVERE: A web application created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Current transaction read-only status]) and a value of type [null] (value [null]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed. > Apr 26, 2017 10:26:20 AM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap > SEVERE: A web application created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Prototype beans currently in creation]) and a value of type [null] (value [null]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed. > Apr 26, 2017 10:26:20 AM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap > SEVERE: A web application created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Current transaction isolation level]) and a value of type [null] (value [null]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed. > Apr 26, 2017 10:26:20 AM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap > SEVERE: A web application created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Transactional resources]) and a value of type [null] (value [null]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed. > Apr 26, 2017 10:26:20 AM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap > SEVERE: A web application created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Actual transaction active]) and a value of type [null] (value [null]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed. > Apr 26, 2017 10:26:21 AM org.apache.coyote.http11.Http11Protocol start > INFO: Starting Coyote HTTP/1.1 on http-8080 > Apr 26, 2017 10:26:21 AM org.apache.jk.common.ChannelSocket init > INFO: JK: ajp13 listening on /0.0.0.0:8009 > Apr 26, 2017 10:26:21 AM org.apache.jk.server.JkMain start > INFO: Jk running ID=0 time=0/28 config=null > Apr 26, 2017 10:26:21 AM org.apache.catalina.startup.Catalina start > INFO: Server startup in 4222 ms > > > > -- > -- > Post: opendatakit@googlegroups.com > Unsubscribe: opendatakit+unsubscribe@googlegroups.com > Options: http://groups.google.com/group/opendatakit?hl=en > > --- > You received this message because you are subscribed to the Google Groups "ODK Community" group. > To unsubscribe from this group and stop receiving emails from it, send an email to opendatakit+unsubscribe@googlegroups.com. > For more options, visit https://groups.google.com/d/optout.