Hi,
I am trying to set up a distributed set up locally using 2 BAM packs having
analyser, receiver and Hadoop running on one pack and cassandra on the
other pack.
when i start cassandra node it successfully starts. But when I try to
start BAM using './wso2server.sh -Dsetup' I get an exception as mentioned
below. furthermore I have attached the configurations steps and full error
logs. Highly appreciate it if someone help me with this issue.
Error
-------
[2014-11-14 07:52:11,436] ERROR
{org.wso2.carbon.cassandra.server.internal.CassandraServerDSComponent} -
Error occurred while initializing Cassandra Server component
java.lang.NoClassDefFoundError:
org/wso2/carbon/stratos/common/listeners/TenantMgtListener
at
org.wso2.carbon.cassandra.server.internal.CassandraServerDSComponent.activate(CassandraServerDSComponent.java:123)
Thank you in advance.
~Sewmi~
Sewmini Jayaweera
*Software Engineer - QA Team*
Mobile: +94 (0) 773 381 250
[email protected]
[2014-11-14 07:51:53,692] INFO
{org.wso2.carbon.databridge.agent.thrift.internal.AgentDS} - Successfully
deployed Agent Client
[2014-11-14 07:52:11,436] ERROR
{org.wso2.carbon.cassandra.server.internal.CassandraServerDSComponent} - Error
occurred while initializing Cassandra Server component
java.lang.NoClassDefFoundError:
org/wso2/carbon/stratos/common/listeners/TenantMgtListener
at
org.wso2.carbon.cassandra.server.internal.CassandraServerDSComponent.activate(CassandraServerDSComponent.java:123)
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.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
at
org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
at
org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347)
at
org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
at
org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
at
org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
at
org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
at
org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
at
org.wso2.carbon.identity.authentication.internal.AuthenticationServiceComponent.activate(AuthenticationServiceComponent.java:57)
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.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
at
org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
at
org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347)
at
org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
at
org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
at
org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
at
org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
at
org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
at
org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:70)
at
org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:61)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
at
org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
at
org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
at
org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
Caused by: java.lang.ClassNotFoundException:
org.wso2.carbon.stratos.common.listeners.TenantMgtListener
at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 60 more
[2014-11-14 07:52:12,688] INFO
{org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService} - Configured
Registry in 847ms
[2014-11-14 07:52:24,292] INFO
{org.wso2.carbon.registry.core.jdbc.EmbeddedRegistryService} - Connected to
mount at sharedregistry in 11589ms
=================================================== HOW TO GUIDE
==================================================
Create a distributed set up with an external cassandra
1. BAM pack1 - analyser/ receiver / hapoop
2. BAM pack2 - cassandra
======================
cassandra
========================
-keep da offset 0
-add the following to wso2server.sh
-Ddisable.analytics=true \
-Ddisable.receiver=true \
-start with -Dprofile=cassandra
=======================================
analyser/ receiver / hapoop pack
========================================
------------ bin / wso2srever.sh
add -Ddisable.cassandra.server.startup=true \
-----------add following to masterdatasource.xml
<datasource>
<name>WSO2_REG_DB</name>
<description>The datasource used for registry and user
manager</description>
<jndiConfig>
<name>jdbc/WSO2_REG_DB</name>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:mysql://192.168.18.76:3306/bam_reg_sew?autoReconnect=true&relaxAutoCommit=true</url>
<username>admin</username>
<password>admin</password>
<driverClassName>com.mysql.jdbc.Driver</driverClassName>
<maxActive>50</maxActive>
<maxWait>60000</maxWait>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1</validationQuery>
<validationInterval>30000</validationInterval>
</configuration>
</definition>
</datasource>
<datasource>
<name>WSO2_USR_DB</name>
<description>The datasource used for registry and user
manager</description>
<jndiConfig>
<name>jdbc/WSO2_USR_DB</name>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:mysql://192.168.18.76:3306/bam_usr_sew?autoReconnect=true&relaxAutoCommit=true</url>
<username>admin</username>
<password>admin</password>
<driverClassName>com.mysql.jdbc.Driver</driverClassName>
<maxActive>50</maxActive>
<maxWait>60000</maxWait>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1</validationQuery>
<validationInterval>30000</validationInterval>
</configuration>
</definition>
</datasource>
Note : you need to create databases for user and registry in mysql
-----------User-mgt.xml
<Property name="dataSource">jdbc/WSO2_USR_DB</Property> , here you should
give the same datasource name given in the master-datasource.xml
------------ Add following to bam-datasources.xml
Note : when adding comment WSO2BAM_DATASOURCE which is pointing to h2 db.
and also create a database named bam_summery_sew in mysql.
<datasource>
<name>WSO2BAM_DATASOURCE</name>
<description>The datasource used for summarised data</description>
<definition type="RDBMS">
<configuration>
<url>jdbc:mysql://192.168.18.76:3306/bam_summery_sew?autoReconnect=true&relaxAutoCommit=true</url>
<username>admin</username>
<password>admin</password>
<driverClassName>com.mysql.jdbc.Driver</driverClassName>
<maxActive>50</maxActive>
<maxWait>60000</maxWait>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1</validationQuery>
<validationInterval>30000</validationInterval>
</configuration>
</definition>
</datasource>
The for all cassandra related data sources add true instead of false for
<externalCassandra>true</externalCassandra>
----------- repository.conf/registry.xml
<dbConfig name="sharedregistry">
<dataSource>jdbc/WSO2_REG_DB</dataSource>
</dbConfig>
<remoteInstance url="https://localhost:9443/registry">
<id>instanceid</id>
<dbConfig>sharedregistry</dbConfig>
<readOnly>false</readOnly>
<enableCache>true</enableCache>
<registryRoot>/</registryRoot>
<cacheId>admin@jdbc:mysql://192.168.18.76:3306/bam_reg_sew</cacheId>
</remoteInstance>
<mount path="/_system/config" overwrite="true">
<instanceId>instanceid</instanceId>
<targetPath>/_system/bamNodes</targetPath>
</mount>
<mount path="/_system/governance" overwrite="true">
<instanceId>instanceid</instanceId>
<targetPath>/_system/governance</targetPath>
</mount>
Note : here
<cacheId>admin@jdbc:mysql://192.168.18.76:3306/bam_reg_sew</cacheId> admin is
user then server IP and the db name for registry (same as given in master
datasource)
------------ carbon.xml
give an offset 1
add following under svn
<DeploymentSynchronizer>
<Enabled>true</Enabled>
<AutoCommit>true</AutoCommit>
<AutoCheckout>true</AutoCheckout>
<RepositoryType>svn</RepositoryType>
<SvnUrl>https://192.168.48.57/svn/repos/sewmini/</SvnUrl>
<SvnUser>wso2qa</SvnUser>
<SvnPassword>wso2123</SvnPassword>
<SvnUrlAppendTenantId>true</SvnUrlAppendTenantId>
</DeploymentSynchronizer>
-----------Add following jars
to rep / components / lib
trilead-ssh2-1.0.0-build215.jar
svnClientBundle-1.0.0.jar
mysql-connector-java-5.1.9.jar
========================================
special notes
========================================
if your to use an external cassandra binded to another ip you need to edit
following files
1. rep / conf / cassandra.yaml (2 places originally given localhost should get
changed to new ip )
2. datasources in bam-datasources file
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev