Splunk® Enterprise

Distributed Search

Download manual as PDF

Splunk Enterprise version 6.x is no longer supported as of October 23, 2019. See the Splunk Software Support Policy for details. For information about upgrading to a supported version, see How to upgrade Splunk Enterprise.
Download topic as PDF

Configure a cluster member to run ad hoc searches only

A search head in a cluster typically services both ad hoc search requests from users and scheduled searches assigned by the captain. You can limit a cluster member to ad hoc search requests only. If you designate a member as an ad hoc search head, the captain will not assign it any scheduled searches.

You can designate an ad hoc search head in two ways:

  • You can specify that a particular member run only ad hoc searches at all times.
  • You can specify that a member run only ad hoc searches while it is the captain.

Note: Although you can specify that a member run only ad hoc searches, you cannot specify that it run only scheduled searches. Any cluster member can always run an ad hoc search. You can, of course, prevent user access to a search head through any number of means.

Configure a member to run ad hoc searches only

Depending on your specific deployment, you might want to reserve certain search heads for ad hoc use only. Ad hoc search heads will never run scheduled searches. To specify an ad hoc search head, set the adhoc_searchhead attribute in the member's server.conf file:

adhoc_searchhead = true

You must restart the instance for the change to take effect.

Configure the captain to run ad hoc searches only

You can designate the captain member as an ad hoc search head. This prevents members from running scheduled searches while they are serving as captain, so that the captain can dedicate its resources to controlling the activities of the cluster. When the captain role moves to another member, then the previous captain will resume running scheduled searches and the new captain will now run ad hoc searches only.

Important: Make this change on all cluster members, so that the behavior is the same no matter which member is functioning as captain.

To designate the captain as an ad hoc search head, set the captain_is_adhoc_searchhead attribute in server.conf on each member:

captain_is_adhoc_searchhead = true

You must restart each member for the change to take effect. Unlike most configuration changes related to search head clustering, you can use the splunk rolling-restart command to restart all members. See Restart the search head cluster.

For an overview of search head clustering configuration, see Configure the search head cluster.

Remove a cluster member
Handle failure of a search head cluster member

This documentation applies to the following versions of Splunk® Enterprise: 6.2.0, 6.2.1, 6.2.2, 6.2.3, 6.2.4, 6.2.5, 6.2.6, 6.2.7, 6.2.8, 6.2.9, 6.2.10, 6.2.11, 6.2.12, 6.2.13, 6.2.14, 6.2.15, 6.3.0, 6.3.1, 6.3.2, 6.3.3, 6.3.4, 6.3.5, 6.3.6, 6.3.7, 6.3.8, 6.3.9, 6.3.10, 6.3.11, 6.3.12, 6.3.13, 6.4.0, 6.4.1, 6.4.2, 6.4.3, 6.4.4, 6.4.5, 6.4.6, 6.4.7, 6.4.8, 6.4.9, 6.4.10, 6.4.11, 6.5.0, 6.5.1, 6.5.1612 (Splunk Cloud only), 6.5.2, 6.5.3, 6.5.4, 6.5.5, 6.5.6, 6.5.7, 6.5.8, 6.5.9, 6.5.10, 6.6.0, 6.6.1, 6.6.2, 6.6.3, 6.6.4, 6.6.5, 6.6.6, 6.6.7, 6.6.8, 6.6.9, 6.6.10, 6.6.11, 6.6.12, 7.0.0, 7.0.1, 7.0.2, 7.0.3, 7.0.4, 7.0.5, 7.0.6, 7.0.7, 7.0.8, 7.0.9, 7.0.10, 7.0.11, 7.0.13, 7.1.0, 7.1.1, 7.1.2, 7.1.3, 7.1.4, 7.1.5, 7.1.6, 7.1.7, 7.1.8, 7.1.9, 7.1.10, 7.2.0, 7.2.1, 7.2.2, 7.2.3, 7.2.4, 7.2.5, 7.2.6, 7.2.7, 7.2.8, 7.2.9, 7.3.0, 7.3.1, 7.3.2, 7.3.3, 7.3.4, 8.0.0, 8.0.1, 8.0.2


Koops - Good point. The best way to keep the job load to a minimum on the captain is to configure captain_is_adhoc_searchhead = true. But, in your example, if two of your other three members are also configured as adhoc-only, then you've got problems, as it leaves you with just one SH to run all scheduled searches. It seems, though, that the need to designate SHs as job servers is somewhat obviated with a SHC, because of the centralized job scheduling it provides.

November 4, 2014

In my above question I was more referring to role allocation in a situation where you had previously tried to configure say 2 job servers (by making the other 2 adhoc only) out of a total pool of 4 search heads. Two of these search heads are ineligible to run scheduled jobs however all 4 are eligible to become the captain. Potentially you can have an overloaded job server as your captain, not an ideal situation.

November 4, 2014

Koops - A user can initiate an ad hoc search from any search head. It runs from that search head; the captain doesn't re-allocate it. But if the search head is designated ad-hoc-only, then the captain won't distribute scheduled jobs to it. The captain distributes scheduled jobs to any non-ad-hoc-only search head in the cluster, basing the allocation on the comparative loads of those search heads. The search head with the lowest current load should get the next scheduled job.

September 22, 2014

How does the adhoc_searchhead option interact with the captain function in a situation where, say, 2 of 4 search heads have "adhoc_searchhead = true"? Is there any preference to role allocation on an adhoc sh vs job sh?

September 22, 2014

Was this documentation topic helpful?

Enter your email address, and someone from the documentation team will respond to you:

Please provide your comments here. Ask a question or make a suggestion.

You must be logged into splunk.com in order to post comments. Log in now.

Please try to keep this discussion focused on the content covered in this documentation topic. If you have a more general question about Splunk functionality or are experiencing a difficulty with Splunk, consider posting a question to Splunkbase Answers.

0 out of 1000 Characters