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&amp;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&amp;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&amp;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

Reply via email to