Simulator.Properties File Description

The file simulator.properties is placed at the conf folder of your Hazelcast Simulator. This file is used to prepare the Simulator tests for their proper executions according to your business needs.

NOTE: Currently, the main focuses are on the Simulator tests of Hazelcast on Amazon EC2 and Google Compute Engine (GCE). For the preparation of simulator.properties for GCE, please refer to the Setting Up For GCE section. The following simulator.properties file description is mainly for Amazon EC2.

This file includes the following parameters.

  • CLOUD_PROVIDER: The Maven artifact ID of your cloud provider. For example, it is aws-ec2 if you are going to test your Hazelcast on Amazon EC2. For the full list of supported clouds, please refer to http://jclouds.apache.org/reference/providers/.
  • CLOUD_IDENTITY: The full path of the file containing your AWS access key.
  • CLOUD_CREDENTIAL: The full path of the file containing your AWS secret key.
  • CLOUD_POLL_INITIAL_PERIOD: The time in milliseconds between the requests (polls) from jclouds® to your cloud. Its default value is 50.
  • CLOUD_POLL_MAX_PERIOD: The maximum time in milliseconds between the polls to your cloud. Its default value is 1000.
  • CLOUD_BATCH_SIZE: The number of machines to be started/terminated in one go. For Amazon EC2, its acceptable value is 20.
  • GROUP_NAME: The prefix for the agent name. You may want to give different names for different test clusters. For GCE, you need to be very careful using multiple group names, since for every port and every group name, a firewall rule is made and you can only have 100 firewall rules. If the name contains ${username}, this section will be replaced by the actual user that runs the test. This makes it very easy to identify which user owns a certain machine.
  • USER: The name of the user on your local machine. jclouds® automatically creates a new user on the remote machine with this name as the login name. It also copies the public key of your system to the remote machine and adds it to the file ~/.ssh/authorized_keys. Therefore, once the instance is created, you can login with the command ssh <USER>@<IP address>. Its default value is simulator.
  • SSH_OPTIONS: The options added to SSH. You do not need to change these options.
  • SECURITY_GROUP: The name of the security group that includes the instances created for the Simulator test. For Amazon EC2, this group will be created automatically if it does not exist. If you do not specify a region for the parameter MACHINE_SPEC (using the locationId attribute), the region will be us-east-1. If a security group already exists, please make sure the ports 22, 9000, 9001 and the ports between 5701 and 5751 are open. For GCE, this parameter is not used.
  • SUBNET_ID: The VPC Subnet ID for Amazon EC2. If this value is different from default, then the instances will be created in EC2 VPC and the parameter SECURITY_GROUP will be ignored. For GCE, this parameter is not used.
  • MACHINE_SPEC: Specifications of the instance to be created. You can specify attributes such as the operating system, Amazon Machine Image (AMI), hardware properties, EC2 instance type and EC2 region. Please see the Setting Up For EC2 section for an example MACHINE-SPEC value and please refer to the TemplateBuilderSpec class of the org.jclouds.compute.domain package at jclouds® JavaDoc for a full list of machine specifications. Please refer to Amazon EC2 for more information, such as for Amazon EC2 instance types.
  • HAZELCAST_VERSION_SPEC: The workers can be configured to use a specific version of Hazelcast. By this way, you do not need to depend on the Hazelcast version provided by the simulator. You can configure the Hazelcast version in one of the following ways:
    • outofthebox: This is the default value provided by the Simulator itself.
    • maven=<version>: Used to give a specific version from the maven repository (for examples, maven=3.2, maven=3.3-SNAPSHOT). Local Hazelcast artifacts will be preferred, so you can checkout, for example, an experimental branch and build the artifacts locally. This will all be done on the local machine, not on the agent machine.
    • bringmyown: Used to specify your own dependencies. For more information on the values, please see the --workerClassPath setting of the Controller.
    • git=<version>: If you want the Simulator to use a specific version of Hazelcast from GIT, you can use this parameter (for example, git=f0288f713 to build a specific revision, or git=v3.2.3 to build a version from a GIT tag, or git=<your repository>/<your branch> to build a version from a branch in a specific repository). Use the parameter GIT_CUSTOM_REPOSITORIES to specify custom repositories, explained below. The main Hazelcast repository is always named as origin.
  • GIT_BUILD_DIR: When you set the parameter HAZELCAST_VERSION_SPEC to git=<version>, the Hazelcast sources will be downloaded to this directory. Its default value is $HOME/.hazelcast-build/
  • GIT_CUSTOM_REPOSITORIES: Comma separated list of additional GIT repositories to be fetched. Use this parameter when you set the parameter HAZELCAST_VERSION_SPEC to git=<version> and specify additional repositories. Hazelcast Simulator will always fetch the repository at https://github.com/hazelcast/hazelcast. This parameter specifies additional repositories. You can use both remote and local repositories. Remote repositories must be accessible for anonymous and local repositories must be accessible for the current user. Its default value is empty. Only the main Hazelcast repository is used by default.
  • MVN_EXECUTABLE: This parameter specifies the path to a local Maven installation when you set the parameter HAZELCAST_VERSION_SPEC to git=<version>. Its default value is /usr/bin/mvn.
  • JDK_FLAVOR: Available flavors are oracle, openjdk, ibm and outofthebox. outofthebox is the one provided by the image so no software is installed by the Simulator. If you select a flavor different than outofthebox, the currect behavior is that only 64-bit JVMs are going to be installed. Therefore, make sure that your operating system is 64-bit.
  • JDK_64_BITS: Specifies whether a 64-bit JVM should be installed or not. For now, only true is allowed.
  • JDK_VERSION: The version of Java to be installed. Oracle and IBM support 6, 7, and 8. OpenJDK supports 6 and 7.
  • PROFILER: The worker can be configured with a profiler. Available options are none, yourkit, hprof, perf, vtune and flightrecorder. The yourkit profiles currently only work on 64-bit Linux (there is no support for Windows or Mac).
  • FLIGHTRECORDER_SETTINGS: Includes the settings for the flightrecorder profiler. For options, please refer to http://docs.oracle.com/cd/E15289_01/doc.40/e15062/optionxx.htm#BABIECII.
  • YOURKIT_SETTINGS: Includes the settings for the yourkit profiler. When yourkit is enabled, a snapshot is created and put in the worker home directory. Therefore, when the artifacts are downloaded, the snapshots are included and can be loaded with your Yourkit GUI. Make sure that the path matches the JVM 32/64 bits. The files libypagent.so, which are included in the Simulator, are for YourKit Java Profiler 2013. For more information on the Yourkit setting, please see http://www.yourkit.com/docs/java/help/agent.jsp and http://www.yourkit.com/docs/java/help/startup_options.jsp.
  • HPROF_SETTINGS: Includes the settings for the hprof profiler, which is a part of the JDK. By default, the file java.hprof.txt is created in the worker directory. This file can be downloaded using the command provisioner --download after a test has run. For configuration options, please see http://docs.oracle.com/javase/7/docs/technotes/samples/hprof.html.
  • PERF_SETTINGS: Includes the settings for the perf profiler, available only for Linux. For more information, please see https://perf.wiki.kernel.org/index.php/Tutorial#Sampling_with_perf_record.
  • VTUNE_SETTINGS: Includes the settings for the vtune profiler. It requires Intel VTune to be installed on the system. For more information, please see https://software.intel.com/sites/products/documentation/doclib/iss/2013/amplifier/lin/ug_docs/GUID-09766DB6-3FA8-445B-8E70-5BC9A1BE7C55.htm#GUID-09766DB6-3FA8-445B-8E70-5BC9A1BE7C55.