Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Follow the instructions below to install DAS on Windows.

Note

Before you begin:

  • See the known incompatibilities section to find out if this version of the product has issues running on your OS due to the JDK version.
  • See the compatibility matrix to find out if this version of the product is fully tested on your operating system.

Installing the required applications

...

Make sure your system meets the Installation Prerequisites

Info

Java Development Kit (JDK) is essential to run the product.

...

Installing the DAS

  1. Download the latest version of the DAS as described in Downloading the Product .
  2. Extract the archive file to a dedicated directory for the DAS, which will hereafter be referred to as <DAS_HOME>.

...

  1. Download the snappy-java_1.1.1.7.jar from here.
  2. Copy the jar to <DAS_HOME>\repository\components\lib.
  3. If the DAS server is currently running, restart it to apply the changes.

...

You must set your JAVA_HOME environment variable to point to the directory where the Java Development Kit (JDK) is installed on the computer. Typically, the JDK is installed in a directory under C:\Program Files\Java, such as C:\Program Files\Java\jdk1.67.0_2745. If you have multiple versions installed, choose the latest one, which you can find by sorting by date.

...

  1. Right-click the My Computer icon on the desktop and choose Properties.

  2. In the System Properties window, click the Advanced tab, and then click the Environment Variables button.

  3. Click the New button under System variables (for all users) or under User variables (just for the user who is currently logged in).

  4. Enter the following information:
    • In the Variable name field, enter: JAVA_HOME
    • In the Variable value field, enter the installation path of the Java Development Kit, such as: c:\Program Files\Java jdk1.67.0_2745

The JAVA_HOME variable is now set and will apply to any subsequent command prompt windows you open. If you have existing command prompt windows running, you must close and reopen them for the JAVA_HOME variable to take effect, or manually set the JAVA_HOME variable in those command prompt windows as described in the next section. To verify that the JAVA_HOME variable is set correctly, open a command window (from the Start menu, click Run, and then type CMD and click Enter) and execute the following command:

...

  1. In the command prompt window, enter the following command where <JDK_INSTALLATION_PATH> is the JDK installation directory and press Enter.

    set JAVA_HOME=<JDK_INSTALLATION_PATH>

    For example: set JAVA_HOME=c:\Program Files\java\jdk1.67.0_2745

    The JAVA_HOME variable is now set for the current CMD session only.

  2. To verify that the JAVA_HOME variable is set correctly, execute the following command:
    set JAVA_HOME
  3. The system returns the JDK installation path.

...

  • Set the properties from a script: Setting your system properties in the startup script is ideal, because it ensures that you set the properties every time you start the server. To avoid having to modify the script each time you upgrade, the best approach is to create your own startup script that wraps the WSO2 startup script and adds the properties you want to set, rather than editing the WSO2 startup script directly.
  • Set the properties from an external registry: If you want to access properties from an external registry, you could create Java code that reads the properties at runtime from that registry. Be sure to store sensitive data such as username and password to connect to the registry in a properties file instead of in the Java code and secure the properties file with the secure vault.
Info

Once all the instructions given above are completed, you may see the following error in the start up logs when you run the DAS server.

Expand
titleClick here to view the complete error.
TID: [-1234] [] [2016-07-25 11:33:53,000]  WARN {org.apache.hadoop.util.NativeCodeLoader} -  Unable to load native-hadoop library for your platform... using builtin-java classes where applicable {org.apache.hadoop.util.NativeCodeLoader}
TID: [-1234] [] [2016-07-25 11:33:53,037] ERROR {org.apache.hadoop.util.Shell} -  Failed to locate the winutils binary in the hadoop binary path {org.apache.hadoop.util.Shell}
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
                at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:355)
                at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:370)
                at org.apache.hadoop.util.Shell.<clinit>(Shell.java:363)
                at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:79)
                at org.apache.hadoop.security.Groups.parseStaticMapping(Groups.java:104)
                at org.apache.hadoop.security.Groups.<init>(Groups.java:86)
                at org.apache.hadoop.security.Groups.<init>(Groups.java:66)
                at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:280)
                at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:271)
                at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:248)
                at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:763)
                at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:748)
                at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:621)
                at org.apache.spark.util.Utils$$anonfun$getCurrentUserName$1.apply(Utils.scala:2042)
                at org.apache.spark.util.Utils$$anonfun$getCurrentUserName$1.apply(Utils.scala:2042)
                at scala.Option.getOrElse(Option.scala:120)
                at org.apache.spark.util.Utils$.getCurrentUserName(Utils.scala:2042)
                at org.apache.spark.SecurityManager.<init>(SecurityManager.scala:212)
                at org.apache.spark.deploy.master.Master$.startSystemAndActor(Master.scala:914)
                at org.apache.spark.deploy.master.Master.startSystemAndActor(Master.scala)
                at org.wso2.carbon.analytics.spark.core.internal.SparkAnalyticsExecutor.startMaster(SparkAnalyticsExecutor.java:419)
                at org.wso2.carbon.analytics.spark.core.internal.SparkAnalyticsExecutor.runClusteredSetupLogic(SparkAnalyticsExecutor.java:248)
                at org.wso2.carbon.analytics.spark.core.internal.SparkAnalyticsExecutor.initializeSparkServer(SparkAnalyticsExecutor.java:174)
                at org.wso2.carbon.analytics.spark.core.internal.AnalyticsComponent.activate(AnalyticsComponent.java:71)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                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:345)
                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.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:950)
                at org.wso2.carbon.analytics.dataservice.core.AnalyticsDataServiceComponent.activate(AnalyticsDataServiceComponent.java:66)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                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:345)
                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.ntask.core.internal.TasksDSComponent.activate(TasksDSComponent.java:106)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                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:345)
                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.core.internal.StartupFinalizerServiceComponent.completeInitialization(StartupFinalizerServiceComponent.java:199)
                at org.wso2.carbon.core.internal.StartupFinalizerServiceComponent.serviceChanged(StartupFinalizerServiceComponent.java:288)
                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.server.admin.internal.ServerAdminServiceComponent.activate(ServerAdminServiceComponent.java:106)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                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:345)
                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.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:514)
                at org.wso2.carbon.core.init.CarbonServerManager.removePendingItem(CarbonServerManager.java:290)
                at org.wso2.carbon.core.init.PreAxis2ConfigItemListener.bundleChanged(PreAxis2ConfigItemListener.java:118)
                at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:847)
                at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
                at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

This error does not affect the functionality of WSO2 DAS. However, you can prevent it from appearing in the logs by following the steps below.

  1. Create a directory in a preferred location in your machine and name it as preferred. In this example, it is named DAS.
  2. Create another directory named bin inside the directory you created.
  3. Download the winutils.exe from here and place it in the DAS/bin directory you created in the previous step.
  4. Specify a new Environment variable named HADOOP_HOME and set the same directory as the value (i.e. C:\DAS).

You are now ready to run the product.