Hi All,

I got the solution for cloudstack database high availability.

Follow the steps to enable the database high availability in cloudstack.

1)       Go to the path:

*“/usr/share/cloudstack-management/webapps/client/WEB-INF/lib/”*

Find the *“cloud-plugin-database-mysqlha-4.3.1.jar”  *file.

2)       Create the path:

*“/usr/share/cloudstack-mysql-ha/lib/”*

Copy the above file to this path.

3)       Edit the file *“/etc/cloudstack/management/catalina.properties” *

check the *“common.loader” *line looks like:

*“common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,/usr/share/java/mysql-connector-java.jar,/usr/share/cloudstack-mysql-ha/lib/*.jar”*

4)       Edit the file *“/etc/cloudstack/management/db.properties”*

*db.ha.enabled=true*

*db.cloud.slaves=<slave IP address>*

*db.usage.slaves=<slave IP address>*

5)       Restart the management server.

*“Service cloudstack-management restart”*



*Regards,*

*Rajasekhar.*

On Wed, Sep 24, 2014 at 5:33 PM, Rajani Karuturi <raj...@apache.org> wrote:

> I dont know if they are readily available. probably you could check
> jenkins.buildacloud.org
>
> You could build one from source using the procedure at
>
> http://cloudstack-installation.readthedocs.org/en/latest/building_from_source.html#building-non-oss
>
>
> It also has some information about non-oss/no-redist packages.
>
> ~Rajani
>
> On Wed, Sep 24, 2014 at 5:11 PM, Venkata Suneel Babu Mallela <
> sunee...@simplifydc.com> wrote:
>
> > This setup is installed using RPM package repository. Can you please
> guide
> > how to check this is a noredist build or not? And what is the use of it?
> >
> > There is no directory "cloudstack-mysql-ha" under /usr/share/.
> >
> > [root@cs01 share]# ls cloudstack-*
> > cloudstack-bridge/     cloudstack-management/
> > cloudstack-common/     cloudstack-usage/
> >
> > Thank you,
> > Suneel Mallela.
> >
> > -----Original Message-----
> > From: Rajani Karuturi [mailto:raj...@apache.org]
> > Sent: Wednesday, September 24, 2014 3:30 PM
> > To: users@cloudstack.apache.org
> > Subject: Re: CloudStack DataBase HA Restoration Test
> >
> > Is this a noredist build? Did you verify that the mysql-ha jar exists at
> > /usr/share/cloudstack-mysql-ha/lib/*jar?
> >
> >
> >
> >
> >
> > ~Rajani
> >
> > On Wed, Sep 24, 2014 at 12:06 PM, Venkata Suneel Babu Mallela <
> > sunee...@simplifydc.com> wrote:
> >
> > > Hi Rajani,
> > >
> > > Thank you for your response. I was stuck with some work last week.
> > >
> > > I've reinstalled a new CloudStack4.4.0 and added below line to the
> > > file "/etc/cloudstack/management/catalina.properties",
> > >
> > >
> > > common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catali
> > > na.home}/lib,${catalina.home}/lib/*.jar,/usr/share/java/mysql-connecto
> > > r-java.jar,/usr/share/cloudstack-mysql-ha/lib/*jar
> > >
> > > Restarted the management service, but still getting http status 404
> > > error, the log is below.
> > >
> > > 2014-09-23 05:24:14,176 INFO
> > > [o.a.c.s.m.m.i.DefaultModuleDefinitionSet]
> > > (main:null) Loading module context [system] from URL
> > > [jar:file:/usr/share/cloudstack-management/webapps/client/WEB-INF/lib/
> > > cloud-core-4.4.0.jar!/META-INF/cloudstack/system/spring-core-system-co
> > > ntext-inheritable.xml]
> > > 2014-09-23 05:24:14,176 INFO
> > > [o.a.c.s.m.m.i.DefaultModuleDefinitionSet]
> > > (main:null) Loading module context [system] from URL
> > > [jar:file:/usr/share/cloudstack-management/webapps/client/WEB-INF/lib/
> > > cloud-framework-config-4.4.0.jar!/META-INF/cloudstack/system/spring-fr
> > > amework-config-system-context-inheritable.xml]
> > > 2014-09-23 05:24:14,176 INFO
> > > [o.a.c.s.m.m.i.DefaultModuleDefinitionSet]
> > > (main:null) Loading module context [system] from URL
> > > [jar:file:/usr/share/cloudstack-management/webapps/client/WEB-INF/lib/
> > > cloud-plugin-network-contrail-4.4.0.jar!/META-INF/cloudstack/system/sp
> > > ring-contrail-system-context-inheritable.xml]
> > > 2014-09-23 05:24:14,176 INFO
> > > [o.a.c.s.m.m.i.DefaultModuleDefinitionSet]
> > > (main:null) Loading module context [system] from URL
> > > [jar:file:/usr/share/cloudstack-management/webapps/client/WEB-INF/lib/
> > > cloud-core-4.4.0.jar!/META-INF/cloudstack/bootstrap/spring-bootstrap-c
> > > ontext-inheritable.xml]
> > > 2014-09-23 05:24:18,016 INFO  [c.c.u.d.T.Transaction] (main:null) Is
> > > Data Base High Availiability enabled? Ans : true
> > > 2014-09-23 05:24:18,053 INFO  [c.c.u.d.T.Transaction] (main:null) The
> > > slaves configured for Cloud Data base is/are : 10.0.60.204
> > > 2014-09-23 05:24:18,130 ERROR [c.c.u.d.Merovingian2] (main:null)
> > > Unable to get a new db connection
> > > java.sql.SQLException: Invalid load balancing strategy
> > > 'com.cloud.utils.db.StaticStrategy'.
> > >         at
> com.mysql.jdbc.SQLError.createSQLException(SQLError.java:934)
> > >         at
> com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)
> > >         at com.mysql.jdbc.Util.loadExtensions(Util.java:588)
> > >         at
> > >
> >
> com.mysql.jdbc.LoadBalancingConnectionProxy.<init>(LoadBalancingConnectionProxy.java:280)
> > >         at
> > >
> >
> com.mysql.jdbc.FailoverConnectionProxy.<init>(FailoverConnectionProxy.java:66)
> > >         at
> > >
> >
> com.mysql.jdbc.NonRegisteringDriver.connectFailover(NonRegisteringDriver.java:382)
> > >         at
> > >
> >
> com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:301)
> > >         at java.sql.DriverManager.getConnection(DriverManager.java:571)
> > >         at java.sql.DriverManager.getConnection(DriverManager.java:215)
> > >         at
> > >
> >
> org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75)
> > >         at
> > >
> >
> org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
> > >         at
> > >
> >
> org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188)
> > >         at
> > >
> >
> org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
> > >         at
> > >
> >
> com.cloud.utils.db.TransactionLegacy.getStandaloneConnectionWithException(TransactionLegacy.java:205)
> > >         at com.cloud.utils.db.Merovingian2.<init>(Merovingian2.java:68)
> > >         at
> > > com.cloud.utils.db.Merovingian2.createLockMaster(Merovingian2.java:80)
> > >         at
> > > com.cloud.server.LockMasterListener.<init>(LockMasterListener.java:33)
> > >         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
> > >
> org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148)
> > >         at
> > >
> >
> org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:121)
> > >         at
> > >
> >
> org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:280)
> > >         at
> > >
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1045)
> > >         at
> > >
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:949)
> > >         at
> > >
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487)
> > >         at
> > >
> >
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
> > >         at
> > >
> >
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
> > >         at
> > >
> >
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
> > >         at
> > >
> >
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
> > >         at
> > >
> >
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
> > >         at
> > >
> >
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:628)
> > >         at
> > >
> >
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
> > >         at
> > >
> >
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
> > >         at
> > >
> >
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContext(DefaultModuleDefinitionSet.java:145)
> > >         at
> > >
> >
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$2.with(DefaultModuleDefinitionSet.java:122)
> > >         at
> > >
> >
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:245)
> > >         at
> > >
> >
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:250)
> > >         at
> > >
> >
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:233)
> > >         at
> > >
> >
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContexts(DefaultModuleDefinitionSet.java:117)
> > >         at
> > >
> >
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load(DefaultModuleDefinitionSet.java:79)
> > >         at
> > >
> >
> org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules(ModuleBasedContextFactory.java:37)
> > >         at
> > >
> >
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init(CloudStackSpringContext.java:70)
> > >         at
> > >
> >
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:57)
> > >         at
> > >
> >
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:61)
> > >         at
> > >
> >
> org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized(CloudStackContextLoaderListener.java:52)
> > >         at
> > >
> >
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4210)
> > >         at
> > >
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4709)
> > >         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.deployDirectory(HostConfig.java:1041)
> > >         at
> > >
> >
> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)
> > >         at
> > > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
> > >         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: java.lang.ClassNotFoundException:
> > > com.cloud.utils.db.StaticStrategy
> > >         at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
> > >         at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> > >         at java.security.AccessController.doPrivileged(Native Method)
> > >         at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> > >         at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
> > >         at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> > >         at java.lang.Class.forName0(Native Method)
> > >         ... 70 more
> > > 2014-09-23 05:24:29,485 INFO  [c.c.u.c.ComponentContext] (main:null)
> > > Configuring
> > > com.cloud.bridge.persist.dao.CloudStackAccountDaoImpl_EnhancerByCloudS
> > > tack_901525bd
> > > 2014-09-23 05:24:29,497 INFO  [c.c.u.c.ComponentContext] (main:null)
> > > Configuring
> > > com.cloud.bridge.persist.dao.OfferingDaoImpl_EnhancerByCloudStack_251f
> > > 9517
> > > 2014-09-23 05:24:29,497 INFO  [c.c.u.c.ComponentContext] (main:null)
> > > Configuring
> > > com.cloud.bridge.persist.dao.SMetaDaoImpl_EnhancerByCloudStack_41c6850
> > > f
> > > 2014-09-23 05:24:29,502 INFO  [c.c.u.c.ComponentContext] (main:null)
> > > Configuring
> > > com.cloud.bridge.persist.dao.UserCredentialsDaoImpl_EnhancerByCloudSta
> > > ck_e2c8502e
> > > 2014-09-23 05:24:29,502 INFO  [c.c.u.c.ComponentContext] (main:null)
> > > Configuring
> > > com.cloud.bridge.persist.dao.MultipartMetaDaoImpl_EnhancerByCloudStack
> > > _292f07ce
> > > 2014-09-23 05:24:29,502 INFO  [c.c.u.c.ComponentContext] (main:null)
> > > Configuring
> > > com.cloud.bridge.persist.dao.CloudStackConfigurationDaoImpl_EnhancerBy
> > > CloudStack_50fa97ec
> > >
> > > Thank you,
> > > Suneel Mallela.
> > >
> > > -----Original Message-----
> > > From: Rajani Karuturi [mailto:raj...@apache.org]
> > > Sent: Thursday, September 18, 2014 6:08 PM
> > > To: users@cloudstack.apache.org
> > > Subject: Re: CloudStack DataBase HA Restoration Test
> > >
> > > Can you share the logs?
> > >
> > > you might be hitting the bug
> > > https://issues.apache.org/jira/browse/CLOUDSTACK-6892
> > > The fix is in 4.4.1 branch.
> > > As workaround, you can manually update catalina.properties as per the
> > > changes in the fix [1]
> > >
> > > [1]
> > >
> > > https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;a=blobdiff;f=
> > > client/tomcatconf/catalina.properties.in;h=282892bb763a74b3898c9402423
> > > 245670f69d546;hp=ce03ff6390b19e21d11c87c68adb7bd07a8c95eb;hb=539db08;h
> > > pb=cc913cf0bb7e62b7a216e2de793336e61a49b485
> > >
> > > ~Rajani
> > >
> > > On Thu, Sep 18, 2014 at 5:25 PM, Venkata Suneel Babu Mallela <
> > > sunee...@simplifydc.com> wrote:
> > >
> > > > Hi All,
> > > >
> > > > I've configured CloudStack DataBase replication(Master-Slave)
> > > > successfully and the setup is,
> > > >
> > > > Management Server   - 10.0.0.10
> > > > DataBase_1(Master)   - 10.0.0.11
> > > > DataBase_2(Slave)       - 10.0.0.12
> > > >
> > > > I want to test restoration process. I've followed the below link and
> > > > edited the "/etc/cloudstack/management/db.properties" file,
> > > >
> > > >
> > > > http://docs.cloudstack.apache.org/projects/cloudstack-administration
> > > > /e
> > > > n/4.4/reliability.html
> > > >
> > > > db.ha.enabled=true
> > > > db.cloud.slaves=10.0.0.12
> > > > db.usage.slaves=10.0.0.12
> > > >
> > > > But, I'm getting HTTP Status 404 error.
> > > >
> > > > Can anyone explain the step by step process to make slave as mater
> > > > and master as slave in CloudStack point of view?
> > > >
> > > > I'm using ACS4.4.0.
> > > >
> > > > Thank you,
> > > > Suneel Mallela
> > > >
> > >
> >
>

Reply via email to