GeoAnalytics Server is designed to accelerate your analysis workflows and help you process large datasets quickly. This acceleration in GeoAnalytics Server is made possible by its underlying distributed computing framework. This framework is unique in that it can use resources on a single machine or distribute the computing process across three machines in a multiple machine site.
The following are best practices for sizing, configuring, and modifying your GeoAnalytics Server site. It is recommended that you follow these practices to take advantage of the performance benefits available through GeoAnalytics Server by sizing your site appropriately.
Plan your GeoAnalytics Server site
GeoAnalytics Server is a capability of ArcGIS Enterprise that is enabled by licensing ArcGIS Server as GeoAnalytics Server. To set up GeoAnalytics Server, you must first set up an ArcGIS Enterprise base deployment and federate your GeoAnalytics Server site. In addition, you must install and register an ArcGIS Data Store configured as a spatiotemporal big data store that can be used to store your GeoAnalytics Server analysis results, as well as input to your analysis.
Learn more about setting up ArcGIS GeoAnalytics Server
It is recommended that you install GeoAnalytics Server on a separate machine than those used by the rest of your ArcGIS Enterprise deployment. This workload separation ensures that the distributed computing framework does not compete with other resources on your machines used for other operations.
You should also install ArcGIS Data Store (configured as a spatiotemporal big data store) on separate machines from your ArcGIS Enterprise base deployment and your GeoAnalytics Server machine or machines for similar reasons.
GeoAnalytics Server can be deployed on cloud infrastructure, and there are tools available to help you deploy in ArcGIS Enterprise on Microsoft Azure and ArcGIS Enterprise on Amazon Web Services. Information in this topic applies to cloud deployments as well.
Number of machines
When choosing the number of GeoAnalytics Server machines for your GeoAnalytics Server site, the following configurations are supported:
- GeoAnalytics Server on one machine for a single machine site
- GeoAnalytics Server on three machines for a multiple machine site
Sites with an even number of machines or more than three machines are not supported.
You need to have an equal number of ArcGIS Data Store machines (configured as spatiotemporal big data store) as there are GeoAnalytics Server machines. For example, if you're using a three-machine GeoAnalytics Server site, you must also have at least three machines running your spatiotemporal big data store.
You must have an ArcGIS Enterprise base deployment configured in addition to your ArcGIS Data Store and GeoAnalytics Server installations.
You can take advantage of the distributed computing capabilities of GeoAnalytics Server using a single machine. A single-machine can be surprisingly powerful, since that one machine will be using the majority of its resources (CPU and RAM) for GeoAnalytics Server analysis. If you do not want to scale to multiple machines, you can also use larger machines to dedicate more power to your analysis (see Size of machines below).
It is a good practice to first deploy a single machine to see if it meets your analysis needs. If it doesn't (your analysis jobs are unable to complete or unable to complete in an appropriate amount of time), you can do any one of the following:
- Add resources (CPU and RAM) to your existing machine.
- Provision a different machine that has more resources.
- Scale your site to include multiple machines (three machines).
If you decide to scale to multiple machines, the next step up is to scale to a three machine site. Two machine GeoAnalytics Server sites or sites beyond three machines are not supported. For more information on increasing the number of machines in your site, see Add machines to a GeoAnalytics site below.
Note:The number of GeoAnalytics Server machines in a site should always be an odd number (either one or three). Other machine quantities are not supported in GeoAnalytics Server.
Size of machines
The minimum capacity requirement for a GeoAnalytics Server machine is 4 cores and 16 GB of RAM. However, the recommended setting is at least 4 cores and 32 GB of RAM per machine. You may experience performance improvements when you increase the amount of RAM your machine uses.
Depending on the size of your data and the analysis tools you are running, you may experience varying performance (the time it takes to complete a job) from workflow to workflow.
If you're using a three machine site, all machines running GeoAnalytics Server should have the same amount of RAM. When you configure your GeoAnalytics Server site, you will set the percentage of available RAM that will be used per machine. A job will not start until all machines have that amount of RAM available. Therefore, if you have a machine that has more RAM than another machine, only the smaller amount of RAM will be used across every machine, and you will not benefit from the machines with the larger amount of RAM.
Number of spatiotemporal big data store machines
The number of machines with the spatiotemporal big data store installed and configured should be equivalent to or greater than the number of machines running GeoAnalytics Server. For example, if you're using three machines for GeoAnalytics Server, you should have at least three machines with the spatiotemporal big data store registered with your ArcGIS Enterprise hosting server.
If the number of GeoAnalytics Server machines is greater than the number of machines configured with your spatiotemporal big data store, the following message appears during analysis: Write failures may occur because the number of potential concurrent writers is much larger than the number of nodes in the data store. If this message appears, you need to increase the number of machines used for the spatiotemporal big data store so that the number is equal to or greater than the number of machines used for your GeoAnalytics Serversite.
Configure and use your GeoAnalytics Server site
Consider the information above regarding site planning and machine sizing when setting up your GeoAnalytics Server site for the first time. If your analysis needs change and you need to increase (or decrease) the number of machines in your GeoAnalytics Server site, follow the steps in the Add machines to a GeoAnalytics site and Delete machines from a GeoAnalytics site sections below.
Number of cores and amount of RAM used
When you have complete the steps to set up GeoAnalytics Server, you need to configure system properties to optimize the amount of resources (CPU and RAM) used by your site. Follow the steps in GeoAnalytics Server settings before running analysis.
Single user settings
GeoAnalytics Server is not designed for multiple users running large analyses at the same time, competing for resources. GeoAnalytics Server runs optimally when a single user runs a single analysis at a time. This way, your analysis can take advantage of all the resources available, minimizing processing time.
To ensure the best speed and performance from GeoAnalytics Server, be sure that one user at a time is using the system (running analysis). Once that user has finished their analysis, they can either run another single analysis, or make the system available to another analyst to run their job.
If multiple users run analysis at the same time, the following will occur:
- If you have one GeoAnalytics Server machine, each job will wait until the preceding GeoAnalytics Server job completes before running.
- If you have three GeoAnalytics Server machines, the job will wait for resources for 10 minutes. If the resources do not become available (that is, the previous job does not complete), the job will cancel and you will be notified.
Monitor your site and jobs
As an administrator, there are a few ways to monitor the status and health of your site.
To monitor the distributed framework, use the GeoAnalytics health check. Optionally, you can also use ArcGIS Monitor, which monitors your ArcGIS Enterprise deployment and also monitors your GeoAnalytics Server health check.
You can also use the jobs resource in Server Manager to query GeoAnalytics Server jobs that are currently running, completed, and so on, or intervene by stopping jobs. This is helpful when you want to see if your site is currently running analyses and how long a job has been running.
Modify your GeoAnalytics Server site
You may need to adjust the size of your GeoAnalytics Server site. Typically, this is to reduce processing time, especially if the amount of data you're analyzing has increased.
GeoAnalytics Server relies on services to manage and process GeoAnalytics Server tools.
Machines that are part of a GeoAnalytics Server site that have been restarted will be ready for use after the ArcGIS Server process has begun. Once a machine has been restarted, wait five minutes to confirm it is back and running. If you waited five minutes and are still having issues after a restart, see Common GeoAnalytics problems and solutions for next steps.
Add machines to a GeoAnalytics Server site
If you're using a single machine site and want to increase the number of GeoAnalytics Server machines, you can scale your site by adding two GeoAnalytics Server machines, resulting in a three-machine GeoAnalytics Server site. To add machines, following these steps:
- Install ArcGIS Server on two machines and license them for GeoAnalytics Server.
- Ensure that a GeoAnalytics Server job is not running on your current ArcGIS Server site.
- Use the setup wizard on both installed machines to add them to your existing GeoAnalytics Server site.
Delete machines from a GeoAnalytics Server site
Follow the steps below to remove machines from your GeoAnalytics Server site:
- Ensure that a GeoAnalytics Server job is not running on your current ArcGIS Server site. If a job is running, either cancel it or wait until it is complete.
- Remove two machines from your GeoAnalytics Server site using ArcGIS Server Manager.
Managing downtime with multiple machine GeoAnalytics Server sites
This section only applies if you are using a multiple machine GeoAnalytics Server site consisting of three machines and need to run analysis during downtime for one or two machines. This applies when downtime is planned (for maintenance, upgrades, patching or other) or unplanned.
When you run a job in this state (with one or two machines down), you will receive an error message "Unable to initialize distributed compute platform" until you follow these steps in the troubleshooting guide. It is not recommended to run in this state on a prolonged or permanent basis.
If you are looking to scale down a site by removing machines, follow the steps above.
If you are performing planned maintenance, ensure that no GeoAnalytics Server analyses are running before you stop a machine by either cancelling the job or waiting until it is complete.