14.01.2013 Views

FAST ESP Operations Guide

FAST ESP Operations Guide

FAST ESP Operations Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>FAST</strong> Enterprise Search Platform<br />

version:5.3<br />

<strong>Operations</strong> <strong>Guide</strong><br />

Document Number: <strong>ESP</strong>1025, Document Revision: B, December 03, 2009


Copyright<br />

Copyright © 1997-2009 by Fast Search & Transfer ASA (“<strong>FAST</strong>”). Some portions may be copyrighted<br />

by <strong>FAST</strong>’s licensors. All rights reserved.The documentation is protected by the copyright laws of Norway,<br />

the United States, and other countries and international treaties. No copyright notices may be removed<br />

from the documentation. No part of this document may be reproduced, modified, copied, stored in a<br />

retrieval system, or transmitted in any form or any means, electronic or mechanical, including<br />

photocopying and recording, for any purpose other than the purchaser’s use, without the written<br />

permission of <strong>FAST</strong>. Information in this documentation is subject to change without notice.The software<br />

described in this document is furnished under a license agreement and may be used only in accordance<br />

with the terms of the agreement.<br />

Trademarks<br />

<strong>FAST</strong> <strong>ESP</strong>, the <strong>FAST</strong> logos, <strong>FAST</strong> Personal Search, <strong>FAST</strong> mSearch, <strong>FAST</strong> InStream, <strong>FAST</strong> AdVisor,<br />

<strong>FAST</strong> Marketrac, <strong>FAST</strong> ProPublish, <strong>FAST</strong> Sentimeter, <strong>FAST</strong> Scope Search, <strong>FAST</strong> Live Analytics, <strong>FAST</strong><br />

Contextual Insight, <strong>FAST</strong> Dynamic Merchandising, <strong>FAST</strong> SDA, <strong>FAST</strong> MetaWeb, <strong>FAST</strong> InPerspective,<br />

NXT, <strong>FAST</strong> Unity, <strong>FAST</strong> Radar, RetrievalWare, AdMomentum, and all other <strong>FAST</strong> product names<br />

contained herein are either registered trademarks or trademarks of Fast Search & Transfer ASA in<br />

Norway, the United States and/or other countries. All rights reserved. This documentation is published<br />

in the United States and/or other countries.<br />

Sun, Sun Microsystems, the Sun Logo, all SPARC trademarks, Java, and Solaris are trademarks or<br />

registered trademarks of Sun Microsystems, Inc. in the United States and other countries.<br />

Netscape is a registered trademark of Netscape Communications Corporation in the United States and<br />

other countries.<br />

Microsoft, Windows, Visual Basic, and Internet Explorer are either registered trademarks or trademarks<br />

of Microsoft Corporation in the United States and/or other countries.<br />

Red Hat is a registered trademark of Red Hat, Inc.<br />

UNIX is a registered trademark of The Open Group in the United States and other countries.<br />

Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.<br />

AIX and IBM Classes for Unicode are registered trademarks or trademarks of International Business<br />

Machines Corporation in the United States, other countries, or both.<br />

HP and the names of HP products referenced herein are either registered trademarks or service marks,<br />

or trademarks or service marks, of Hewlett-Packard Company in the United States and/or other countries.<br />

Remedy is a registered trademark, and Magic is a trademark, of BMC Software, Inc. in the United States<br />

and/or other countries.<br />

XML Parser is a trademark of The Apache Software Foundation.<br />

All other company, product, and service names are the property of their respective holders and may be<br />

registered trademarks or trademarks in the United States and/or other countries.<br />

Restricted Rights Legend<br />

The documentation and accompanying software are provided to the U.S. government in a transaction<br />

subject to the Federal Acquisition Regulations with Restricted Rights. Use, duplication, or disclosure of<br />

the documentation and software by the government is subject to restrictions as set forth in FAR 52.227-19<br />

Commercial Computer Software-Restricted Rights (June 1987).


Contact Us<br />

Web Site<br />

Please visit us at: http://www.fastsearch.com/<br />

Contacting <strong>FAST</strong><br />

<strong>FAST</strong><br />

Cutler Lake Corporate Center<br />

117 Kendrick Street, Suite 100<br />

Needham, MA 02492 USA<br />

Tel: +1 (781) 304-2400 (8:30am - 5:30pm EST)<br />

Fax: +1 (781) 304-2410<br />

Technical Support and Licensing Procedures<br />

Technical support for customers with active <strong>FAST</strong> Maintenance and Support agreements, e-mail:<br />

fasttech@microsoft.com<br />

For obtaining <strong>FAST</strong> licenses or software, contact your <strong>FAST</strong> Account Manager or e-mail:<br />

fastcsrv@microsoft.com<br />

For evaluations, contact your <strong>FAST</strong> Sales Representative or <strong>FAST</strong> Sales Engineer.<br />

Product Training<br />

E-mail: fastuniv@microsoft.com<br />

To access the <strong>FAST</strong> University Learning Portal, go to: http://www.fastuniversity.com/<br />

Sales<br />

E-mail: sales@fastsearch.com


Contents<br />

Preface..................................................................................................ii<br />

Copyright..................................................................................................................................ii<br />

Contact Us...............................................................................................................................iii<br />

Chapter 1: Starting, stopping, suspending, and resuming............11<br />

Starting...................................................................................................................................12<br />

Setting environment variables on UNIX.......................................................................12<br />

Setting environment variables on Windows.................................................................12<br />

Starting <strong>FAST</strong> <strong>ESP</strong> on a UNIX node...........................................................................12<br />

Starting <strong>FAST</strong> <strong>ESP</strong> on a Windows node......................................................................12<br />

Starting <strong>FAST</strong> <strong>ESP</strong> with fault tolerant indexers...........................................................13<br />

Stopping.................................................................................................................................13<br />

Stopping <strong>FAST</strong> <strong>ESP</strong> via sequential shutdown.............................................................13<br />

Stopping <strong>FAST</strong> <strong>ESP</strong> via simple shutdown (UNIX).......................................................15<br />

Stopping <strong>FAST</strong> <strong>ESP</strong> via simple shutdown (Windows).................................................15<br />

Starting and stopping modules via nctrl.................................................................................15<br />

Single node scenario...................................................................................................16<br />

Multi-node scenario.....................................................................................................16<br />

Chapter 2: Backing up and restoring...............................................17<br />

Determining backup and restore needs.................................................................................18<br />

Configuration...............................................................................................................18<br />

Content........................................................................................................................19<br />

Checklists: Backing up and restoring specific types of nodes................................................20<br />

Single node system backup and restore.....................................................................20<br />

Administration node backup and restore in a multi-node system................................21<br />

QRServer node backup and restore............................................................................22<br />

Processing server node backup and restore...............................................................22<br />

Backing up and restoring configuration data..........................................................................23<br />

System configuration backup and restore...................................................................23<br />

Resource service backup and restore.........................................................................26<br />

Backing up and restoring dictionaries..........................................................................26<br />

Admin server backup and restore................................................................................27<br />

Backing up and restoring content...........................................................................................28<br />

Preparation for backup................................................................................................28<br />

Backing up and restoring content connectors.............................................................29<br />

Index data backup and restore....................................................................................29<br />

5


<strong>FAST</strong> Enterprise Search Platform<br />

6<br />

Chapter 3: Applying runtime deployment changes........................33<br />

Installing nodes from the install profile...................................................................................34<br />

Reinstalling a node via the install profile.....................................................................34<br />

Adding new nodes via the install profile .....................................................................34<br />

Increasing indexing and search capacity...............................................................................35<br />

Adding new search or index nodes via the install profile.............................................36<br />

Using row and column IDs for search engine nodes...................................................37<br />

Adding a new dedicated search row............................................................................38<br />

Adding an indexer column...........................................................................................39<br />

Adding an indexer column (for archive indexing).........................................................42<br />

Adding an indexer row.................................................................................................44<br />

Adding a top-level dispatcher.................................................................................................46<br />

searchrc-dispatch.xml attributes..................................................................................48<br />

Adding a new QRServer.........................................................................................................48<br />

Increasing document feed and processing capacity..............................................................50<br />

Adding a crawler on an existing node via <strong>FAST</strong> <strong>ESP</strong> administrator interface..............50<br />

Adding a crawler node via install profile......................................................................50<br />

Adding a processor server on an existing node via <strong>FAST</strong> <strong>ESP</strong> administrator interface.51<br />

Adding a document processor node via install profile.................................................51<br />

Adding a content distributor....................................................................................................52<br />

Adding an indexing dispatcher...............................................................................................53<br />

Multi-node license file considerations.....................................................................................54<br />

Increasing indexing and search capacity with independent search nodes.............................54<br />

Moving RTS.................................................................................................................55<br />

Moving a QRServer.....................................................................................................56<br />

Moving an RTS top dispatcher....................................................................................57<br />

Chapter 4: Running <strong>FAST</strong> <strong>ESP</strong> in standalone mode.......................59<br />

About standalone mode.........................................................................................................60<br />

Creating standalone versions of processes...........................................................................60<br />

Creating a standalone QRServer................................................................................60<br />

Creating a standalone search process........................................................................61<br />

Creating a standalone top-level dispatcher.................................................................62<br />

Switching search to standalone mode....................................................................................63<br />

Restoring normal operations from standalone search...........................................................65<br />

Chapter 5: Working with an Indexing Fault Tolerant Configuration.67<br />

Starting Indexers in a Fault Tolerant Configuration.................................................................68<br />

Stopping Indexers in a Fault Tolerant Configuration...............................................................68<br />

Enabling Indexing Fault Tolerance..........................................................................................69<br />

Disabling Indexing Fault Tolerance.........................................................................................70<br />

Synchronizing Indexer Rows..................................................................................................72


Upgrading Indexer Binaries in a Fault Tolerant Configuration ...............................................73<br />

Backing up Indexing in a Fault Tolerant Configuration............................................................73<br />

Indexing Fault Tolerance Configuration Parameters...............................................................74<br />

Chapter 6: Changing the host name of a <strong>FAST</strong> <strong>ESP</strong> node.............75<br />

Changing the host name in a UNIX system...........................................................................76<br />

Changing the host name in a Windows system......................................................................77<br />

Chapter 7: Changing the admin user password.............................79<br />

Changing the admin user password.......................................................................................80<br />

Chapter 8: Granting system access to non-privileged users........81<br />

Granting system access to non-privileged users....................................................................82<br />

Chapter 9: Uploading a new index profile from command-line.....83<br />

Uploading a new index profile using bliss...............................................................................84<br />

Cold update of index profile using dedicated search row.......................................................84<br />

Chapter 10: SNMP Agent...................................................................87<br />

About the SNMP Agent..........................................................................................................88<br />

Starting the SNMP Agent.......................................................................................................88<br />

SNMP MIB..............................................................................................................................88<br />

SNMP MIB variables..............................................................................................................93<br />

SNMP MIB variables - Imports....................................................................................93<br />

SNMP MIB variables - Type definitions........................................................................93<br />

SNMP MIB variables - Managed variables..................................................................93<br />

SNMP MIB variables - Events/Traps............................................................................99<br />

SNMP MIB variables - Groups....................................................................................99<br />

SNMP MIB variables - Compliance...........................................................................102<br />

Chapter 11: Monitoring tool............................................................103<br />

About the monitoring tool.....................................................................................................104<br />

Monitoring tool navigation bar selections.............................................................................104<br />

Associating clusters with the monitoring tool.............................................................106<br />

Integration with <strong>FAST</strong> <strong>ESP</strong>........................................................................................106<br />

Administration navigation bar selections..............................................................................106<br />

Adding the graphing engine.................................................................................................107<br />

Creating and configuring cluster views.................................................................................108<br />

Create cluster configuration screen options..............................................................109<br />

Creating a custom logger based on query count.................................................................110<br />

Creating a custom logger based on standard alerts............................................................112<br />

7


<strong>FAST</strong> Enterprise Search Platform<br />

8<br />

Creating a schedule...................................................................................................113<br />

Managing global parameters................................................................................................113<br />

Global configuration screen selections......................................................................114<br />

XML data..............................................................................................................................115<br />

Alerting e-mail configuration information..............................................................................115<br />

Monitoring <strong>ESP</strong> in a redundant data center setup................................................................117<br />

Configuring the <strong>ESP</strong> redundant data center monitoring tool................................................117<br />

Rule options for rule sets in monitor.xml....................................................................118<br />

Chapter 12: Deleting documents from an index...........................121<br />

Deleting a single document from the index (option 1)..........................................................122<br />

Deleting a list of documents in one operation (option 2)......................................................122<br />

Deleting documents from an index (option 3).......................................................................123<br />

Chapter 13: Real-time search tuning..............................................125<br />

About real-time search tuning..............................................................................................126<br />

Real-time search tuning configuration file............................................................................126<br />

Optimizing for query performance........................................................................................126<br />

Reducing memory footprint..................................................................................................127<br />

Reducing index latency........................................................................................................129<br />

Chapter 14: Configuring logging....................................................131<br />

About configuring logging.....................................................................................................132<br />

Log levels.............................................................................................................................133<br />

Log destinations...................................................................................................................133<br />

filedestination.............................................................................................................133<br />

netdestination............................................................................................................134<br />

stdoutdestination.......................................................................................................134<br />

Chapter 15: nctrl tool.......................................................................135<br />

nctrl tool................................................................................................................................136<br />

Chapter 16: psctrl and doclog tools...............................................139<br />

psctrl tool..............................................................................................................................140<br />

doclog tool............................................................................................................................141<br />

Chapter 17: collection-admin tool..................................................143<br />

About collection-admin tool..................................................................................................144<br />

collection-admin tool usage..................................................................................................144<br />

Add or create collection........................................................................................................144<br />

Modify collection...................................................................................................................145


View collection......................................................................................................................145<br />

List collections......................................................................................................................146<br />

Delete collection...................................................................................................................146<br />

View pipeline stages.............................................................................................................146<br />

List all pipelines....................................................................................................................147<br />

List all modules.....................................................................................................................147<br />

List all datasources...............................................................................................................148<br />

List all clusters......................................................................................................................148<br />

Clear collection.....................................................................................................................148<br />

Global options for collection-admin......................................................................................148<br />

Chapter 18: indexeradmin, indexerinfo and searchadmin tools...151<br />

indexeradmin tool.................................................................................................................152<br />

indexerinfo tool.....................................................................................................................154<br />

searchadmin tool..................................................................................................................156<br />

Chapter 19: boostbt tool.................................................................159<br />

boostbt tool...........................................................................................................................160<br />

boostbt tool command line options.......................................................................................160<br />

Commands with arguments..................................................................................................161<br />

Output commands................................................................................................................161<br />

Administrative commands....................................................................................................161<br />

boostbt examples.................................................................................................................162<br />

Chapter 20: rc tool...........................................................................165<br />

rc tool....................................................................................................................................166<br />

Chapter 21:exportsearchprofile, importsearchprofile and view-admin tools.167<br />

exportsearchprofile tool........................................................................................................168<br />

importsearchprofile tool........................................................................................................169<br />

view-admin tool....................................................................................................................170<br />

view-admin operations...............................................................................................171<br />

Chapter 22: qrserver-admin tool....................................................179<br />

qrserver-admin tool..............................................................................................................180<br />

qrserver-admin tool usage....................................................................................................180<br />

Register operation.....................................................................................................181<br />

Remove operation.....................................................................................................182<br />

Offline operation........................................................................................................182<br />

Standalone operation................................................................................................182<br />

Down operation.........................................................................................................183<br />

Up operation..............................................................................................................183<br />

9


<strong>FAST</strong> Enterprise Search Platform<br />

10<br />

List operation.............................................................................................................183<br />

Status operation........................................................................................................183<br />

Find operation............................................................................................................184


Chapter<br />

1<br />

Starting, stopping, suspending, and resuming<br />

Topics:<br />

• Starting<br />

• Stopping<br />

• Starting and stopping modules via<br />

nctrl<br />

This section decribes how to start, stop, suspend, and resume <strong>FAST</strong> <strong>ESP</strong> or<br />

individual components of <strong>FAST</strong> <strong>ESP</strong>. It also describes how to set environment<br />

variables to support <strong>FAST</strong> <strong>ESP</strong>.


<strong>FAST</strong> Enterprise Search Platform<br />

12<br />

Starting<br />

This section describes how to set environment variables and how to start <strong>FAST</strong> <strong>ESP</strong>.<br />

Setting environment variables on UNIX<br />

To set up <strong>FAST</strong> <strong>ESP</strong> environment variables, do one of the following:<br />

Note: For information about which variables <strong>FAST</strong> <strong>ESP</strong> uses, consult the appropriate script.<br />

1. If you are using a bash or sh related shell, add the following command to the .bashrc or .profile file:<br />

cd /bin<br />

source ./setupenv.sh<br />

2. If you are using a csh related shell, add the following command to the .cshrc file:<br />

cd /bin<br />

source ./setupenv.csh<br />

Due to a limitation of the csh shell (not tcsh), if the setupenv.csh is sourced correctly from a csh, the<br />

following will be printed after successful sourcing: No file for $0. Note: This message can be<br />

disregarded, it does not mean that something is wrong.<br />

Setting environment variables on Windows<br />

The <strong>FAST</strong> <strong>ESP</strong> installer modifies the PATH variable and some other variables to support <strong>FAST</strong> <strong>ESP</strong>. You<br />

do not need to modify any variables on Windows before starting <strong>FAST</strong> <strong>ESP</strong>.<br />

Note: If you want to control <strong>FAST</strong> <strong>ESP</strong> from the command line, you must start a new command shell<br />

(cmd.exe) after installing <strong>FAST</strong> <strong>ESP</strong>. Command shells running before installation will not have the correct<br />

environment variables set.<br />

Starting <strong>FAST</strong> <strong>ESP</strong> on a UNIX node<br />

To start <strong>FAST</strong> <strong>ESP</strong> on UNIX:<br />

Note: On UNIX, <strong>FAST</strong> <strong>ESP</strong> is not configured to start automatically after a system reboot. If this is<br />

required, consult the documentation for your operating system for how to enable it.<br />

1. Ensure that environment variables are set properly. Refer to Setting environment variables on UNIX.<br />

2. Enter the following command:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl start<br />

All the processes currently marked as active are started.<br />

3. In a multi-node installation, repeat the previous steps on all nodes, starting with the <strong>FAST</strong> <strong>ESP</strong><br />

administration node.<br />

Starting <strong>FAST</strong> <strong>ESP</strong> on a Windows node<br />

<strong>FAST</strong> <strong>ESP</strong> runs as a service by default on Windows systems.<br />

To start <strong>FAST</strong> <strong>ESP</strong>:<br />

1. Perform one of the following:<br />

• From the taskbar, select: Start > Program > <strong>FAST</strong> <strong>ESP</strong> > <strong>FAST</strong> <strong>ESP</strong> - Start


• Use the following command:<br />

net start Fast<strong>ESP</strong>Service<br />

• From the taskbar, select: Start > Control Panel > Administrative Tools > Services.<br />

Start <strong>FAST</strong> <strong>ESP</strong>.<br />

In the Properties dialog of the <strong>FAST</strong> <strong>ESP</strong> service you can choose whether or not this service should<br />

be started after system boot.<br />

2. In a multi-node installation, repeat the previous step on all the nodes, starting with the <strong>FAST</strong> <strong>ESP</strong><br />

administration node.<br />

Starting <strong>FAST</strong> <strong>ESP</strong> with fault tolerant indexers<br />

In an installation with fault tolerance, the master indexer should be started first.<br />

If one of the backup indexers is started before the master indexer, it will try to become the master. This will<br />

cause substantial delays in indexing, as the new master will have to regenerate its index structure from fixml<br />

before it can start indexing new content.<br />

1. Start the row with the master indexer.<br />

2. Wait until the master indexers are up and have assumed the "master" role.<br />

Open the <strong>FAST</strong> <strong>ESP</strong> administrator interface Matching Engines page.Wait, refreshing the page periodically,<br />

until the columns appear. For each of the columns, open its control panel and wait until "Column role" is<br />

reported as "Master".<br />

3. Start the backup indexer rows.<br />

Stopping<br />

This section describes how to stop <strong>FAST</strong> <strong>ESP</strong>; procedures include suspending and resuming components.<br />

Stopping <strong>FAST</strong> <strong>ESP</strong> via sequential shutdown<br />

A sequential shutdown suspends or stops components individually and in a specific sequence before completing<br />

a shutdown. This is necessary for all components to keep the same view of the content after a restart and to<br />

maintain consistent behavior and data before and after the shutdown.<br />

Run this shutdown procedure on all nodes in your system, as the command-line tool nctrl that is used for<br />

shutdown works on a per node basis only.<br />

1. Suspend the crawler or file traverser on any node.<br />

2. Suspend all active connectors on any node.<br />

3. Wait for ongoing document processing to finish.<br />

4. Shut down all <strong>FAST</strong> <strong>ESP</strong> processes involved in document processing; this includes all nodes that are<br />

running document processors or content distributors.<br />

5. Shut down all QRServers on any node.<br />

6. Suspend indexing on all indexer nodes. Note that a suspended index will remain suspended after a<br />

stop/start sequence, so the indexer must be explicitly resumed.<br />

7. Shut down indexer and search nodes on any nodes.<br />

If the system has been configured with fault tolerance, the master indexer row must be shut down last.<br />

Refer to Stopping <strong>FAST</strong> <strong>ESP</strong> with fault tolerant indexers.<br />

8. Perform simple shutdown on all nodes to shut down remaining components.<br />

Starting, stopping, suspending, and resuming<br />

13


<strong>FAST</strong> Enterprise Search Platform<br />

14<br />

Suspending the crawler<br />

Refer to the Crawler <strong>Guide</strong> for proper procedures.<br />

Suspending the file traverser<br />

The file traverser does not have an explicit suspending or resuming operation. Either a run must continue to<br />

completion, or if you choose to interrupt a file traverse being executed, you need to re-process the entire run<br />

after system restart.<br />

Suspending the <strong>FAST</strong> connectors<br />

If there are <strong>FAST</strong> connectors running within your <strong>FAST</strong> <strong>ESP</strong> installation, refer to the respective <strong>FAST</strong> connector<br />

documentation for proper suspend procedures.<br />

Suspending document processing<br />

After the connectors have been stopped, there may still be documents in the pipeline within the system. If<br />

this is the case, then suspend document processing. However, if all connectors in use keep track of the status<br />

of individual updates, and are able to re-process incomplete documents after restart, then you do not need<br />

to suspend document processing.<br />

1. To ensure that no more content is being processed, suspend document processing. Select the suspend<br />

symbol for all document processors on the System Management screen in the <strong>FAST</strong> <strong>ESP</strong> administrator<br />

interface.<br />

2. The safest strategy for a connector is to re-process all documents for which the final callback has not been<br />

received when the system comes back up.<br />

Suspending indexing on an indexer node<br />

Suspending indexing is useful to ensure a consistent and known state of the index on disk before backup, or<br />

during shutdown and restart of whole or parts of the system.<br />

1. Depending on your need, use one of the following indexeradmin commands:<br />

• To suspend processing, the persistence to disk, and the indexing of documents on all indexer nodes,<br />

run the following command:<br />

indexeradmin -a suspend<br />

The corresponding command for resuming indexing is<br />

indexeradmin -a resume<br />

• To stop only the indexing of documents, run the following command:<br />

indexeradmin -a suspendindexing<br />

The corresponding command for resuming indexing is<br />

indexeradmin -a resumeindexing<br />

Refer to indexeradmin tool for usage information.<br />

Stopping <strong>FAST</strong> <strong>ESP</strong> with fault tolerant indexers<br />

In an installation with fault tolerance, the master indexer should be stopped last.<br />

If the master indexer is stopped before backup indexers, one of the backup indexers will try to become the<br />

master. This will cause substantial delays, as the new master will regenerate its index structure from fixml.<br />

1. Stop the backup indexer rows.<br />

2. Wait until the backup indexers have shut down.<br />

Open the <strong>FAST</strong> <strong>ESP</strong> administrator interface Matching Engines page.Wait, refreshing the page periodically,<br />

until the backup indexers have disappeared from the display.


3. Stop the master indexer rows.<br />

Stopping <strong>FAST</strong> <strong>ESP</strong> via simple shutdown (UNIX)<br />

A simple shutdown stops a node completely without first suspending or stopping individual components. This<br />

procedure does not ensure consistent behavior or data after a restart of the system. It is usually helpful only<br />

in a testing environment where consistency is not required, or in a system where documents are regularly<br />

reprocessed and will eventually be re-entered and reprocessed at a later time. In such cases, the possibility<br />

of a few documents not being available for a limited period of time may not be as critical.<br />

Run this procedure on all nodes in your system, as the command-line tool nctrl that is used for shutdown<br />

works on a per node basis only.<br />

1. Ensure that environment variables are set properly. Refer to Setting environment variables on UNIX.<br />

2. Enter the following command:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl stop<br />

All the processes currently marked as active are stopped.<br />

3. In a multi-node installation, repeat the previous step on all the nodes, finishing with the <strong>FAST</strong> <strong>ESP</strong><br />

administration node.<br />

Stopping <strong>FAST</strong> <strong>ESP</strong> via simple shutdown (Windows)<br />

A simple shutdown stops a node completely without first suspending or stopping individual components. This<br />

procedure does not ensure consistent behavior or data after a restart of the system. It is usually helpful only<br />

in a testing environment where consistency is not required, or in a system where documents are regularly<br />

reprocessed and will eventually be re-entered and reprocessed at a later time. In such cases, the possibility<br />

of a few documents not being available for a limited period of time may not be as critical.<br />

Run this procedure on all nodes in your system:<br />

1. Perform one of the following:<br />

• From the taskbar, select: Start > Program > <strong>FAST</strong> <strong>ESP</strong> > <strong>FAST</strong> <strong>ESP</strong> - Stop<br />

• Use the following command:<br />

net stop Fast<strong>ESP</strong>Service<br />

• From the taskbar, select: Start > Control Panel > Administrative Tools > Services.<br />

Stop <strong>FAST</strong> <strong>ESP</strong>.<br />

2. In a multi-node installation, repeat the previous step on all the nodes, finishing with the <strong>FAST</strong> <strong>ESP</strong><br />

administration node.<br />

Starting and stopping modules via nctrl<br />

You can control modules from the <strong>FAST</strong> <strong>ESP</strong> administrator interface or by executing binaries associated with<br />

the modules.The binaries are located in $<strong>FAST</strong>SEARCH/bin directory and most of them require a proper setup<br />

of the environment. This section describes how to do this through the node controller nctrl command.<br />

Use $<strong>FAST</strong>SEARCH/bin/nctrl to start and stop running modules.<br />

Refer to nctrl tool for usage information.<br />

Starting, stopping, suspending, and resuming<br />

15


<strong>FAST</strong> Enterprise Search Platform<br />

16<br />

Single node scenario<br />

Since all processes are running on a single node, a single nctrl start or nctrl stop command can be issued<br />

from the command-line to start or stop the system.You can view the order in which processes start by issuing<br />

the nctrl start command.<br />

Multi-node scenario<br />

The administration node should be the last node to go down and the first node to come up. This is because<br />

it runs several critical services including the license manager and configuration server. Be sure to bring the<br />

administration node online first in a multi-node environment.<br />

If you have a multi-node environment, each node should be started up one node at a time after the<br />

administration node is up and running. To start a multi-node system:<br />

1. Start the administration node (primary node).<br />

2. Start the indexer nodes.<br />

3. Start the secondary nodes.<br />

4. Wait until indexes are initialized. Go to Collection Overview->Edit Collection in the <strong>FAST</strong> <strong>ESP</strong><br />

administrator interface and make sure that a green box with text similar to this is visible: Search is available,<br />

x public documents found where x is the expected number of documents in this collection.<br />

5. If processes do not start, make sure your environment is correct:<br />

• Check the environment variables and paths<br />

• Check the configuration files, access rights<br />

• Check for port conflicts


Chapter<br />

2<br />

Backing up and restoring<br />

Topics:<br />

• Determining backup and restore<br />

needs<br />

• Checklists: Backing up and<br />

restoring specific types of nodes<br />

• Backing up and restoring<br />

configuration data<br />

• Backing up and restoring content<br />

This section decribes how to backup and restore <strong>FAST</strong> <strong>ESP</strong> system components.


<strong>FAST</strong> Enterprise Search Platform<br />

18<br />

Determining backup and restore needs<br />

Decisions on what parts of a <strong>FAST</strong> <strong>ESP</strong> system to backup are closely related to decisions made during<br />

deployment. Consider all servers in the <strong>FAST</strong> <strong>ESP</strong> system and whether they have configuration needs.There<br />

are two types of information that you need to backup and restore: configuration and content. Configuration<br />

information is changed by explicit action of an administrator and is stable once the system is operational.<br />

Content changes all the time as long as content feeding and indexing is active.<br />

Some steps in the following procedures are optional; you may choose to omit the step, for example to make<br />

a tradeoff between the amount of data to back up and the time to make a recovery. Such steps are marked<br />

"(optional)".<br />

Other steps do not apply in all circumstances, but if the conditions are met, the step must be performed.<br />

These steps are marked "(conditional)".<br />

Configuration<br />

This section describes the different types of <strong>FAST</strong> <strong>ESP</strong> configuration data including how the system is<br />

deployed, how data is handled in the index, and how incoming documents and queries are processed.<br />

Configuration of <strong>FAST</strong> <strong>ESP</strong> can be divided into the following subcategories:<br />

• Install configuration (one per <strong>FAST</strong> <strong>ESP</strong> system):<br />

The basic layout of the system, distribution of tasks and mapping to nodes, are created by the <strong>FAST</strong> <strong>ESP</strong><br />

installer, and saved in $<strong>FAST</strong>SEARCH/InstallProfile.xml. Upon reinstallation of a system or installation<br />

of a copy of a system, select advanced mode and supply the saved configuration file kept from the earlier<br />

install. If desired, it is possible to run the installer to create a new index profile without starting the installation.<br />

Refer to Adding new nodes via the install profile for detailed procedures.<br />

• Index profile (one per cluster)<br />

The index profile is the top-level interface as to how documents are represented and stored on disk, and<br />

to what features the installation makes available. Details of the index profile features are documented in<br />

the Configuration <strong>Guide</strong>.<br />

• Collection specific configuration<br />

Collection specific configuration information is in use in several components:<br />

• Certain data sources maintain their own collection specific information. Most of the configuration<br />

information associated with the crawler is in the form of a collection specific configuration, such as<br />

what URLs to crawl or document types to accept.You can also export/import configuration per collection;<br />

refer to Exporting and importing collection specific crawler configuration in the Crawler <strong>Guide</strong>. For other<br />

connectors, consult the relevant connector guide for details.<br />

• The configuration server maintains a list of all existing collections in $<strong>FAST</strong>SEARCH/etc/CSConfig.xml.<br />

This file is updated by the configuration server upon exit. Refer to System configuration backup and<br />

restore.<br />

• Document processing configuration<br />

Document processing configuration consists of the configuration of pipelines, processing stages, and<br />

dictionaries. Pipeline and processing stage configuration is maintained by the configuration server. If<br />

custom dictionaries have been made, these must also be backed up, in addition to any custom document<br />

processor stages.<br />

• Query and result processing configuration:<br />

The QRServer configuration is similar to the document processing configuration.The query transformation<br />

and result processing pipeline configuration, as well as the configuration for the individual query transformers<br />

and result processors are maintained by the configuration server and admin server. There may be custom


dictionaries and other resources, as well as custom transformers and processors (shared libraries/DLLs)<br />

which must be backed up.<br />

• Admin server:<br />

The admin server maintains <strong>FAST</strong> Home and SBC, including search profiles, views, boosts, administrative<br />

users and their rights assignments. Dictionaries are also maintained in the admin server. This information<br />

is stored in the storage service database and in the resource service.<br />

The <strong>FAST</strong> <strong>ESP</strong> installation contains numerous configuration files which are not normally are customized, or<br />

are derived from other master configuration files. These files are not explicitly covered by the backup and<br />

restore procedures.<br />

The backup and restore procedures specified in this chapter are intended to cover all the configuration changes<br />

that can be carried out through the <strong>FAST</strong> <strong>ESP</strong> administrator interface or by using the command-line tools<br />

described in the Configuration <strong>Guide</strong>. By accessing the files directly, you can modify or add configuration<br />

files which are not covered, and thus, there may be a need for site-specific additions and adaptations to the<br />

backup and restore procedures. It is recommended to test site-specific backup and restore procedures to<br />

ensure there are no omissions.<br />

Content<br />

Content includes the different representations of the submitted and indexed data within <strong>FAST</strong> <strong>ESP</strong>.<br />

Content includes:<br />

Backing up and restoring<br />

• Content related repositories within <strong>FAST</strong> <strong>ESP</strong>. From a backup/restore perspective, the following content<br />

related repositories must be considered:<br />

• Data Sources. Refer to Backing up and restoring content connectors.<br />

• Index Data. Refer to Index data backup and restore.<br />

• Document Processing related repositories. If authority ranking based on anchor text is in use for WEB<br />

content (by default in the SiteSearch and NewsSearch pipelines), the data source state (e.g. Enterprise<br />

Crawler) should be taken backup of. This is because it is not advised to attempt a backup of the<br />

WebAnalyzer data store.The reason for this is that restoring such a backup will result in the WebAnalyzer<br />

data being out of sync with the data source (e.g. Enterprise Crawler). If the WebAnalyzer needs to be<br />

restored, the data should be re-fed instead. Such a re-feed can be performed without having to re-index.<br />

• Content being passed through the system. At the time of a backup, content processing should be<br />

suspended.<br />

Which parts of the content flow to backup is mainly related to how long it will take to restore a <strong>FAST</strong> <strong>ESP</strong><br />

system to the state it was before a system failure.<br />

• A full re-feed may be acceptable if search down-time equals the time it takes to re-feed and re-index, and<br />

if the original data is available for re-feeding. This is the simplest scenario. In this case you only need to<br />

back up the system configuration.<br />

• In some cases, a full re-feed takes a much longer time than re-indexing, or the original data is not readily<br />

available. For such cases it may be acceptable to re-index but not re-feed. Content fed into <strong>FAST</strong> <strong>ESP</strong><br />

using the content APIs or connectors will first pass through document processing, which normally does<br />

not involve any storing of content to disk. Then documents will be fed to the indexer, which will store it to<br />

disk using the <strong>FAST</strong> internal indexer XML format named fixml. By backing up the fixml data only it is<br />

possible to recover in reasonable time, where each indexer will perform a full re-index from the fixml.<br />

• High-availability cases may consider backing up the entire index data.<br />

Only the data that needs to be available for indexing and result processing/presentation needs to be<br />

represented in the fixml; <strong>FAST</strong> <strong>ESP</strong> does not store the original content. (Exceptions are the crawler and other<br />

similar connectors. This is only in order to be able to re-feed original content due to document processing<br />

changes, not in order to be able to retrieve the original document by a search application.)<br />

19


<strong>FAST</strong> Enterprise Search Platform<br />

20<br />

Checklists: Backing up and restoring specific types of nodes<br />

This section provides checklists of the procedures to do backup and full restore of some specific types of<br />

nodes in common <strong>FAST</strong> <strong>ESP</strong> deployments, in order to recover from anything up to the full loss of the node.<br />

While some steps may be independent and interchangeable, others are dependent on being completed in<br />

the proper sequence. It is strongly recommended to follow the exact sequences specified.<br />

Important: The backup and restore procedures and some other procedures in this guide assume that<br />

there exists an up-to-date InstallProfile.xml describing the full <strong>FAST</strong> <strong>ESP</strong> installation, such that<br />

each and every node can be reinstalled from scratch using this install profile.<br />

Single node system backup and restore<br />

Procedures in this section include single node system backup and restore.<br />

Backing up a single node system<br />

1. Back up the index profile that was last uploaded.<br />

2. Prepare for backup.<br />

Refer to Preparation for backup.<br />

3. Back up the system configuration.<br />

Refer to Backing up system configuration.<br />

4. (Optional) Back up dictionaries.<br />

Refer to Backing up compiled dictionaries.<br />

5. Back up the resource service.<br />

Refer to Backing up the resource service.<br />

6. Back up the admin server.<br />

Refer to Backing up the admin server.<br />

7. (Conditional) Back up content connectors.<br />

Refer to Backing up and restoring content connectors.<br />

8. Back up index data.<br />

Refer to Backing up index data.<br />

9. Resume indexing.<br />

Restoring a single node system<br />

Complete this procedure if you want to restore a single node system.<br />

1. Verify that the install profile to be used in next step references the index profile file to be restored.<br />

Refer to Backing up system configuration.<br />

2. Reinstall the node from the install profile.<br />

Refer to Reinstalling a node via the install profile. The node must be installed with the same hostname.<br />

3. Restore the system configuration.<br />

Refer to Restoring system configuration.<br />

4. Restore the dictionaries.<br />

Refer to Restoring dictionaries.


5. Start <strong>FAST</strong> <strong>ESP</strong>, then suspend indexing.<br />

6. Restore the resource service.<br />

Refer to Restoring the resource service.<br />

7. Restore the admin server.<br />

Refer to Restoring the admin server.<br />

8. (Conditional) Restore content connectors.<br />

Refer to Backing up and restoring content connectors.<br />

9. Restore data.<br />

Refer to Basic search and index recovery.<br />

10. Resume indexing.<br />

Administration node backup and restore in a multi-node system<br />

Procedures in this section include administration node backup and restore. These procedures assume that<br />

there is a single administration node, where the configuration server, resource service and admin server are<br />

deployed.<br />

Backing up the administration node<br />

Perform the following steps on the administration node.<br />

1. Back up the index profile that was last uploaded.<br />

2. Prepare for backup.<br />

Refer to Preparation for backup.<br />

3. Back up the system configuration.<br />

Refer to Backing up system configuration.<br />

4. Back up the resource service.<br />

Refer to Backing up the resource service.<br />

5. (Optional) Back up dictionaries.<br />

Refer to Backing up compiled dictionaries.<br />

6. Back up the admin server:<br />

Refer to Backing up admin server.<br />

7. Resume indexing.<br />

Restoring the administration node<br />

Complete this procedure if you want to restore the administration node.<br />

1. Verify that the install profile to be used in next step references the index profile file to be restored.<br />

Refer to Backing up system configuration.<br />

2. Reinstall the administration node (single node only) from the install profile.<br />

Refer to Reinstalling a node via the install profile. The node must be installed with the same hostname.<br />

3. Restore the system configuration on the administration node.<br />

Refer to Restoring system configuration.<br />

4. Restore the resource service.<br />

Refer to Restoring the resource service.<br />

5. Start the administration node.<br />

Backing up and restoring<br />

21


<strong>FAST</strong> Enterprise Search Platform<br />

22<br />

6. Restore admin server.<br />

Refer to Restoring the admin server.<br />

7. Restore the dictionaries on the administration node.<br />

Refer to Restoring dictionaries.<br />

QRServer node backup and restore<br />

Procedures in this section include QRServer backup and restore.<br />

Backing up the QRServer node<br />

By default, the QRServer has no local state that needs to be backed up. QRServer configuration is maintained<br />

in the configuration server and admin server (on the administration node). Note that the QRServer is frequently<br />

co-located with other services.<br />

1. (Conditional) Back up dictionaries which are locally installed in $<strong>FAST</strong>SEARCH/resources/dictionaries.<br />

These dictionaries cannot be regenerated and/or redeployed from the admin server).<br />

Refer to Backing up and restoring dictionaries.<br />

2. (Conditional, if using the Security Access Module, SAM) Back up<br />

$<strong>FAST</strong>SEARCH/etc/<strong>FAST</strong>SecurityPipelineConfig.xml and $<strong>FAST</strong>SEARCH/etc/FDSSM_client.pem.<br />

Note: FDSSM_client.pem contains a private key necessary for the secure operation of SAM and must be<br />

kept secret.<br />

3. (Conditional) Back up any other services, such as indexer or search, on the same node.<br />

Restoring the QRServer node<br />

Complete this procedure if you want to restore the QRServer.<br />

1. Reinstall the QRServer node (single node only) from the install profile.<br />

Refer to Reinstalling nodes via the install profile. The node must be installed with the same hostname.<br />

2. (Conditional) Restore dictionaries that were backed up from $<strong>FAST</strong>SEARCH/resources/dictionaries.<br />

3. (Conditional) Redeploy dictionaries that are downloaded from admin server.<br />

Refer to Restoring dictionaries.<br />

4. (Conditional) Restore $<strong>FAST</strong>SEARCH/etc/<strong>FAST</strong>SecurityPipelineConfig.xml and<br />

$<strong>FAST</strong>SEARCH/etc/FDSSM_client.pem.<br />

5. (Conditional) Restore any other services on same node.<br />

6. Clear the cached QRServer configuration. To do so, remove $<strong>FAST</strong>SEARCH/var/qrserver/*.<br />

7. Start the node.<br />

8. Redeploy all views on the administration node.<br />

view-admin -m deploy -a<br />

Processing server node backup and restore<br />

Procedures in this section include processing server backup and restore.<br />

Backing up the processing server node<br />

By default, the processing server has no local state that needs to be backed up. Processing server configuration<br />

is maintained in the configuration server (on the administration node).<br />

1. (Conditional) Back up dictionaries which are locally installed in $<strong>FAST</strong>SEARCH/resources/dictionaries.<br />

These dictionaries cannot be regenerated and/or redeployed from the admin server).<br />

Refer to Backing up and restoring dictionaries.


2. (Conditional, if using the Security Access Module, SAM) Back up<br />

$<strong>FAST</strong>SEARCH/etc/<strong>FAST</strong>SecurityPipelineConfig.xml and $<strong>FAST</strong>SEARCH/etc/FDSSM_client.pem.<br />

Note: FDSSM_client.pem contains a private key necessary for the secure operation of SAM and must be<br />

kept secret.<br />

3. (Conditional) Back up any other services, such as indexer or search, on the same node.<br />

Restoring the processing server node<br />

Complete this procedure if you want to restore the processing server.<br />

1. Reinstall the processing server node (single node only) from the install profile.<br />

Refer to Reinstalling a node via the install profile. The node must be installed with the same hostname.<br />

2. (Conditional) Restore dictionaries that were backed up from $<strong>FAST</strong>SEARCH/resources/dictionaries.<br />

3. (Conditional) Redeploy dictionaries that are downloaded from admin server.<br />

Refer to Restoring dictionaries.<br />

4. (Conditional) Restore $<strong>FAST</strong>SEARCH/etc/<strong>FAST</strong>SecurityPipelineConfig.xml and<br />

$<strong>FAST</strong>SEARCH/etc/FDSSM_client.pem.<br />

5. (Conditional) Restore any other services on same node.<br />

6. Start the node.<br />

Backing up and restoring configuration data<br />

This section describes the procedures for backing up and restoring configuration data. Configuration data is<br />

relatively stable and does not change as content is fed into <strong>FAST</strong> <strong>ESP</strong> unless an administrator explicitly<br />

changes the configuration. The configuration data that needs to be backed up depends on the extent of<br />

customization of the <strong>FAST</strong> <strong>ESP</strong> installation.<br />

A typical <strong>FAST</strong> <strong>ESP</strong> installation includes a single administration node that hosts the configuration server,<br />

resource service and admin server. All master configuration data physically resides on the administration<br />

node and can be backed up from that node. The backup procedures in this section assume this typical<br />

installation. The restore procedures assume master configuration data must be restored from the backup to<br />

the administration node. Certain derived configuration data is physically copied to the nodes where they are<br />

used and is covered separately in the procedures.<br />

The procedures do not cover cases where the administrative services are distributed over multiple nodes, or<br />

with redundant administration nodes.<br />

System configuration backup and restore<br />

This section covers the most fundamental system configuration, which consists of the install profile, the index<br />

profile and the configuration server data.<br />

This configuration determines the format of the index and the document processing necessary to correctly<br />

populate the index fields. It also determines how the system components (including index rows and columns)<br />

are deployed on physical nodes.<br />

When restoring the system, always start with restoring this configuration to a consistent state.<br />

Backing up and restoring<br />

Both the document processing and QRServer configuration are covered by these procedures, except<br />

dictionaries and search views, which are deployed from the admin server. Refer to Admin server backup and<br />

restore and Backing up and restoring dictionaries.<br />

23


<strong>FAST</strong> Enterprise Search Platform<br />

24<br />

Backing up system configuration<br />

This procedure backs up the fundamental system configuration that is needed for reinstalling any node in the<br />

system, as well as restoring the administration node with index, document processing and query and result<br />

processing configuration.<br />

1. Back up the following files:<br />

• The install profile ($<strong>FAST</strong>SEARCH/InstallProfile.xml). This file is identical on all nodes.<br />

• The license file (fastsearch.lic) that was specified when <strong>FAST</strong> <strong>ESP</strong> was installed.<br />

• (Conditional, if customized after installation.) The node controller configuration<br />

($<strong>FAST</strong>SEARCH/etc/NodeConf.xml) from all nodes.<br />

• The index profile that was last uploaded. (No fixed file name, frequently located in the directory<br />

$<strong>FAST</strong>SEARCH/index-profiles.)<br />

• (Conditional) If the index profile uses custom rank models, back them up from<br />

$<strong>FAST</strong>SEARCH/etc/resources/relevancy.<br />

These files seldom change.<br />

2. To prepare for restore, modify the InstallProfile.xml to reference the index profile and rank models:<br />

a) In the element, replace the line<br />

<br />

with<br />

<br />

<br />

b) If you have custom rank models, add a rank-model-filename property for each:<br />

<br />

<br />

. . .<br />

After any modifications to the install profile, it is recommended to copy the modified file to<br />

$<strong>FAST</strong>SEARCH/InstallProfile.xml on all nodes in the installation. In that case, the index profile and<br />

rank model files referenced from the install profile must also be copied.<br />

3. The following files/directories are maintained by the configuration server. Before backing them up, restart<br />

the configuration server to ensure all modifications have been flushed to disk.<br />

• $<strong>FAST</strong>SEARCH/etc/CSConfig.xml<br />

• $<strong>FAST</strong>SEARCH/etc/CSUniCfg.xml<br />

• $<strong>FAST</strong>SEARCH/etc/PipelineConfig.xml<br />

• $<strong>FAST</strong>SEARCH/etc/DefaultCrawlerConfig.xml<br />

• $<strong>FAST</strong>SEARCH/etc/config_data/RTSearch/webcluster/rtsearchrc.xml<br />

• $<strong>FAST</strong>SEARCH/etc/config_data/QRServer/webcluster/etc/qrserver/*<br />

• $<strong>FAST</strong>SEARCH/etc/config_data/QRServer/webcluster/preload<br />

(If there are other clusters than "webcluster" in the system, modify/repeat the last three entries accordingly.)<br />

Some of these files may be present on other nodes (i.e. nodes without a configuration server). These are<br />

default versions of the files left by the installer. They are not used and do not need to be backed up, as<br />

the components using them get them from the configuration server.


Instead of backing up individual files, it is also possible back up the entire configuration server database<br />

in $<strong>FAST</strong>SEARCH/etc/config_data.<br />

Restoring system configuration<br />

Use this procedure when the administration node has crashed and needs to be reconstructed.<br />

1. If failure was caused by a hardware problem, resolve the hardware problem.<br />

Note: If the host ID as seen by the license manager has changed, it is necessary to get a replacement<br />

for the license file. Refer to the Licensing chapter in the Installation <strong>Guide</strong>.<br />

2. Reinstall the node from the install profile, using the install profile that is modified to reference the index<br />

profile, as described in Backing up system configuration.<br />

Refer to Reinstalling a node via the install profile. Do not start the node.<br />

3. Restore the files maintained by the configuration server.<br />

Refer to the file list in Backing up system configuration.<br />

If restoring the entire $<strong>FAST</strong>SEARCH/etc/config_data directory tree instead of individual files, ensure this<br />

is done before starting <strong>FAST</strong> <strong>ESP</strong> with the configuration server on this node. If performed later, the restore<br />

might overwrite configuration changes initiated by other components.<br />

4. Leave node in stopped state for further restore operations.<br />

Some components may cache configserver-provided configurations locally. If restoring a backup that rolls<br />

back the system configuration to an earlier state, it may be necessary to clear those caches.<br />

• processing server: $<strong>FAST</strong>SEARCH/var/procserver<br />

• QRServer: $<strong>FAST</strong>SEARCH/var/qrserver<br />

Restoring the index profile<br />

The procedures here assume that the index profile is restored by the <strong>FAST</strong> <strong>ESP</strong> installer, by making the<br />

install profile reference the actual index profile as described above.<br />

This avoids the detour when the installer installs a default index profile, which is subsequently replaced by<br />

the actual index profile. If the index profile instead is restored by uploading via the <strong>FAST</strong> <strong>ESP</strong> administrator<br />

interface or by using bliss, as described in Uploading a new index profile using bliss, be aware that this often<br />

will be a cold index update (since the restored index profile is compared to the default one). This will cause<br />

existing indexes to be cleared.<br />

Backing up index configuration<br />

Indexer and search columns fetch most of their configuration from the configuration server, but depend on<br />

two local "bootstrap" configuration files for information such as where to find the configuration server. If the<br />

indexer or search node is to be restored by other means than by using the installer, it may be necessary to<br />

back up and restore these files manually.<br />

The configuration files are:<br />

$<strong>FAST</strong>SEARCH/etc/searchrc-1.xml<br />

$<strong>FAST</strong>SEARCH/etc/rtsplatformrc.xml<br />

Backing up and restoring<br />

If more than one search column is running on a node, there will be corresponding files searchrc-2.xml,<br />

searchrc-3.xml... for each of the additional search columns.<br />

These files are produced by the installer, and it will not be necessary to restore them if the indexer or search<br />

node is reinstalled using the Reinstalling a node via the install profile procedure.<br />

25


<strong>FAST</strong> Enterprise Search Platform<br />

26<br />

Resource service backup and restore<br />

The resource service is a centralized repository for versioned "resources", i.e. files with arbitrary (and frequently<br />

quite large) content. The resource service state is updated by adding new resource versions and pruning<br />

away outdated versions.The procedures describe full backups of the resource service database, but it should<br />

be simple to adapt them to an incremental scheme since a resource version never changes.<br />

The clients of the resource service reference resources by (version number, resource name). It is important<br />

to maintain referential integrity: If you restore an older backup, clients may retain references to newer versions<br />

of resources that do not exist in the backup. In the worst case, such errors might pass undetected because<br />

the version numbers are re-used as new resources are added. Therefore, backing up and restoring the<br />

resource service should only be done in conjunction with backup and restore of its clients, first and foremost<br />

the admin server. For clients that cache resources locally (such as the QRServer), the caches may have be<br />

purged.<br />

Backing up the resource service<br />

Complete this procedure if you want to back up the resource service.<br />

1. Stop the resource service.<br />

2. Back up the directory: $<strong>FAST</strong>SEARCH/data/resourceservice<br />

3. Start the resource service.<br />

Restoring the resource service<br />

Complete this procedure if you want to restore the resource service.<br />

1. Stop the resource service.<br />

2. Restore the directory from backup: $<strong>FAST</strong>SEARCH/data/resourceservice<br />

3. Start the resource service.<br />

Backing up and restoring dictionaries<br />

The (editable) master dictionaries are maintained by the admin server. Before use, the dictionaries are<br />

compiled to a binary format (automata, .aut or .ftaut files) which supports efficient lookup. Backup and<br />

recovery for master dictionaries is covered by the admin server backup and restore procedures. In addition,<br />

compiled dictionaries may have to be backed up, if source master dictionaries are not available, or to speed<br />

recovery.<br />

Compiled dictionaries can be reconstructed from the master dictionaries as long as their type is supported<br />

by esp4jtool-dictman (spell check, lemmatization, synonym, and phrase dictionaries are supported) and<br />

corresponding master dictionaries are available. Note that such reconstruction may take time to complete,<br />

so it is recommended to backup the compiled versions as well.<br />

Deployment of compiled dictionaries is done in one of two ways:<br />

• Query-side dictionaries managed via SBC (view-specific synonym directories) are deployed via the resource<br />

service and covered via resource service backup and restore.<br />

• Other dictionaries (managed by esp4jtool-dictman) are placed in<br />

$<strong>FAST</strong>SEARCH/adminserver/webapps/adminserver/downloads/dictionaries on the admin server<br />

node and manually deployed to $<strong>FAST</strong>SEARCH/resources/dictionaries on the nodes with QRServers<br />

or processing servers.<br />

Some dictionaries are only available in the non-editable compiled form. These dictionaries are installed by<br />

the <strong>FAST</strong> <strong>ESP</strong> installer directly into $<strong>FAST</strong>SEARCH/resources/dictionaries on each node. Since these<br />

dictionaries do not change, there is normally no need to back them up, but be aware that customization could<br />

have installed additional or modified automata in these locations.


If dictionaries are manually customized and deployed according to the procedures in Configuring Linguistics<br />

Processing in the Configuration <strong>Guide</strong>, <strong>FAST</strong> <strong>ESP</strong> does not keep a record of which dictionaries need<br />

recompilation and where they are deployed. It is recommended to make scripts to perform a full recompilation<br />

and redeployment of all these dictionaries. Then use these scripts in steps 3 through 5 of the Restoring<br />

dictionaries procedure.<br />

Backing up compiled dictionaries<br />

This procedure is optional and applies if it is not feasible to regenerate compiled dictionaries after a restore.<br />

1. Ensure that no dictionary compilation jobs are in progress.<br />

2. (Optional) On the node with the admin server: Back up the content of<br />

$<strong>FAST</strong>SEARCH/adminserver/webapps/adminserver/downloads/dictionaries<br />

3. (Optional) On processing server or QRServer nodes: Back up selected automata from<br />

$<strong>FAST</strong>SEARCH/resources/dictionaries.<br />

Restoring dictionaries<br />

After the source dictionaries are restored in the admin server, compiled dictionaries must be regenerated.<br />

Any compiled dictionaries that were backed up must be restored, and the compiled dictionaries are redeployed<br />

to their installed locations on the processing server and QRServer nodes.<br />

Except for the next to last two steps, all steps are performed on the node with the admin server.<br />

1. (Optional) Restore the resource service.<br />

Refer to Restoring the resource service.<br />

2. (Optional) Restore the admin server.<br />

Refer to Restoring the admin server.<br />

3. (Optional) Restore backed up compiled dictionaries to<br />

$<strong>FAST</strong>SEARCH/adminserver/webapps/adminserver/downloads/dictionaries.<br />

4. (Conditional) Regenerate compiled dictionaries from master dictionaries:<br />

a) Start esp4jtool-dictman.<br />

b) For each dictionary to regenerate, enter the command compile.<br />

You receive a job number .<br />

c) Use jobstatus to verify that compilation has finished.<br />

Status changes to "ok".<br />

5. On the processing server and QRServer nodes, redeploy the compiled dictionaries to<br />

$<strong>FAST</strong>SEARCH/resources/dictionaries.<br />

Use esp4jtool-dictman with the download command.<br />

6. (Optional) On the processing server and QRServer nodes, restore any dictionaries that were backed up<br />

from $<strong>FAST</strong>SEARCH/resources/dictionaries.<br />

7. Redeploy views from the admin server.<br />

view-admin -m deploy -a<br />

Backing up and restoring<br />

Admin server backup and restore<br />

The admin server maintains <strong>FAST</strong> Home and SBC, i.e. search profiles, views, boosts, administrative users<br />

and their rights assignments, as well as editable master dictionaries.<br />

Before backing up or restoring the admin server, all users should have finished their <strong>FAST</strong> Home or SBC<br />

sessions, or at least save their unfinished tasks. In particular: Dictionaries marked as "open" in running<br />

esp4jtool-dictman clients must be saved to make changes permanent; after saving all changes the<br />

esp4jtool-dictman should be closed. Refer to Configuring linguistics processing in the Configuration <strong>Guide</strong>.<br />

27


<strong>FAST</strong> Enterprise Search Platform<br />

28<br />

The admin server database references resources in the resource service database. Therefore, the admin<br />

server and the resource service should be backed up and restored together. Refer to Resource service backup<br />

and restore.<br />

Backing up the admin server<br />

Complete this procedure if you want to back up the admin server. Use the backupadminserver utility to back<br />

up the admin server databases.<br />

1. Run the following command to produce a snapshot of all the admin server databases into the specified<br />

directory (for example, backupdir):<br />

cobra $<strong>FAST</strong>SEARCH/esp4j/bin/backupadminserver.py -m backup -d backupdir<br />

backupadminserver suspends the admin server while completing the backup.<br />

2. (Conditional) Back up $<strong>FAST</strong>SEARCH/etc/esp4j.properties.<br />

This file contains the admin user password and should be kept secret.<br />

Restoring the admin server<br />

Complete this procedure if you want to restore the admin server.<br />

1. Run the following command to restore the database snapshot produced by backupadminserver in a<br />

specified directory (for example, backupdir):<br />

cobra $<strong>FAST</strong>SEARCH/esp4j/bin/backupadminserver.py -m restore -d backupdir<br />

<strong>FAST</strong> <strong>ESP</strong> should be running. The admin server will temporarily be stopped and restarted once the<br />

snapshot is restored.<br />

2. (Conditional) Restore $<strong>FAST</strong>SEARCH/etc/esp4j.properties.<br />

This file contains the admin user password and should be kept secret. Remove all access permissions to<br />

it for any other user but the <strong>FAST</strong> <strong>ESP</strong> service user.<br />

3. (Conditional) If the admin server password has changed, restore $<strong>FAST</strong>SEARCH/etc/esp4j.properties<br />

on all nodes running admin server clients.<br />

Refer to Changing the admin user password.<br />

Backing up and restoring content<br />

This section describes the procedures for backing up and restoring content. New and changed content flows<br />

continuously into the system, and a content backup is a snapshot of this content flow.<br />

Preparation for backup<br />

Before performing a full backup you should suspend content feeding and indexing in order to ensure a<br />

consistent state in your <strong>FAST</strong> <strong>ESP</strong> system. Refer to Consistency of index data<br />

1. Before backup or restore:<br />

a) Stop crawler, file traverser and connector processes.<br />

Refer to the respective sections under Stopping <strong>FAST</strong> <strong>ESP</strong> via sequential shutdown.<br />

b) Give the document processing time to finish outstanding batches submitted by the connector(s).<br />

c) Suspend indexing on all working indexing nodes using the indexeradmin suspend command.<br />

indexeradmin -a suspend<br />

2. After backup or restore:


a) Resume indexing.<br />

indexeradmin -a resume<br />

b) Restart crawler, file traverser and connectors.<br />

It is mandatory to suspend indexing.<br />

Stopping content feeding is not strictly necessary, as the backup will get a consistent snapshot of the index<br />

even if content feeding is left running. But as long as indexing is suspended, content feeding and document<br />

processing will be blocked. In most cases, this will cause problems such as timeouts, and it is strongly<br />

recommended to suspend content feeding as well.<br />

Also consider that connectors may have states that must be consistent with the index, so must be backed<br />

up together with the index in a quiescent state. Refer to Backing up and restoring content connectors.<br />

Backing up and restoring content connectors<br />

Some <strong>FAST</strong> connectors store information related to content flow. This information has to be backed up along<br />

with content in other parts of the system.<br />

The content connectors will operate in one of the following modes:<br />

• A simple batch retrieve connector will retrieve all or a subset of documents from a content repository and<br />

submit the documents unconditionally to <strong>FAST</strong> <strong>ESP</strong>. Such a simple connector will not involve any content<br />

store within the connector, so there is no need for backing up content.<br />

The file traverser is used in this way.<br />

• Certain connectors use a database to store change control information, for instance represented as a<br />

hash value for the document. By using this hash database it is possible to determine whether or not a<br />

retrieved document is changed, so only changed documents are forwarded to <strong>FAST</strong> <strong>ESP</strong>.<br />

Backing up the change control database is optional, and will only avoid the need for re-submitting all<br />

documents to <strong>FAST</strong> <strong>ESP</strong> after a recovery. The need for such a backup depends on how long it will take<br />

to re-fetch all content from the content source.<br />

• Some connectors subscribe to changed information that is available from the content source, and only<br />

retrieve new and changed documents. In this case the changed information does not need to be stored<br />

in the connector, and there will normally not be any need for backing up content information.<br />

• Some connectors (in particular, the crawler) can store original documents fetched from the content sources<br />

in a private store, in order to support re-feed of documents upon document processing changes. This<br />

includes pipeline changes and new anchor texts detected. In this case, the connector's document store<br />

should be backed up.<br />

Be aware of consistency requirements between the state maintained by the connector and the state of the<br />

index.The conservative approach is to stop both feeding and indexing, as described in Preparation for backup,<br />

before backing up both the full index and the connector state.<br />

Refer to the connector documentation for specific backup requirements and procedures.<br />

Backing up and restoring<br />

Index data backup and restore<br />

Search results are generated from the index data. Index data consists of two parts, the "fixml store" containing<br />

the processed documents and the index, where the actual search is taking place. The index can always be<br />

regenerated from the fixml, but since this process can be time-consuming, there is a tradeoff of backup volume<br />

versus recovery time when determining whether to back up the full index.<br />

Content fed into <strong>FAST</strong> <strong>ESP</strong> using the content APIs or a connector will first pass through document processing,<br />

which normally does not involve any storing of content to disk.Then documents will be fed to the index, which<br />

will store them to disk using <strong>FAST</strong> fixml. What parts of the original document that are maintained in the fixml<br />

format is largely dependent on the index profile and the document processing configuration.<br />

29


<strong>FAST</strong> Enterprise Search Platform<br />

30<br />

By default, data is located in $<strong>FAST</strong>SEARCH/data . If <strong>FAST</strong> <strong>ESP</strong> was installed with a different location for the<br />

data directory, then use that location. (If in doubt, check the entries for indexDir and fixmlDir in<br />

$<strong>FAST</strong>SEARCH/etc/rtsplatformrc.xml . The alternate data location applies to the data/data_fixml ,<br />

data/data_index and data/ftStorage directories. Other services place data in other subdirectories of<br />

$<strong>FAST</strong>SEARCH/data , and do not use the alternate data location.)<br />

The fixml representation of content is stored in $<strong>FAST</strong>SEARCH/data/data_fixml .<br />

The $<strong>FAST</strong>SEARCH/data/data_index directory contains the generated index used by the search engine.This<br />

index can be regenerated completely from the data in the $<strong>FAST</strong>SEARCH/data/data_fixml directory. Normally,<br />

backup of data_index is not necessary, but there could be cases where the system parameters are such that<br />

the time to recover is shorter when the generated index can be restored. Whether or not this is the case<br />

depends on the size of the resulting index, characteristics of the system such as available network bandwidth,<br />

backup medium and I/O performance.<br />

In some cases, rebuilding the index from fixml is faster than restoring it from backup. Another possible<br />

advantage of re-indexing (dependent on the data, and the pattern of which it was fed into the system originally)<br />

is that a re-constructed index may be slightly smaller and better distributed, since an older index structure<br />

may have accumulated disk space overhead due to fragmentation over time.<br />

The index is distributed over rows and columns on a per document basis. Each column contains a distinct<br />

partition of the index. The full index consists of the union of data from each column. All rows within a column<br />

contain identical data. Within a column, one or more of the row nodes are indexer nodes, the remaining rows<br />

are pure search nodes which do not build indexes but get their data from an indexer node. To back up the<br />

entire index, back up one indexer node within each column.<br />

Consistency of index data<br />

To eliminate potential index consistency problems, the conservative procedure is to perform backup and<br />

restore in a state when all content feeding and indexing is suspended. All columns of the index are backed<br />

up at the same time. Less conservative procedures cause less feeding downtime, if the potential inconsistencies<br />

can be tolerated or avoided by other means.<br />

1. Stop content feeding and suspend indexing.<br />

2. Back up or restore all indexer nodes in the same session.<br />

3. Suspend indexing until all nodes are finished.<br />

This conservative procedure is the basis for all the procedures described in Backing up and restoring content.<br />

This causes fairly long downtimes for content feeding (and for search, in the case of restore), and may not<br />

be acceptable in all cases. It is possible to perform backup and restore node by node if the potential<br />

inconsistencies this may cause are acceptable to the application. When designing such custom backup and<br />

restore procedures, use the following guidelines:<br />

• As long as indexing is suspended on the node being backed up or restored, the index is internally consistent.<br />

The only issue is whether it is consistent with the indexes on other nodes and with the feeding application.<br />

• Unless custom routing is implemented, <strong>FAST</strong> <strong>ESP</strong> does not move a document from one column to another.<br />

Thus a document will not disappear or be duplicated if a column is restored from a backup reflecting an<br />

earlier system state than another column.<br />

• Do not restore a single indexer node independently of other indexers in the same column. Otherwise, a<br />

query will have nondeterministic behavior depending on which row it happens to be directed to. Moreover,<br />

the difference will persist indefinitely (if there are some documents that are not updated by feeding). Refer<br />

to Index recovery with redundant indexers.<br />

• Restoring an earlier backup of the index inevitably causes updates (add, delete, modify) to be lost, even<br />

though they have been acknowledged as successful to the connector or feeding application.The connector<br />

may have a state database which must be consistent with the index: In that case, that database should<br />

be restored from a backup consistent with the index backup, or there might be a way to force a re-feed to<br />

synchronize the index and connector state. Refer to Backing up and restoring content connectors.


• Two or more updates may have been fed in the same batch, with the expectation that all become visible<br />

to search at the same time. But if routed to different columns and one of the columns is restored from<br />

backup, one or more of the updates may be lost while the others still are visible.<br />

Backing up index data<br />

Index data is backed up with indexing suspended, by making a snapshot copy of the fixml and index data<br />

directories on the indexer node.<br />

Backup of indexer nodes in a <strong>FAST</strong> <strong>ESP</strong> system is performed with the following procedure applied to each<br />

of the nodes to back up. To back up an entire indexing structure, steps 2 - 4 of this procedure must be applied<br />

to one of the nodes in each column in the system.<br />

1. Suspend content feeding and indexing.<br />

Refer to Preparation for backup.<br />

2. (Required) Back up the entire contents of the $<strong>FAST</strong>SEARCH/data/data_fixml directory structure.<br />

3. (Conditional) In a fault-tolerant (high-availability) configuration, back up<br />

$<strong>FAST</strong>SEARCH/data/ftStorage/indexer_checkpoint.txt<br />

4. (Optional) Back up the entire contents of the $<strong>FAST</strong>SEARCH/data/data_index directory structure.<br />

5. Resume content feeding and indexing.<br />

Refer to Preparation for backup.<br />

Basic search and index recovery<br />

This procedure describes how to recover a single index or search node from an available backup.<br />

This scenario is applicable in a situation where a complete search and index column needs to be reconstructed<br />

after a fatal hardware crash. For mission critical deployments, where multiple indexers are configured per<br />

column, this scenario would only be a last resort in the case of multiple, simultaneous node failures.<br />

1. If failure was caused by a hardware problem, resolve the hardware problem.<br />

2. Re-install the node from the install profile. Do not start the services on the recovered node.<br />

Refer to Reinstalling a node via the install profile.<br />

3. Restore the latest index data backup on the re-installed node, by restoring the directory:<br />

$<strong>FAST</strong>SEARCH/data/data_fixml<br />

4. Remove $<strong>FAST</strong>SEARCH/data/data_fixml/hashFlushed<br />

5. (Conditional) In a fault-tolerant configuration, restore $<strong>FAST</strong>SEARCH/ftStorage/indexer_checkpoint.txt<br />

6. (Optional) Restore the actual index directory: $<strong>FAST</strong>SEARCH/data/data_index<br />

7. (Conditional) Restore from backup any other services that were running on this node.<br />

8. Start the necessary <strong>FAST</strong> <strong>ESP</strong> services on the recovered node.<br />

9. Refresh the <strong>FAST</strong> <strong>ESP</strong> administrator interface System Overview page. The new node should appear on<br />

the screen.<br />

10. Resume indexing. Restart content feeding.<br />

11. If the node also was running a QRServer, redeploy views.<br />

On the administration node, perform the command:<br />

view-admin -m deploy -a<br />

12. As documents may have been lost from the time of the last backup, it may be necessary to perform a full<br />

re-feed or re-crawl from the content source.<br />

Refer to the Crawler <strong>Guide</strong> or other relevant connector guides.<br />

Backing up and restoring<br />

31


<strong>FAST</strong> Enterprise Search Platform<br />

32<br />

Index recovery with redundant indexers<br />

This procedure describes how to recover from a search and index node failure in a system with multiple<br />

indexer nodes in each column. One of the nodes in a column needs to be reconstructed after a fatal hardware<br />

crash, and one or more backup nodes exist within the column (multiple rows). To handle a single node error<br />

it is not required to have a full backup of the node.<br />

Back up the InstallProfile.xml file. The install profile is automatically generated during <strong>FAST</strong> <strong>ESP</strong><br />

installation.<br />

You should also perform a regular backup of one row node within each column regularly, in case of a fatal<br />

hardware error involving more than one node.<br />

1. If the system is configured with fault-tolerance, and provided the recovery does not take too long, the<br />

recovery can be made without suspending content feeding. The other nodes in the column continue to<br />

perform indexing, and the recovered node catches up with them when it comes up. In that case, the<br />

procedure is:<br />

a) Re-install the failed node as described in steps 1 and 2 in Basic search and index recovery.<br />

b) Select another (intact) node in the column and suspend indexing on that node only:<br />

indexeradmin suspend<br />

c) Make a backup of the index on that node, as described in steps 2 to 4 in Backing up index data.<br />

d) Resume indexing on that node:<br />

indexeradmin resume<br />

e) Recover the failed node as described in steps 3 to 10 in Basic search and index recovery, using the<br />

backup from step c.<br />

f) When the indexer on the recovered node is started, it should re-do the operations the other indexers<br />

in the column have performed since the backup was made. Verify that by examining the log: In the<br />

<strong>FAST</strong> <strong>ESP</strong> administrator interface, go to Matching Engines, select the recovered node and go to<br />

Status Details. When Active sessions becomes 0, the re-do process has finished. Check the logs<br />

for error or warning messages from the indexer.<br />

2. If steps c to e above take too long time (exceeding the fault tolerance window), some operations will be<br />

lost and cannot be re-done, and the log will show error messages to that effect. In that case, you could<br />

try to reduce the feeding load (in effect, extending the fault tolerance window in time) and retry the<br />

procedure. Alternately, fall back to the safe procedure, which is to suspend content feeding during recovery.<br />

This procedure also applies to a system without fault tolerance.<br />

a) Re-install the failed node as described in steps 1 to 2 in Basic search and index recovery.<br />

b) Suspend content feeding and indexing. Refer to Preparation for backup.<br />

c) Make a backup of the index of one of the other (intact) nodes in the column, as described in steps 2<br />

to 4 in Backing up index data. Do not resume indexing and feeding yet.<br />

d) Recover the failed node as described in steps 3 to 10 in Basic search and index recovery, using the<br />

backup from step c.<br />

e) Resume indexing and content feeding.


Chapter<br />

3<br />

Applying runtime deployment changes<br />

Topics:<br />

• Installing nodes from the install<br />

profile<br />

• Increasing indexing and search<br />

capacity<br />

• Adding a top-level dispatcher<br />

• Adding a new QRServer<br />

• Increasing document feed and<br />

processing capacity<br />

• Adding a content distributor<br />

• Adding an indexing dispatcher<br />

• Multi-node license file<br />

considerations<br />

• Increasing indexing and search<br />

capacity with independent search<br />

nodes<br />

This section provides procedures for applying deployment changes in a running<br />

<strong>FAST</strong> <strong>ESP</strong> system.


<strong>FAST</strong> Enterprise Search Platform<br />

34<br />

Installing nodes from the install profile<br />

The InstallProfile.xml file describes the configuration of the <strong>FAST</strong> <strong>ESP</strong> system as created by the installer,<br />

and is first defined when installing <strong>FAST</strong> <strong>ESP</strong>. It can be used to perform a full re-install of the entire system,<br />

as well as for configuration purposes when adding a single node to to the system, or to re-install a single<br />

node in a multi-node installation.<br />

Refer to the Installation <strong>Guide</strong>, sections Standard Installation and Silent Installation for detailed procedures.<br />

Reinstalling a node via the install profile<br />

This section describes how to reinstall a single node in a multi-node installation.This may become necessary<br />

in the event of a hardware failure or if the machine is to be upgraded.<br />

1. Keep a copy of the original InstallProfile.xml file. This file can be found in the root directory of the <strong>FAST</strong><br />

<strong>ESP</strong> installation on every node.<br />

2. Start the installer on the node that is to be reinstalled.<br />

3. Select advanced mode.<br />

4. Select the install profile.<br />

5. Select install on local node only and run local tests only.<br />

6. Complete installation.<br />

Note that it may be necessary to restore any custom configuration and data on the reinstalled node. Refer<br />

to the Backing up and restoring for more information.<br />

Adding new nodes via the install profile<br />

This section describes how to modify the install profile and use the installer in advanced mode to add new<br />

nodes to the system.<br />

Refer to the <strong>FAST</strong> <strong>ESP</strong> Installation <strong>Guide</strong> for more information on the InstallProfile.xml file format and<br />

how to complete the installation.<br />

This procedure is a substep of several other procedures. Some steps are specialized to add specific <strong>FAST</strong><br />

<strong>ESP</strong> services to the new node. The point of specialization is the step marked "(Conditional)" in the following<br />

procedure.<br />

1. Modify the InstallProfile.xml to include the new nodes.<br />

This can be done in two alternate ways:<br />

• Edit the install profile using the installer:<br />

1. Run the installer on one of the existing nodes, and enter the multi node installer GUI.<br />

2. Select Installation Overview -> Install profile, and open the install profile of the existing system.<br />

The install profile is located in the root directory of the <strong>FAST</strong> <strong>ESP</strong> installation.<br />

3. Add the new node(s) (hosts) to the install profile: Select Hosts and then Add host. See also Adding<br />

Hosts in the Installation <strong>Guide</strong>.<br />

4. (Conditional) Select Services and assign the services to run on the new node.<br />

5. Save the edited configuration as a new install profile ( Installation Overview -> Install profile),<br />

and exit the installer.<br />

• Edit the install profile in a text or XML editor:<br />

1. Open the install profile on one of the existing nodes.<br />

2. Copy one of the sections in the list. Give each new host a unique id, set<br />

the correct hostname and check whether any of the other attributes need to be changed.


Example:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

3. (Conditional) Edit or create service-specific entries and assign the services to run on the new node(s)<br />

by setting their host-ref attribute.<br />

2. Perform the following steps for each of the new nodes.<br />

a) Copy the modified install profile to the new node.<br />

b) Start the installer on the new node.<br />

c) Select advanced mode.<br />

d) Select the edited install profile.<br />

e) Select install on local node only and run local tests only.<br />

f) Complete installation.<br />

You may still have to change the configuration of the other nodes to integrate the new node into the installation.<br />

How to do this depends on what components are running on the new node. Refer to the applicable sections<br />

in this chapter for more information.<br />

After modifying the install profile, it is recommended to copy the modified install profile to<br />

$<strong>FAST</strong>SEARCH/InstallProfile.xml on all nodes in the installation, to ensure they all are equal and use the<br />

current version to correctly describe the system.<br />

Increasing indexing and search capacity<br />

Applying runtime deployment changes<br />

Indexing and search capacity and fault tolerance is increased by adding new indexer or search nodes.<br />

• To increase search capacity or search fault tolerance, add a new row of search nodes. Refer to Adding<br />

a new dedicated search row. (You may also have to add a new QRServer. Refer to Adding a new<br />

QRServer.)<br />

• To increase indexing capacity (feed rate or document volume), add a new column. Refer to Adding an<br />

indexer column. Usually, indexing capacity has to be increased in step with the capacity on the input side;<br />

refer to Increasing document feed and processing capacity.<br />

• To increase indexing fault tolerance, add a new indexer row (or add indexers to an existing search row).<br />

Refer to Adding a new indexer row.<br />

If you are changing from a single node to a multi-row or multi-column system, you have to add a top-level<br />

dispatcher. Refer to Adding a top-level dispatcher.<br />

35


<strong>FAST</strong> Enterprise Search Platform<br />

36<br />

Adding new search or index nodes via the install profile<br />

This chapter describes how to edit the InstallProfile.xml file to add new search and indexer nodes.<br />

The procedure applies both when adding a new column or adding a new row. Refer to applicable sections in<br />

this chapter for instructions on how to integrate the new node in the installation.<br />

1. Add the new index or search nodes. Refer to Adding new nodes via the install profile for the general<br />

procedure to add nodes.<br />

2. Add the new nodes in the section. Copy an existing entry and<br />

change the “id” and “hostname”.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

a) If you add a combined search/index node the properties “search” and “index” should be set to “true”.<br />

b) If you add a dedicated indexer node the property “search” should be set to “false”.<br />

c) If you add a dedicated search node the property “index” should be set to “false”.<br />

If you add a column make sure that the new column has the same number of search nodes and indexers<br />

as the existing columns, e.g. both “search” and “index” need to be set to “true” for the same number of<br />

nodes.<br />

3. Add the new nodes in the section.<br />

a) If you are adding a new column, copy an existing entry and change the id<br />

and id-ref:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

a) If you are adding a new row, copy an existing entry and change the id-ref:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

4. Save the InstallProfile.xml file.<br />

5. Complete the installation of the new nodes, using the edited install profile.


Using row and column IDs for search engine nodes<br />

The search nodes are organized in rows and columns. This applies to rows having an indexer, not dedicated<br />

search rows. Throughout this guide several configuration files refer to row IDs and column IDs.<br />

• The IDs are numbered from 0-n, where 'n+1' is number of columns/rows.<br />

• The first column installed will have ID 0, the next will have ID 1, etc.<br />

• The first row within a column will have ID 0, the next will have ID 1, etc.<br />

The $<strong>FAST</strong>SEARCH/etc/CSConfig.xml file defines the node configuration and is located on the Configuration<br />

Server node. The row/column IDs are used as follows:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

partition_id = Column ID<br />

rowid = Row ID<br />

node01.yourdomain.com is the first row within column 0.<br />

node02.yourdomain.com and node03.yourdomain.com are the additional rows within column 0.<br />

CSConfig.xml attributes<br />

The CSConfig.xml file defines the node configuration and is located on the Configuration Server node.<br />

$<strong>FAST</strong>SEARCH/etc/CSConfig.xml Attributes<br />

Attribute<br />

host<br />

port<br />

mode<br />

partition_id<br />

ft_mode<br />

docapiport<br />

rowid<br />

Description<br />

Fully qualified host name for the new node.<br />

Port number used for this search node. Set to same value as for existing entry.<br />

Set to same value as for existing entry.<br />

Set partition_id to one more than the largest partition_id already in the file.<br />

Set to same value as for existing entry.<br />

Currently unused, keep setting at 15500.<br />

The second row (first entry) is rowid=“1”. If two or more rows are already defined,<br />

set the rowid to the next available value (“2” if this is the third row defined for the column).<br />

$<strong>FAST</strong>SEARCH/etc/CSConfig.xml Attributes<br />

Attribute<br />

host<br />

port<br />

docapiport<br />

rowid<br />

Description<br />

Fully qualified host name for the new node.<br />

Applying runtime deployment changes<br />

Port number used for this search node. Normally this should be set to the same value as the<br />

corresponding attribute in the entry (or existing entry).<br />

Port number to the internal search node document API. Normally this should be set to the same<br />

value as the corresponding attribute in the entry (or existing entry).<br />

The second row (first entry) is rowid=“1”. If two or more rows are already defined, set<br />

the rowid to the next available value (“2” if this is the third row defined for the column).<br />

37


<strong>FAST</strong> Enterprise Search Platform<br />

38<br />

CSConfig.xml file<br />

The row/column IDs are used as follows:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

where<br />

• partition_id = Column ID<br />

• rowid = Row ID<br />

• node01.yourdomain.com is the first row within column 0<br />

• node02.yourdomain.com and node03.yourdomain.com are the additional rows within<br />

column 0<br />

Adding a new dedicated search row<br />

This procedure describes how to add new dedicated search row nodes to the system.<br />

When adding a new search row, you need to set up one extra search node per column in the installation.<br />

If you wish to utilize existing nodes currently not running search, you will need to replace step 2 in the procedure<br />

with editing the $<strong>FAST</strong>SEARCH/etc/NodeConf.xml file to add "search-1" to the list of active components,<br />

and run $<strong>FAST</strong>SEARCH/bin/nctrl reloadcfg to activate it.<br />

To add a new search row, complete the following procedure:<br />

1. If the current system is configured with only one search node, you need to configure a top-level dispatcher.<br />

2. Install the new node(s) needed for the new search row.<br />

Refer to Adding new search or index nodes via the install profile.<br />

3. Check the $<strong>FAST</strong>SEARCH/etc/searchrc-1.xml configuration file to verify that the following parameters<br />

on the new node are correct:<br />

• Indexpath<br />

• Hostname and port<br />

• Clustername<br />

• Columnid<br />

• Index copy setup. Set copyindex to "false" or "on_demand" if this node may also contain an indexer<br />

at some point. Disable index copying if the index is shared through a SAN or NAS. Disable<br />

socketcopyindex if multicasting is used.<br />

If this is an existing node that has not been running search, $<strong>FAST</strong>SEARCH/etc/searchrc-1.xml may be<br />

missing. In that case, copy the file from another search node in the system and modify the above-mentioned<br />

parameters.<br />

4. Ensure that the license file is configured properly on the node(s). Refer to Multi-node license file<br />

considerations.<br />

5. Start the new search node(s).<br />

When the search nodes are started, they will automatically contact the indexers running on the column,<br />

and request a copy of the latest index set if necessary. Search will start on the extra search row once the


index set is up to date. The top-level dispatcher will automatically be reconfigured to add the extra search<br />

row.<br />

6. To verify that the search rows have been correctly added, select Matching Engines. Select the applicable<br />

indexer node host name from the Host column. Check to make sure the new search controller is listed in<br />

the Search Controllers section.<br />

Note that this process may take some time to complete since the new search row will have to copy the<br />

index. The Status of the search row is dependent on how you have configured the new search row. If the<br />

Status is ok, then the search row is actively up and running and has completed the copying process. If<br />

the Status is down, then the search row is still functioning properly, but it has not yet received a current<br />

version of the index set.<br />

Upon completion, the screen information will be similar to the following:<br />

Applying runtime deployment changes<br />

7. To verify that the node is recognized, the new node should be listed under System Management in the<br />

<strong>FAST</strong> <strong>ESP</strong> administrator interface and registered with the Config Server.<br />

Adding an indexer column<br />

If the number of documents served is increasing beyond recommended sizing you need to increase the<br />

content volume capacity by adding new indexer columns. This procedure can also be used for performance<br />

optimization in larger installations. It is recommended that you contact <strong>FAST</strong> Solution Services before deploying<br />

such a configuration.<br />

To ensure a balanced system, new columns should be similar to existing columns, both in terms of hardware,<br />

and in terms of roles.When a new indexer column has been added, search nodes matching the search nodes<br />

on the existing columns must also be added. If indexer fault-tolerance is used, the new column must have<br />

the same number of indexers as the other columns. Refer to Adding a new dedicated search row .<br />

This procedure allows the system to serve searches uninterruptedly while the deployment changes are<br />

applied. However, the base procedure does not ensure data consistency for a short period of time, when the<br />

new column gets available and some of the old search columns still serve searches from their old indexes.<br />

This may lead to some searches resulting in duplicates. Once all old nodes are done with the resetindex<br />

operation and have switched to the new index, data consistency is restored.<br />

If data consistency at any given time is critical for your implementation, there are two options:<br />

39


<strong>FAST</strong> Enterprise Search Platform<br />

40<br />

• If you have one or more dedicated search rows, you can set search standalone using these rows while<br />

the index is reorganized by this procedure.<br />

• Stop all search processes while the indexers are reindexing and restart the search processes when the<br />

new index is available.<br />

In the following procedure, "old indexers" refer to all indexers that are present in the system before the<br />

expansion; "new indexers" refer to newly added indexer columns. To add a new indexer column, complete<br />

the following procedure:<br />

1. Install the search and index nodes for the new column. Refer to Adding new search or index nodes via<br />

the install profile. Start the new nodes.<br />

The search and indexer processes will remain idle until the new column has been configured in the<br />

configuration server.<br />

2. (Conditional) If the system does not have a top-level dispatcher, that is it has a single search process),<br />

then add one. Refer to Adding a top-level dispatcher .<br />

3. Instantiate a document processor stage called MigrationNoChanges from the default stage Migration<br />

with the ConfigFile parameter set to Migration/MigrationConfig-NoChanges.xml<br />

4. Insert the stage MigrationNoChanges in the pipeline(s) you are using for the collections that you are about<br />

to refeed. The stage should be inserted anywhere before the RTSOutput stage<br />

The MigrationNoChanges stage makes sure that all FiXML data fed by the fixmlfeeder bypasses all<br />

the other stages in the pipeline, so there will be no extra processing if you have a complex pipeline.<br />

5. Stop content feeding for the installation. Refer to the respective <strong>FAST</strong> connector documentation.<br />

6. (Optional) Set search standalone.<br />

Refer to Switching search to standalone mode .<br />

7. Suspend indexing for all indexers.<br />

On one node, for example, the admin node:<br />

indexeradmin -a suspendindexing<br />

8. Stop all indexing dispatchers.<br />

On all nodes with indexing dispatchers:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl stop indexingdispatcher<br />

9. Configure the new column in the configuration server.<br />

Perform the following steps on the admin node:<br />

a) Stop the configuration server.<br />

$<strong>FAST</strong>SEARCH/bin/nctrl stop configserver<br />

b) Edit the $<strong>FAST</strong>SEARCH/etc/CSConfig.xml file. Add a new column entry in the <br />

section by copying the existing entry. Give the new column a partition_id one higher than<br />

the previous highest ID.<br />

The following example shows a cluster entry where a second column is added. The added column<br />

entry is highlighted:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />


c) Start the configuration server.<br />

$<strong>FAST</strong>SEARCH/bin/nctrl start configserver<br />

10. (Re)start the new indexer(s). After verifying that the indexers have started and generated an empty index,<br />

suspend indexing.<br />

On all new indexer nodes:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl restart indexer<br />

After indexer(s) have started, on one node:<br />

indexeradmin -a suspendindexing<br />

11. (Re)start the new search processes.<br />

On all nodes in the new column:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl restart search-1<br />

12. (Conditional) If not in standalone mode, restart the top-level dispatcher process.<br />

On the node with the top-level dispatcher:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl restart topfdispatch<br />

If search was set standalone according to Switching search to standalone mode ,<br />

topfdispatch-standalone is running instead of topfdispatch , and there is no need to restart it.<br />

13. Stop all indexers (nctrl stop indexer). At this point, no indexers should be running in the system.<br />

To verify, select System Management in the <strong>FAST</strong> <strong>ESP</strong> administrator interface. In the System Monitor<br />

section, the indexer ( RI ) and indexingdispatcher ( Ind ) will show a stopped status. The display will be<br />

similar to the following shown for node02.boston.fast.com:<br />

14. Move the data/data_fixml folder on all the old indexers to data/data_fixml_old .<br />

15. Start all indexers (old and new).<br />

On all indexer nodes:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl start indexer<br />

16. Start the indexingdispatcher(s).<br />

On the node(s) with an indexing dispatcher:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl start indexingdispatcher<br />

Applying runtime deployment changes<br />

At this point, the index reconfiguration is completed. All indexers should be up and running, but in the<br />

suspended state, with 0 documents. Search is served from the old indexes.<br />

With indexing is suspended, the indexers will collect the FiXML documents that go into each index partition,<br />

but not generate the index itself. Firstly, this reduces the load on the servers, since there is no point in<br />

generating new indexes until this procedure is completed. Secondly, the indexes that the search processes<br />

are serving are left untouched.<br />

41


<strong>FAST</strong> Enterprise Search Platform<br />

42<br />

17. Restart content feeding by starting all connectors.<br />

You may want to postpone this step until the very end to make it easier to verify that the refeeding of the<br />

old FiXML is completed successfully. However, this is not necessary.<br />

18. Refeed the old documents using the fixmlfeeder tool. On each old indexer node, run the following<br />

command to refeed the documents:<br />

fixmlfeeder -i $<strong>FAST</strong>SEARCH/data/data_fixml_old<br />

Refer to Migrating FiXML data in the Migration <strong>Guide</strong> .<br />

If you need assistance in completing this step, contact <strong>FAST</strong> Technical Support.<br />

You can safely feed new data into the collection at the same time that you are re-feeding the old FiXML<br />

19. After verifying that the content has been successfully fed into the installation, and is distributed across all<br />

indexer columns, delete the data/data_fixml_old directory.<br />

At this point, the data/data_fixml directories of the indexers contain the desired new index state, but<br />

data/data_index contains the old index and is still used to serve search.<br />

20. (Optional) If the temporary inconsistencies while switching to the new index cannot be tolerated, stop<br />

search now.<br />

21. Reset the index on all indexer nodes.<br />

On one node, e.g. the admin node:<br />

indexeradmin -a resetindex<br />

Until all indexers have completed this step and the search nodes have switched to the new indexes, search<br />

results may be inconsistent.<br />

22. (Conditional) If search was previously stopped, restart search.<br />

23. (Conditional) If search was set standalone, restore search to normal operations.<br />

Refer to Restoring normal operations from standalone search .<br />

Adding an indexer column (for archive indexing)<br />

Follow this procedure to add a new indexer column in a system implementing archive indexing.<br />

Refer to the procedure describing how to add an indexer column in a regular system for more context<br />

information.<br />

1. Install the search and index nodes for the new column. Refer to Adding new search or index nodes via<br />

the install profile. Start the new nodes.<br />

The search and indexer processes will remain idle until the new column has been configured in the<br />

configuration server.<br />

2. (Conditional) If the system does not have a top-level dispatcher, that is it has a single search process),<br />

then add one. Refer to Adding a top-level dispatcher .<br />

3. Stop content feeding for the installation. Refer to the respective <strong>FAST</strong> connector documentation.<br />

4. Stop all indexing dispatchers.<br />

On all nodes with indexing dispatchers:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl stop indexingdispatcher<br />

5. Configure the new column in the configuration server.<br />

Perform the following steps on the admin node:<br />

a) Stop the configuration server.<br />

$<strong>FAST</strong>SEARCH/bin/nctrl stop configserver<br />

b) Edit the $<strong>FAST</strong>SEARCH/etc/CSConfig.xml file.


Add a new column entry in the section by copying the existing entry.<br />

Give the new column a partition_id one higher than the previous highest ID.<br />

The following example shows a cluster entry where a second column is added.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

c) Start the configuration server.<br />

$<strong>FAST</strong>SEARCH/bin/nctrl start configserver<br />

6. (Re)start the new indexer(s) nad verify that the indexers have started and generated an empty index.<br />

On all new indexer nodes:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl restart indexer<br />

7. (Re)start the new search processes.<br />

On all nodes in the new column:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl restart search-1<br />

8. (Conditional) If not in standalone mode, restart the top-level dispatcher process.<br />

On the node with the top-level dispatcher:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl restart topfdispatch<br />

If search was set standalone according to Switching search to standalone mode ,<br />

topfdispatch-standalone is running instead of topfdispatch , and there is no need to restart it.<br />

9. Start the indexingdispatcher(s).<br />

On the node(s) with an indexing dispatcher:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl start indexingdispatcher<br />

At this point, the index reconfiguration is completed. All indexers should be up and running. Search is<br />

served from the old indexes.<br />

With indexing is suspended, the indexers will collect the FiXML documents that go into each index partition,<br />

but not generate the index itself. Firstly, this reduces the load on the servers, since there is no point in<br />

generating new indexes until this procedure is completed. Secondly, the indexes that the search processes<br />

are serving are left untouched.<br />

10. Restart content feeding by starting all connectors.<br />

Applying runtime deployment changes<br />

43


<strong>FAST</strong> Enterprise Search Platform<br />

44<br />

Adding an indexer row<br />

To increase indexer fault tolerance, one or more backup indexer rows can be added (by converting dedicated<br />

search rows to combined indexer/search rows, or by installing new dedicated indexer rows). This permits<br />

feeding and indexing to continue in case of indexer node failures.<br />

The procedure describes how to add a backup indexer row operating in fault tolerance mode. The load on a<br />

backup indexer is much less than on a master indexer, so it is common to use a shared search/index row as<br />

the backup indexer row. In that case, take an existing dedicated search row and convert it to a combined<br />

search/index row. Otherwise, install new nodes for a dedicated backup indexer row.<br />

In this procedure, "old" indexers refer to the indexer instances that were configured in the system before the<br />

start of the procedure, while "new" indexers are the indexer instances added in the procedure.<br />

1. (Optional) If making a new dedicated indexer row, install new indexer nodes, as described in Adding new<br />

search or index nodes via the install profile . Don't start the nodes yet.<br />

2. Set all search processes to standalone mode.<br />

See Configuring search nodes to standalone mode , repeating the procedure for all nodes with search<br />

processes.<br />

After this step, all search processes are in standalone mode. This means they continue running from the<br />

existing index, but detached from the indexers and the configuration server, and they will not be disturbed<br />

by the configuration changes throughout the rest of the procedure.You can verify that the search processes<br />

are standalone by visiting each of the indexers in the Matching engines page of the admin GUI and see<br />

that the "Search controllers" section at the bottom of the Real Time Search Engine status page is empty.<br />

3. Stop content feeding.<br />

Refer to connector documentation. See also Preparation for backup .<br />

4. Suspend indexing:<br />

indexeradmin -a suspend<br />

5. Stop all (old) indexers: On all nodes in the existing indexer row(s), perform:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl stop indexer<br />

At this point, no indexer processes (whether new or existing) should be running. You can verify this from<br />

the System Management page of the admin GUI: All indicators in the column labelled "RI" should be<br />

yellow.<br />

6. On the admin node: update the cluster configuration data.<br />

a) Stop the configuration server by running the following command:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl stop configserver<br />

b) Edit the $<strong>FAST</strong>SEARCH/etc/CSConfig.xml file. Add a new row in the section by adding<br />

a entry in each entry. Enable fault-tolerance mode for each column by setting<br />

ft_mode ="1". If two or more rows are already defined you can copy the existing entry and<br />

only modify the rowid attribute.<br />

The following example shows a cluster entry where one backup row is added. The added/changed<br />

data is highlighted:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />


c) Start the configuration server by running the following command:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl start configserver<br />

7. For each indexer column, copy the $<strong>FAST</strong>SEARCH/data/data_fixml folder from the old indexer node to<br />

the new indexer node.<br />

<strong>ESP</strong> may have be configured with an alternate location for the data_fixml directory. In that case, use<br />

the alternate location instead of the default one. See Index data backup and restore .<br />

8. Start all the old indexers:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl start indexer<br />

Make sure all the old indexers are up before proceeding. They should come up in the role "Master" with<br />

0 backups. The new indexers must not be started before the old indexers have successfully started.<br />

9. On each of the nodes with new indexers, edit $<strong>FAST</strong>SEARCH/etc/NodeConf.xml to start the indexer. Add<br />

an entry for "indexer" to the section. Then use the node controller reloadcfg to reload the<br />

changed NodeConf.xml .<br />

NodeConf.xml example:<br />

<br />

indexer<br />

search-1<br />

. . .<br />

After editing NodeConf.xml :<br />

$<strong>FAST</strong>SEARCH/bin/nctrl reloadcfg<br />

If you have installed new indexer nodes by modifying the install profile, the NodeConf.xml changes have<br />

already been done by the installer, and this step can be omitted. Instead, just start the new indexer nodes:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl start<br />

At the completion of this step, all the new indexers should be running. In the admin GUI, verify that all<br />

indexers are visible in the Matching engines and that the old indexer in each column is designated as<br />

"master" and the new as "backup".Wait for the new indexers to complete initial indexing before proceeding<br />

to the next step.<br />

10. Resume indexing:<br />

indexeradmin -a resume<br />

11. Resume content feeding.<br />

12. Disable standalone mode for all search processes. In $<strong>FAST</strong>SEARCH/etc/searchrc-1.xml , remove the<br />

standalone parameter that was set in the first step. In addition, for all search processes on the same<br />

node as an indexer, set copyindex to "on_demand".<br />

To minimize search downtime, restart one search row at a time.<br />

Example searchrc-1.xml after editing:<br />

<br />

<br />

Applying runtime deployment changes<br />

45


<strong>FAST</strong> Enterprise Search Platform<br />

46<br />

<br />

Then restart search-1 using:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl restart search-1<br />

Adding a top-level dispatcher<br />

Top-level dispatchers must be present in any system that has or is to have more than one search node. The<br />

installer will automatically configure a top-level dispatcher when installing a multiple search node system. If<br />

you want to upgrade a single search node system to a multiple search node system, you must add a top-level<br />

dispatcher.<br />

A top-level dispatcher also works with only a single node, but adds a small amount of overhead to the system.<br />

Consequently, you may add a top-level dispatcher even if you only have a single node system to prepare for<br />

future extensions of the system.<br />

The top-level dispatcher typically runs on the same node as the QRServer.<br />

If you have multiple QRServer nodes (QR), you need to add a top-level dispatcher (TLD) to each them as<br />

shown in the figure.<br />

Figure 1: Top-Level dispatcher in single and multi-node configurations


1. In the $<strong>FAST</strong>SEARCH/etc folder, create a file called searchrc-dispatch.xml. If there are existing<br />

top-level dispatchers in the installation, this file can be copied from one of them, and edited. If not, it should<br />

look like this:<br />

<br />

<br />

<br />

2. Enable the top-level dispatcher in the $<strong>FAST</strong>SEARCH/etc/NodeConf.xml file for the top-level dispatcher<br />

node.<br />

a) Add the top-level dispatcher process configuration.<br />

A configuration for the top-level dispatcher may already be included in NodeConf.xml. It should be<br />

configured as follows:<br />

<br />

<br />

<br />

fsearchctrl<br />

--root=$<strong>FAST</strong>SEARCH --configfile=searchrc-dispatch.xml -ORBendPointNo<br />

Listen giop:tcp::$PORT -ORBendPointNoPublish giop:tcp::$PORT<br />

<br />

5<br />

<br />

<br />

5<br />

kill<br />

<br />

topfdispatch.scrap<br />

<br />

Replace with the fully qualified hostname of the local host.<br />

b) Add the top-level dispatcher to the list of active components in the node.<br />

In the section:<br />

<br />

...<br />

<br />

add the following line:<br />

topfdispatch<br />

The top-level dispatcher should come before the QRServer in the list.<br />

3. Load the new node controller configuration:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl reloadcfg<br />

4. Start the new top-level dispatcher:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl start topfdispatch<br />

5. Edit the $<strong>FAST</strong>SEARCH/etc/qrserver/webcluster.spec file to reflect the new top-level dispatch host:<br />

Replace the existing port number, which is the port number of the single search node, by the port number<br />

of the new top-level dispatcher. This port number is calculated based on the following formula:<br />

+ 2150<br />

Applying runtime deployment changes<br />

with representing the baseport number you indicated during the initial system<br />

installation. By default, this number is 13000.<br />

47


<strong>FAST</strong> Enterprise Search Platform<br />

48<br />

If you specified a different cluster name during installation, the name of the file that must be changed uses<br />

this cluster name.<br />

6. Restart the QRServer by running the following command:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl restart qrserver<br />

7. To verify that the setup is correct, select System Management in the <strong>FAST</strong> <strong>ESP</strong> administrator interface.<br />

The new node should have a Top-level Dispatcher (RTS) present in the System Monitor area of the<br />

screen.<br />

Now any query is directed to the top-level dispatcher, which will automatically adapt to search node layout<br />

changes.<br />

searchrc-dispatch.xml attributes<br />

searchrc-dispatch.xml Attributes<br />

searchrc-dispatch.xml<br />

Attribute<br />

hostname<br />

baseport<br />

clustername<br />

subsystem<br />

mode<br />

debuglog<br />

usestrictbind<br />

Default<br />

15150<br />

webcluster<br />

indexing<br />

dispatch<br />

false<br />

false<br />

Adding a new QRServer<br />

Description<br />

The fully qualified hostname of the top-level dispatcher node.<br />

The number of the baseport for this component (not the <strong>FAST</strong> <strong>ESP</strong><br />

installation baseport). Determine the component baseport number using<br />

the following formula:<br />

+ 2150<br />

Note that the default baseport number of the <strong>FAST</strong> <strong>ESP</strong> installation is<br />

13000.<br />

The name of the cluster the top-level dispatcher is to be assigned to.<br />

Name of subsystem.<br />

The role of the component (search node or dispatcher).<br />

For internal debugging only.<br />

Use the strictbind for all server sockets for the dispatcher.<br />

The following procedure describes how to add a new QRServer on an existing node within your installation,<br />

such as a newly installed second search row node.<br />

If you want to add a QRServer on a dedicated machine, refer to Adding new nodes via the install profile for<br />

information on how to add a node to your installation.<br />

1. Copy the contents of the $<strong>FAST</strong>SEARCH/etc/qrserver directory from one of the existing QRServer nodes<br />

to the same location on the new node. For example:<br />

scp -r $<strong>FAST</strong>SEARCH/etc/qrserver @qrserver2.example.com:$<strong>FAST</strong>SEARCH/etc


2. The $<strong>FAST</strong>SEARCH/etc/NodeConf.xml file usually contains a process section for the QRServer (), but it may not be complete.The file should be on every new node.The parameters<br />

subsection has the following format:<br />

-n [NAME] -R fds/resourceservice/0 -d [CLUSTER] -P $PORT<br />

-C $<strong>FAST</strong>SEARCH -c qrserver/qrserverrc -L file:stdout -ORBendPointNoListen giop:tcp:<br />

[LOCALHOST] :$PORT3 -ORBendPointNoPublish giop:tcp::$PORT3<br />

where:<br />

[NAME] is a symbolic, unique name of the QRServer<br />

[CLUSTER] is the search cluster name, usually webcluster<br />

[LOCALHOST] is the fully qualified hostname of the host running the new QRServer<br />

For example:<br />

<br />

<br />

qrserver<br />

-n qrserver2 -R fds/resourceservice/0 -d webcluster –P $PORT -C<br />

$<strong>FAST</strong>SEARCH<br />

-c qrserver/qrserverrc -L file:stdout -ORBendPointNoListen<br />

giop:tcp:qrserver2.example.com:$PORT3<br />

-ORBendPointNoPublish giop:tcp::$PORT3<br />

<br />

<br />

qrserver.scrap<br />

<br />

3. If you are adding a QRServer to an existing node, edit the $<strong>FAST</strong>SEARCH/etc/NodeConf.xml file to add<br />

the QRServer to the list of active components on the node. In the section:<br />

<br />

...<br />

<br />

add the following line:<br />

qrserver<br />

There is no required order for adding this component into the list.<br />

4. After editing the $<strong>FAST</strong>SEARCH/etc/NodeConf.xml file, run:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl reloadcfg<br />

5. Add a top-level dispatcher every time you add a QRServer, on the same node. It is possible to run multiple<br />

QRServers using a single top-level dispatcher, but this is not recommended. Refer to Adding a top-level<br />

dispatcher.<br />

6. Start the QRServer:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl start qrserver<br />

7. Add the new QRServer to the sfe.qrservers property of<br />

$<strong>FAST</strong>SEARCH/adminserver/webapps/sfe/WEB-INF/classes/sfe.properties on the administration<br />

node. This is a comma-separated list if there are multiple QRServers. Each QRServer is specified in the<br />

form<br />

[HOST]:[PORT]<br />

where<br />

[HOST] is the hostname of the QRServer<br />

[PORT] is the http port.<br />

8. Restart the admin server and wait until it is fully up and running:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl restart adminserver<br />

Applying runtime deployment changes<br />

49


<strong>FAST</strong> Enterprise Search Platform<br />

50<br />

9. Using the qrserver-admin command, register the new QRServer with the admin server.<br />

qrserver-admin -m add -n fds/searchservice/qrserver2 -o qrserver2.example.com -p 15100<br />

-c webcluster<br />

Note that qrserver2 used in this example must be the same as [NAME] in step 2.<br />

10. To verify that the setup is correct, select System Management in the <strong>FAST</strong> <strong>ESP</strong> administrator interface.<br />

The new node should have a QRServer (QR) and Top-level Dispatcher (RTS) present in the System<br />

Monitor area of the screen.<br />

The new QRServer will only automatically receive queries if the load balancing option is used in the Search<br />

API, or if it is added to a load-balancer with the existing query servers.<br />

Increasing document feed and processing capacity<br />

In order to increase content feed and document processing capacity you may need to perform one of the<br />

following tasks.<br />

Each crawler instance will crawl a set of web pages, as determined by its collection and sub collection<br />

configuration (start URIs and include/exclude filters). If possible, it is recommended to split up the total set<br />

of web pages into disjoint collections in such a way that each of them can be handled by a single node crawler<br />

instance.<br />

There are two ways to add a single node crawler:<br />

• add a crawler on a existing node, using the <strong>FAST</strong> <strong>ESP</strong> administrator interface<br />

• install a new crawler node by modifying the InstallProfile.xml file<br />

In large-scale installations, the set of web pages reachable from one start URI may be too large for a single<br />

node crawler, or there could be several start URIs which can not be separated in distinct collections because<br />

their reachable sets partially overlap. In these cases, it is necessary to have a single crawler instance distributed<br />

over multiple nodes.To install and configure a multi-node crawler, see Large Scale XML Crawler Configuration<br />

in the Enterprise Crawler <strong>Guide</strong>.<br />

Document processing pipelines are run in processor servers. Each processor server instance is single-threaded.<br />

For maximum CPU utilization, in particular with multiple CPU or multiple kernel hosts, it is recommended to<br />

run multiple processor server instances on each server node. There are two ways to add processor servers:<br />

• add a processor server instance on existing node, using the <strong>FAST</strong> <strong>ESP</strong> administrator interface<br />

• install new a processor server node by modifying the InstallProfile.xml file<br />

Adding a crawler on an existing node via <strong>FAST</strong> <strong>ESP</strong> administrator interface<br />

This procedure adds a new single node crawler instance on an existing node, using the <strong>FAST</strong> <strong>ESP</strong> administrator<br />

interface.<br />

The original installation can be a single node installation or a multiple node installation. It is only possible to<br />

have a single crawler instance on each node.<br />

1. Verify that the administration node is up and running.<br />

2. Select System Management from the <strong>FAST</strong> <strong>ESP</strong> administrator interface and click the name of the host<br />

where you want to add the crawler.<br />

3. Select Add Crawler.<br />

Adding a crawler node via install profile<br />

This procedure installs a new node with a new single node crawler.


1. Add the new document processor node. Refer to Adding new nodes via the install profile for the general<br />

procedure to add a node.<br />

2. Specialize the add new node procedure by assigning a new crawler service to the added node.<br />

• If using the installer GUI, assign and configure a "Crawler" service on the Services panel.<br />

• If editing the install profile directly, add a new entry in the section of<br />

the install profile, referencing the new node.<br />

For example:<br />

<br />

<br />

<br />

<br />

<br />

<br />

This example assumes that you have set up a host with id1 as identifier in the<br />

section of the InstallProfile.xml, and crawler2 is a unique name<br />

identifying the crawler.<br />

3. Complete the installation of the new node, using the edited install profile.<br />

Adding a processor server on an existing node via <strong>FAST</strong> <strong>ESP</strong> administrator interface<br />

This procedure adds a new processor server instance on an existing node, using the the <strong>FAST</strong> <strong>ESP</strong><br />

administrator interface.<br />

The procedure is the same regardless of whether:<br />

• the <strong>FAST</strong> <strong>ESP</strong> installation is single or multiple node, and<br />

• there is already a processor server on the node where the new processor server instance is to be added.<br />

1. Verify that the administration node is up and running.<br />

2. Select System Management from the <strong>FAST</strong> <strong>ESP</strong> administrator interface and click the name of the host<br />

where you want to add the processor server instance.<br />

3. Select Add Doc. Processor.<br />

Adding a document processor node via install profile<br />

This procedure installs a new document processor node.<br />

1. Add the new document processor node. Refer to Adding new nodes via the install profile for the general<br />

procedure to add a node.<br />

2. Specialize the add new node procedure by assigning the document processor service to the added node.<br />

• If using the installer GUI, assign the "Document Processor" service on the Services panel.<br />

• If editing the install profile directly, add a new entry in the<br />

section of the install profile, referencing the new node.<br />

For example:<br />

<br />

<br />

<br />

<br />

Applying runtime deployment changes<br />

This example assumes that one has set up a host with id1 as identifier in the section of<br />

the InstallProfile.xml, and dp2 is a unique name identifying the document processor.<br />

51


<strong>FAST</strong> Enterprise Search Platform<br />

52<br />

Instead of adding the new document processor server by editing the install profile before installation, it is<br />

also possible to add a new node without a processor server and add the processor server to it afterwards,<br />

using the procedure Adding a processor server on an existing node via <strong>FAST</strong> <strong>ESP</strong> administrator interface.<br />

3. Complete the installation of the new node, using the edited install profile.<br />

Adding a content distributor<br />

For load balancing or improved fault tolerance in content feeding, content distributors can be added.<br />

1. (Optional) Install a new node for the content distributor. Refer to Adding new nodes via the install profile.<br />

Before installing, edit the install profile: Add a entry to the<br />

section. The new entry must have a unique ID and reference the added<br />

node. One of the content distributors should have the master property set to "true"; for the others is should<br />

be "false". For example, assuming the new node was labeled "node1":<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

2. (Conditional) If adding a content distributor on an existing node, edit $<strong>FAST</strong>SEARCH/etc/NodeConf.xml<br />

to start the process: Add an entry for the content distributor in the section. Edit the process<br />

command line parameters of the process: Check the entries for the other content distributor(s)<br />

in the system. Select a unique ID (--id) for the new content distributor and set the --next-subsystem<br />

parameter to the same as for the other content distributors (usually<br />

"esp/clusters/%CLUSTER%/indexing/dispatcher").<br />

NodeConf.xml example (edited or added text in bold):<br />

. . .<br />

<br />

contentdistributor<br />

indexer<br />

. . .<br />

<br />

<br />

contentdistributor<br />

<br />

--next-subsystem=esp/clusters/%CLUSTER%/indexing/dispatcher<br />

--id=1<br />

--hostname=node02.yourdomain.com<br />

...<br />

<br />

. . .<br />

After editing NodeConf.xml:<br />

If the node is running, tell the node controller to reload its configuration:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl reloadcfg<br />

If the node is not already running, start it:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl start


If a new content distributor was added by the installer, the NodeConf.xml will already have been properly<br />

set up on the new node, and this step can be omitted.<br />

3. Add the new content distributor to $<strong>FAST</strong>SEARCH/etc/contentdistributor.cfg. Copy the modified file<br />

to all nodes in the system (not just those running content distributors).<br />

The crawler and file traverser locate the content distributors by reading this (local) file. If the content<br />

distributor was added by the installer, contentdistributor.cfg will have been updated on the new node<br />

only: Copy this file to the other nodes.<br />

contentdistributor.cfg example:<br />

node01.yourdomain.com;16100<br />

node02.yourdomain.com;16100<br />

4. Restart crawler(s) and file traverser(s), to make the new content distributor configuration take effect.<br />

5. Reconfigure and restart other content feeding clients. Refer to the documentation for the connectors in<br />

use to determine how to configure an additional content distributor.<br />

6. (Optional) To verify that failover to the new content distributor is working, shut down the old content<br />

distributor and check that content processing continues. (Existing sessions to the content distributor that<br />

were shut down will fail, but new sessions should be established to the new one.)<br />

Adding an indexing dispatcher<br />

To improve fault tolerance, extra indexing dispatchers can be added.<br />

The new indexing dispatcher can be added to an existing node, or a new node with an indexing dispatcher<br />

can be added using the installer.<br />

1. (Optional) Install a new node. Refer to Adding new nodes via the install profile. Start the node.<br />

Before installing, edit the install profile:<br />

Add an entry to the (top-level) section. The new<br />

entry must have a unique ID and reference the added node.<br />

Also, assign the new indexing dispatcher to the search cluster: Add an entry to<br />

the section of the cluster, referencing the ID of the new indexing dispatcher.<br />

Example, assuming the new node was labeled "node1":<br />

. . .<br />

<br />

<br />

<br />

<br />

. . .<br />

<br />

. . .<br />

<br />

<br />

<br />

<br />

<br />

. . .<br />

Applying runtime deployment changes<br />

2. (Conditional) If adding an indexing dispatcher on an existing node, edit $<strong>FAST</strong>SEARCH/etc/NodeConf.xml<br />

to start the process: Add an entry for the indexing dispatcher to the section.<br />

53


<strong>FAST</strong> Enterprise Search Platform<br />

54<br />

NodeConf.xml example (edited or added text in bold):<br />

. . .<br />

<br />

indexingdispatcher<br />

indexer<br />

. . .<br />

After editing NodeConf.xml:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl reloadcfg<br />

If a new indexing dispatcher node was added by the installer, the NodeConf.xml will already have been<br />

properly set up on the new node, and this step can be omitted.<br />

3. (Optional) To verify that failover to the new indexing dispatcher works, stop the old indexing dispatcher<br />

and check that indexing continues. (Existing content feeding sessions should recover.)<br />

Multi-node license file considerations<br />

In a distributed configuration the license manager uses the master license file located on the host where the<br />

license manager is running. It is this master license file that includes the detailed feature and capacity license<br />

entries.<br />

The license manager host is normally the same as the host where the configuration server is running. Each<br />

of the other nodes in the system must also have a license file, but this is only used in order to tell the processes<br />

where to find the license manager.<br />

On all nodes other than the administration node, the license file only needs the two first lines in the license<br />

file:<br />

SERVER ANY<br />

USE_SERVER<br />

The license file is located on each node at: $<strong>FAST</strong>SEARCH/etc/fastsearch.lic<br />

If another non-administration node is available, copy the license file from this node. Otherwise the license<br />

file from the administration node can also be used, although the actual FEATURE lines in the license file are<br />

not relevant in this case (always verified by the license manager on the administration node).<br />

Also ensure that the environment variables are properly set. The LM_LICENSE_FILE environment variable<br />

must point to the installed license file, $<strong>FAST</strong>SEARCH/etc/fastsearch.lic.<br />

Increasing indexing and search capacity with independent search nodes<br />

Indexing and search capacity issues may arise if a system is configured to run search and indexing on the<br />

same node. This can be alleviated by setting up independent search nodes. This section describes how to<br />

move existing services to different nodes.<br />

Important: The backup and restore procedures and some other procedures in this guide assume that<br />

there exists an up-to-date InstallProfile.xml describing the full <strong>FAST</strong> <strong>ESP</strong> installation, such that<br />

each and every node can be reinstalled from scratch using this install profile. The procedures in this<br />

section move services by modifying configuration files directly, without involving the install profile. You<br />

should modify your saved InstallProfile.xml to reflect these changes: In the entries for moved search,<br />

QR server or topfdispatch processes, update the host-ref attribute with the new location for the process.


Moving RTS<br />

The following procedure describes how to move RTS from an existing node to a new node.<br />

1. Copy the contents of rtsplatformcache.xml, rtsplatformrc.xml, and searchrc-1.xml from<br />

$<strong>FAST</strong>SEARCH/etc on one of the existing RTS nodes to the same directory on the new node. For example:<br />

scp $<strong>FAST</strong>SEARCH/etc/searchrc-1.xml @new.server.com:/$<strong>FAST</strong>SEARCH/etc<br />

2. Edit the rtsplatformrc.xml file so that the hostname is that of the new node. For example:<br />

<br />

<br />

<br />

3. Edit the searchrc-1.xml file so that the hostname is identical to that of new node. Change the copyindex<br />

field to on_demand. For example:<br />

<br />

<br />

<br />

4. On the existing search node, remove search-1 from in $<strong>FAST</strong>SEARCH/etc/NodeConf.xml.<br />

5. Stop all indexers.<br />

6. On the existing search node, stop search-1:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl stop search-1<br />

7. On the new search node, add search-1 to the in $<strong>FAST</strong>SEARCH/etc/NodeConf.xml.<br />

search-1<br />

There is no required order for adding this component into the list.<br />

8. Add the RTS process description. For example:<br />

Applying runtime deployment changes<br />

<br />

<br />

fsearchctrl<br />

--root=$<strong>FAST</strong>SEARCH<br />

--configfile=searchrc-1.xml<br />

-ORBendPointNoListen giop:tcp:NEW.SERVER.COM:$PORT<br />

-ORBendPointNoPublish giop:tcp::$PORT<br />

<br />

<br />

5<br />

<br />

<br />

55


<strong>FAST</strong> Enterprise Search Platform<br />

56<br />

120<br />

kill<br />

<br />

searchctrl/search-1.scrap<br />

<br />

9. On the new node, run:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl reloadcfg<br />

10. On new node, run:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl start search-1<br />

11. Start all indexers.<br />

12. Verify that the index starts copying data to new search node. Check the partition status under the Matching<br />

Engines tab of the <strong>FAST</strong> <strong>ESP</strong> Administrator Interface to make sure the partition status is copying.<br />

Moving a QRServer<br />

The following procedure describes how to move a QRServer from an existing node to a new node.<br />

1. Copy the contents of $<strong>FAST</strong>SEARCH/etc/qrserver from the existing QRServer node to the same location<br />

on the new node. For example:<br />

scp -r $<strong>FAST</strong>SEARCH/etc/qrserver @qrserver2.example.com:$<strong>FAST</strong>SEARCH/etc<br />

2. On the new node, add the following line to in $<strong>FAST</strong>SEARCH/etc/NodeConf.xml:<br />

qrserver<br />

There is no required order for adding this component into the list.<br />

3. Add the QRServer process description. For example:<br />

<br />

<br />

qrserver<br />

-n qrserver2 -R fds/resourceservice/0 -d webcluster -P $PORT<br />

-C<br />

$<strong>FAST</strong>SEARCH -c qrserver/qrserverrc -L file:stdout<br />

-ORBendPointNoListen giop:tcp:qrserver2.example.com:$PORT3<br />

-ORBendPointNoPublish giop:tcp::$PORT3<br />

<br />

<br />

<br />

qrserver.scrap<br />

<br />

4. On the existing QRServer node, stop qrserver:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl stop qrserver<br />

5. Remove the existing QRServer:<br />

$<strong>FAST</strong>SEARCH/bin/qrserver-admin -m remove -n fds/searchservice/qrservername -o<br />

qrserver.example.com<br />

If necessary, use $<strong>FAST</strong>SEARCH/bin/qrserver-admin -m list to find the ns name and address.<br />

6. On the new QRServer node, run:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl reloadcfg<br />

$<strong>FAST</strong>SEARCH/bin/nctrl start qrserver


7. On the administration node, add the new QRServer to sfe.properties and remove the existing QRServer<br />

from same file:<br />

vim $<strong>FAST</strong>SEARCH/adminserver/webapps/sfe/WEB-INF/classes/sfe.properties<br />

8. On the administration node, edit the file $<strong>FAST</strong>SEARCH/etc/esp4j.properties so that the hostname and<br />

port number of the new QRServers are correct.<br />

# SFE properties<br />

#<br />

sfe.qrservers=NEW.HOSTNAME1.COM:PORT,NEW.HOSTNAME2.COM:PORT<br />

sfe.relative.resource.path=<br />

The sfe.properties file is a comma-separated list if there are multiple QRServers.<br />

9. Restart the admin server, either from the Administrator Interface or on administration node using:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl restart adminserver<br />

10. Register the new QRServer with the admin server:<br />

$<strong>FAST</strong>SEARCH/bin/qrserver-admin -m add -n fds/searchservice/qrservername -p 25100 -c<br />

webcluster -o qrserver.example.com<br />

11. On the administration node, stop the configserver:<br />

$<strong>FAST</strong>SEARCH/bin/ncrtl stop configserver<br />

12. On the administration node, edit the $<strong>FAST</strong>SEARCH/etc/CSConfig.xml file with the new locations of the<br />

QRServers.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

13. On the administration node, start the configserver:<br />

$<strong>FAST</strong>SEARCH/bin/ncrtl start configserver<br />

Applying runtime deployment changes<br />

14. Verify that the QRServer is up and running. Check for error or warning messages in the Logs tab of the<br />

<strong>FAST</strong> <strong>ESP</strong> Administrator Interface to make sure search is available under the Search View tab.<br />

Moving an RTS top dispatcher<br />

The following procedure describes how to move the RTS top dispatcher (searchctrl) from an existing node<br />

to a new node.<br />

1. Copy the contents of searchrc-dispatch.xml from $<strong>FAST</strong>SEARCH/etc on one of the existing nodes to<br />

the same directory on the new node. For example:<br />

scp $<strong>FAST</strong>SEARCH/etc/searchrc-dispatch.xml @new.server.com:/$<strong>FAST</strong>SEARCH/etc<br />

57


<strong>FAST</strong> Enterprise Search Platform<br />

58<br />

2. Edit the searchrc-dispatch.xml file so that the hostname is that of the new node. For example:<br />

<br />

<br />

<br />

3. On the existing node, stop topfdispatch-searchctrl:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl stop topfdispatch-searchctrl<br />

4. On the existing node, remove topfdispatch-searchctrl from in<br />

$<strong>FAST</strong>SEARCH/etc/NodeConf.xml.<br />

5. On the new node, add topfdispatch-searchctrl to the <br />

in$<strong>FAST</strong>SEARCH/etc/NodeConf.xml.<br />

topfdispatch-searchctrl<br />

There is no required order for adding this component into the list.<br />

6. Add the RTS Top Dispatcher process information. For example:<br />

<br />

<br />

fsearchctrl<br />

--root=$<strong>FAST</strong>SEARCH<br />

--configfile=searchrc-dispatch.xml<br />

-ORBendPointNoListen giop:tcp:NEW.SERVER.COM:$PORT<br />

-ORBendPointNoPublish giop:tcp::$PORT<br />

<br />

<br />

5<br />

<br />

<br />

5<br />

kill<br />

<br />

topfdispatch-searchctrl.scrap<br />

<br />

7. On the new node, run:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl reloadcfg<br />

8. On new node, run:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl start topfdispatch-searchctrl<br />

9. Verify that the RTS top dispatcher is up and running. Check for error or warning messages in the Logs<br />

tab of the <strong>FAST</strong> <strong>ESP</strong> Administrator Interface to make sure search is available under the Search View<br />

tab.


Chapter<br />

4<br />

Running <strong>FAST</strong> <strong>ESP</strong> in standalone mode<br />

Topics:<br />

• About standalone mode<br />

• Creating standalone versions of<br />

processes<br />

• Switching search to standalone<br />

mode<br />

• Restoring normal operations from<br />

standalone search<br />

This section describes procedures for working in standalone mode.


<strong>FAST</strong> Enterprise Search Platform<br />

60<br />

About standalone mode<br />

In standalone mode, search and dispatch nodes operate independently of the configuration server and the<br />

indexers. Standalone mode is used to permit search to operate from a subset of the nodes, holding an old<br />

snapshot of the index, while other nodes are upgraded or reconfigured. Standalone mode can also be used<br />

in other cases which require manual configuration of search.<br />

Standalone mode applies to the following <strong>ESP</strong> components:<br />

• Search nodes, which are "locked" to a particular snapshot of the index. By deregistering from the<br />

configuration server and indexers, a standalone search node neither receives index updates, nor is it<br />

affected by cluster configuration changes.<br />

• (Top-level) dispatcher nodes, when standalone, are also isolated from configuration changes and can be<br />

manually configured.<br />

Search nodes by themselves can be set standalone, to get control of when they are updated with new indexes<br />

or to copy new indexes to them manually.<br />

To have operational search while performing system upgrades or testing, a subset of the search nodes (one<br />

or more rows) are selected and set standalone. Then the top-level dispatchers are also set standalone and<br />

manually configured to dispatch search to those search nodes only.<br />

To implement custom load balancing schemes, create multiple QRServers (e.g. one per row) with an external<br />

load balancer to distribute load between them. Each QRServer has a distinct standalone top-level dispatcher<br />

which is manually configured to dispatch search to a subset of the search nodes (e.g. one row).<br />

Creating standalone versions of processes<br />

This section describes how to add standalone versions of processes.<br />

Creating a standalone QRServer<br />

This procedure adds a standalone QRServer process as an alternative for an existing process, to permit<br />

switching between the original and the standalone version.<br />

Before carrying out this procedure: On the admin-node, ensure that the following is set (adding or changing<br />

values):<br />

httpdisable = 1<br />

allowpartialresults = 1<br />

datasearch.autoreconfigure.level = 0<br />

in $<strong>FAST</strong>SEARCH/etc/config_data/QRServer/webcluster/etc/qrserver/qrserverrc and<br />

$<strong>FAST</strong>SEARCH/etc/bliss-templates/QRServerRCWriter/qrserverrc.tmpl<br />

Note that changing the autoconfigure level will require the QRServers to be restarted manually whenever the<br />

index-profile has been changed, also during hot-update.<br />

Repeat this procedure on each node with a QRServer in the system. (QRServer and the associated top-level<br />

dispatcher usually run on the same node, so you may want to carry out the NodeConf.xml changes described<br />

here at the same time as those in Creating a standalone top-level dispatcher.)<br />

1. Add a process entry for the standalone QRServer qrserver-standalone in<br />

$<strong>FAST</strong>SEARCH/etc/NodeConf.xml: Copy the entry for the original QRServer process and add a nonexistent<br />

host:port combination as the configuration server address (-D dummy:1000) in its section.<br />

<br />

<br />

qrserver


-D dummy:1000 -n query1_15100 -R esp/admin/resourceservice/0<br />

-d webcluster -P $PORT -C $<strong>FAST</strong>SEARCH -c qrserver/qrserverrc -L file:stdout<br />

-ORBendPointNoListen<br />

giop:tcp:query1.search.net:$PORT3 -ORBendPointNoPublish giop:tcp::$PORT3<br />

<br />

<br />

qrserver-standalone.scrap<br />

<br />

2. Add the qrserver-standalone process in the section in the top of NodeConf.xml:<br />

...<br />

<br />

...<br />

qrserver<br />

qrserver-standalone<br />

...<br />

<br />

3. To avoid automatic startup of the qrserver-standalone process when reloading the configuration, set<br />

it to stopped.<br />

nctrl stop qrserver-standalone<br />

To avoid accidentally starting the standalone version of the process, you might in addition comment out<br />

its entry in the section when not in active use: <br />

4. Reload the node controller configuration.<br />

nctrl reloadcfg<br />

Running <strong>FAST</strong> <strong>ESP</strong> in standalone mode<br />

After completion of this procedure, there are two defined processes qrserver and qrserver-standalone<br />

with equivalent configurations, except the latter operates in standalone mode. To switch between normal and<br />

standalone mode, it is sufficient to stop the running one and start the alternate one. (The processes cannot<br />

run at the same time.)<br />

Creating a standalone search process<br />

This procedure adds a standalone search process as an alternative for an existing process, to permit switching<br />

between the original and the standalone version.<br />

Repeat this procedure on each search node in the system. There is normally at most one search controller<br />

process per node, which is named "search-1", and with a master configuration file<br />

$<strong>FAST</strong>SEARCH/etc/searchrc-1.xml. If there are multiple search controller processes per node, the process<br />

name and the corresponding configuration file name will have suffixes "-2", "-3" etc. Repeat this procedure<br />

for each search controller process, as required.<br />

1. In $<strong>FAST</strong>SEARCH/etc/NodeConf.xml, make a copy of the search-1 process entry, name it<br />

search-1-standalone and add the options --no-indexer --no-fds to its parameters section.<br />

<br />

<br />

fsearchctrl<br />

--no-indexer --no-fds --root=$<strong>FAST</strong>SEARCH --configfile=searchrc-1.xml<br />

-ORBendPointNoListen giop:tcp:search00.search.net:$PORT -ORBendPointNoPublish<br />

giop:tcp::$PORT<br />

<br />

<br />

<br />

<br />

120<br />

kill<br />

<br />

search-1-standalone.scrap<br />

<br />

50<br />

61


<strong>FAST</strong> Enterprise Search Platform<br />

62<br />

<br />

<br />

2. Add the search-1-standalone process in the section in the top of NodeConf.xml:<br />

...<br />

<br />

...<br />

search-1<br />

search-1-standalone<br />

...<br />

<br />

3. To avoid automatic startup of the search-1-standalone process when reloading the configuration, set<br />

it to stopped.<br />

nctrl stop search-1-standalone<br />

To avoid accidentally starting the standalone version of the process, you might in addition comment out<br />

its entry in the section when not in active use: <br />

4. Reload the node controller configuration.<br />

nctrl reloadcfg<br />

After completion of this procedure, there are two defined processes search-1 and search-1-standalone<br />

with equivalent configurations, except the latter operates in standalone mode. To switch between normal and<br />

standalone mode, it is sufficient to stop the running one and start the alternate one. (The processes cannot<br />

run at the same time.)<br />

Creating a standalone top-level dispatcher<br />

This procedure adds a standalone top-level dispatcher process as an alternative for an existing process, to<br />

permit switching between the original and the standalone version.<br />

Repeat this procedure on each node with a top-level dispatcher in the system. (QRServer and the associated<br />

top-level dispatcher usually run on the same node, so you may want to carry out the NodeConf.xml changes<br />

described here at the same time as those in Creating a standalone QRServer.)<br />

1. When running on standard configuration, topfdispatch will automatically distribute queries to all running<br />

search nodes. To be able to control which search nodes are in production, add an explicit engines map<br />

configuration file to the parameters of the topfdispatch process in $<strong>FAST</strong>SEARCH/etc/NodeConf.xml<br />

using the --enginefile=$<strong>FAST</strong>SEARCH/etc/enginesrc-tld option.<br />

<br />

<br />

fsearchctrl<br />

--root=$<strong>FAST</strong>SEARCH --enginefile=$<strong>FAST</strong>SEARCH/etc/enginesrc-tld<br />

--configfile=searchrc-dispatch.xml -ORBendPointNoListen giop:tcp:query1.search.net:$PORT<br />

-ORBendPointNoPublish giop:tcp::$PORT<br />

<br />

5<br />

<br />

topfdispatch.scrap<br />

<br />

2. Create the engines map configuration file $<strong>FAST</strong>SEARCH/etc/enginesrc-tld listing the search node the<br />

current query server should query. The file can be based on the file<br />

$<strong>FAST</strong>SEARCH/var/searchctrl/etc/enginesrc-tld_0 which is auto-generated when running a standard<br />

installation.<br />

Example, from a system with 2 columns, 1 row:<br />

dataset 0<br />

partitions 2


efcost 1<br />

firstpart 0<br />

rowbits 2<br />

engine search0-0.search.net:15700 0 0 1<br />

engine search1-0.search.net:15700 1 0 1<br />

3. To avoid deployment of new configuration during index-profile update, we also need a standalone version<br />

of the topfdispatch process. Add a process entry for topfdispatch-standalone process to<br />

NodeConf.xml by copying the entry for the original topfdispatch and adding the options --no-indexer<br />

--no-fds in the section.<br />

<br />

<br />

fsearchctrl<br />

--root=$<strong>FAST</strong>SEARCH --enginefile=$<strong>FAST</strong>SEARCH/etc/enginesrc-tld<br />

--configfile=<br />

searchrc-dispatch.xml -ORBendPointNoListen giop:tcp:query1.search.net:$PORT<br />

-ORBendPointNoPublish<br />

giop:tcp::$PORT --no-indexer --no-fds<br />

<br />

5<br />

<br />

topfdispatch-standalone.scrap<br />

<br />

4. Add the topfdispatch-standalone process in the section in the top of NodeConf.xml:<br />

...<br />

<br />

...<br />

topfdispatch<br />

topfdispatch-standalone<br />

...<br />

<br />

5. To avoid automatic startup of the topfdispatch-standalone process when reloading the configuration,<br />

set it to stopped.<br />

nctrl stop topfdispatch-standalone<br />

To avoid accidentally starting the standalone version of the process, you might in addition comment out<br />

its entry in the section when not in active use: <br />

6. Reload the node controller configuration.<br />

nctrl reloadcfg<br />

After completion of this procedure, there are two defined processes topfdispatch and<br />

topfdispatch-standalone with equivalent configurations, except the latter operates in standalone mode.<br />

To switch between normal and standalone mode, it is sufficient to stop the running one and start the alternate<br />

one. (The processes cannot run at the same time.)<br />

The search nodes this top-level dispatcher will distribute queries to is controlled by editing the engines map<br />

file $<strong>FAST</strong>SEARCH/etc/enginesrc-tld. (After editing, restart the topfdispatch or topfdispatch-standalone<br />

process. Alternately, perform an HTTP GET on the URL<br />

http://server:15151/admin?command=reload_partmap, where server is the node where the top-level<br />

dispatcher is running. The port number 15151 assumes the default <strong>ESP</strong> base port of 13000.)<br />

Switching search to standalone mode<br />

Running <strong>FAST</strong> <strong>ESP</strong> in standalone mode<br />

Switches all processes involved in search to standalone mode, to allow search to operate continuously from<br />

an existing index, unaffected by index updates and configuration changes.<br />

63


<strong>FAST</strong> Enterprise Search Platform<br />

64<br />

This procedure assumes the system has one or more dedicated search rows which can be made standalone<br />

in order to continue to serve search during index reconfiguration. Determine which search rows are used to<br />

serve each QRServer, in order to balance the load over the search rows in standalone mode.<br />

Before carrying out this procedure the first time, create the standalone process entries for all QRServers,<br />

top-level dispatchers and search processes, refer to Creating a standalone QRServer, Creating a standalone<br />

top-level dispatcher and Creating a standalone search process.<br />

1. To avoid deployment of new views during index-profile update, the QRServers needs to be put into<br />

standalone mode with regards to the admin server. This is done with the qrserver-admin command.<br />

a) List existing QRServer, using the qrserver-admin -m list command.<br />

[search@admin ~]$ qrserver-admin -m list<br />

# ns name address cluster state<br />

- ------------------------------ -------------------------------- ---------- -----<br />

1 fds/searchservice/query1_15100 query1.search.net:15100 webcluster up<br />

2 fds/searchservice/query2_15100 query2.search.net:15100 webcluster up<br />

b) Set all QRServer into standalone mode, using the qrserver-admin -m standalone command.<br />

This means that views will not be deployed to the QRServer.<br />

[search@admin ~]$ qrserver-admin -m standalone -n fds/searchservice/query1_15100<br />

Taking qrserver fds/searchservice/query1_15100 (query1.search.net:15100) standalone.<br />

10.435 [--------------------------------------] 100% Successfully redeployed all<br />

views.<br />

[search@tsiadm1.bos3 ~]$ qrserver-admin -m standalone -n<br />

fds/searchservice/query2_15100<br />

Taking qrserver fds/searchservice/query2_15100 (query2.search.net:15100) standalone.<br />

10.396 [--------------------------------------] 100% Successfully redeployed all<br />

views.<br />

2. Switch each pair of QRServer/top-level dispatcher to standalone mode.<br />

The QRServer and associated top-level dispatcher usually run on the same node. Perform this step on<br />

each node with a QRServer and top-level dispatcher.<br />

a) Start the standalone version of the QRServer process.<br />

nctrl stop qrserver<br />

nctrl start qrserver-standalone<br />

b) Point the top-level dispatcher to the dedicated search row(s), by editing<br />

$<strong>FAST</strong>SEARCH/etc/enginesrc-tld.<br />

There should be an "engine" line for each search process this dispatcher is going to use. The format<br />

of the line is<br />

engine host:port column row refcost<br />

For instance:<br />

dataset 0<br />

partitions 2<br />

refcost 1<br />

firstpart 0<br />

rowbits 2<br />

engine search0-1.search.net:15700 0 0 1<br />

engine search1-1.search.net:15700 1 0 1<br />

c) Start the standalone version of the top-level dispatcher process.<br />

nctrl stop topfdispatch<br />

nctrl start topfdispatch-standalone<br />

d) Make sure the QRServer and top-level dispatcher are up before going on to the next node.


This can be done by checking http:// node :15151/status (where node is the current node).<br />

3. Set all search nodes standalone.<br />

On each search node (in the dedicated search rows), perform<br />

nctrl stop search-1<br />

nctrl start search-1-standalone<br />

Restoring normal operations from standalone search<br />

This procedure restores normal operation after search has been in standalone mode, phasing in a new or<br />

reorganized index and optionally a new configuration.<br />

This procedure is applied in a state when search is in standalone mode (refer to Switching search to standalone<br />

mode), being served from dedicated, standalone search rows. Indexing has been reconfigured, and the index<br />

row(s) have completed generating an updated index, which is not yet visible on the search row(s). By taking<br />

the search rows out of standalone mode one by one, they will be updated with the new configuration and the<br />

new index, without interruption of overall search availability or inconsistencies in search results.<br />

Each iteration of the procedure takes one standalone QRServer, switches it over from standalone search<br />

rows to updated rows and restores it to normal operation from standalone mode.This is freeing up standalone<br />

search rows, which are no longer used by any QRServer. The rows can then be restored to normal operation,<br />

updated with the new index and used to restore another QRServer on the next iteration.<br />

1. Select one of the remaining standalone QRServers to restore to normal operation.<br />

This QRServer will be unavailable for search until this iteration of the procedure has completed. It is<br />

important to complete the procedure on one QRServer before starting on the next, ensuring that search<br />

is up at all times.<br />

a) Stop topfdispatch-standalone:<br />

nctrl stop topfdispatch-standalone<br />

The QRServer will then close port 15100 for incoming queries.<br />

b) Point topfdispatch to one of the updated rows, for instance the index row, by editing<br />

$<strong>FAST</strong>SEARCH/etc/enginesrc-tld.<br />

Example:<br />

dataset 0<br />

partitions 2<br />

refcost 1<br />

firstpart 0<br />

rowbits 2<br />

engine search0-0.search.net:15700 0 0 1<br />

engine search1-0.search.net:15700 1 0 1<br />

If the cluster was reconfigured with a different number of columns, remember to set partitions to the<br />

new number of columns.<br />

If restoring several QRServers, ensure load is distributed over the updated rows: Select a different row<br />

in this step for each iteration, or perform the final step to redistribute load on each iteration.<br />

c) Stop the standalone QRServer and start the normal QRServer:<br />

nctrl stop qrserver-standalone<br />

nctrl start qrserver<br />

d) Bring the QRServer back online:<br />

qrserver-admin -m up -n fds/searchservice/query1_15100<br />

Running <strong>FAST</strong> <strong>ESP</strong> in standalone mode<br />

This step causes the admin server to push updated configuration (in particular, views) to the QRServer.<br />

65


<strong>FAST</strong> Enterprise Search Platform<br />

66<br />

e) Start the normal top-level dispatcher:<br />

nctrl start topfdispatch<br />

This is the step that actually causes the QRServer to start operating. It is important to perform it after<br />

the two previous steps, otherwise the QRServer might start with the wrong configuration.<br />

f) Make sure the QRServer and top-level dispatcher are up before going on to the next node.<br />

This can be done by checking http://node:15151/status (where node is the current node).<br />

2. Bring unused search row(s) back to normal operation: Stop the standalone search process and start the<br />

normal process on the search nodes in the rows that were used by the QRServer just updated:<br />

nctrl stop search-1-standalone<br />

nctrl start search-1<br />

The search nodes are now running in normal operation, and an updated index set and configuration will<br />

be copied to the nodes as soon as possible.<br />

3. Distribute load on updated rows.<br />

For all topfdispatch processes restored to normal mode, edit $<strong>FAST</strong>SEARCH/etc/enginesrc-tld to<br />

search all updated rows. Example:<br />

dataset 0<br />

partitions 2<br />

refcost 1<br />

firstpart 0<br />

rowbits 2<br />

engine search0-0.search.net:15700 0 0 1<br />

engine search0-1.search.net:15700 0 1 1<br />

engine search1-0.search.net:15700 1 0 1<br />

engine search1-1.search.net:15700 1 1 1<br />

To make topfdispatch reload the configuration file, a HTTP GET can be done on<br />

http://node:15151/admin?command=reload_partmap. Alternatively restart the topfdispatch process.<br />

If required, perform this step on each iteration of the procedure, redistributing load temporarily over the<br />

current set of updated rows. Otherwise, postpone it until the last QRServer has been restored and all<br />

search rows are updated. At the end of the last iteration, each enginesrc-tld should be restored to the<br />

state before the system was taken to standalone mode.


Chapter<br />

5<br />

Working with an Indexing Fault Tolerant Configuration<br />

Topics:<br />

• Starting Indexers in a Fault<br />

Tolerant Configuration<br />

• Stopping Indexers in a Fault<br />

Tolerant Configuration<br />

• Enabling Indexing Fault<br />

Tolerance<br />

• Disabling Indexing Fault<br />

Tolerance<br />

• Synchronizing Indexer Rows<br />

• Upgrading Indexer Binaries in a<br />

Fault Tolerant Configuration<br />

• Backing up Indexing in a Fault<br />

Tolerant Configuration<br />

• Indexing Fault Tolerance<br />

Configuration Parameters<br />

This section describes how to operate an indexing fault tolerant <strong>ESP</strong> configuration.


<strong>FAST</strong> Enterprise Search Platform<br />

68<br />

Starting Indexers in a Fault Tolerant Configuration<br />

Follow this procedure to avoid rebuilding the index when starting the indexers in a fault tolerant configuration.<br />

Indexer fault tolerance is implemented by having multiple indexers per column. One indexer in each column<br />

is designated the master indexer, all other indexers are backup indexers. In the event that the master indexer<br />

becomes unavailable, one of the backup indexers takes over the role of master indexer and rebuilds the<br />

index.<br />

Note:<br />

Rebuilding the index can be a time-consuming process and so it is generally undesirable for a backup<br />

indexer to take over the role of master indexer unless the original master indexer truly has a problem.<br />

To avoid rebuilding the index you must be careful about the order in which you start the indexers in an<br />

indexing fault tolerant <strong>ESP</strong> cluster.<br />

As a rule of thumb when stopping <strong>ESP</strong>, you should always stop the master indexer last so that no backup<br />

indexer tries to take over. Likewise when starting <strong>ESP</strong>, you should start the indexer that was previously<br />

the master indexer first. Then the indexer will continue to use its existing index as opposed to a previous<br />

backup indexer starting first and having to perform a 'reset index' operation.<br />

1. Run nctrl start indexer on the preferred master indexer.<br />

The preferred master indexer is the indexer that was previously the master indexer when <strong>ESP</strong> was last<br />

shutdown.<br />

2. Wait for the master indexer to become available.<br />

You can determine whether an indexer is available by monitoring its status page at http://:/control.html and waiting for the Column role field to display an appropriate value.<br />

In the case of a master indexer, it is available when this field shows Master … . A backup indexer is<br />

available when the Column role field shows Backup … .<br />

3. Start the backup indexers by running nctrl start indexer on each of the hosting nodes.<br />

Once a backup indexer is started, it will begin heartbeart monitoring of the master indexer.<br />

Important: Always validate that the indexer has started successfully before proceeding with any<br />

operation that depends on it. The simplest way to do this is to check that the status page for the<br />

indexer is available.<br />

Stopping Indexers in a Fault Tolerant Configuration<br />

Follow this procedure to avoid rebuilding the index when stopping the indexers in a fault tolerant configuration.<br />

Indexer fault tolerance is implemented by having multiple indexers per column. One indexer in each column<br />

is designated the master indexer, all other indexers are backup indexers. In the event that the master indexer<br />

becomes unavailable, one of the backup indexers takes over the role of master indexer and rebuilds the<br />

index. Rebuilding the index can be a time-consuming process, it is generally undesirable for a backup indexer<br />

to take over the role of master indexer unless the original master indexer truly has a problem.<br />

Note:<br />

To avoid rebuilding the index you must be careful about the order in which you stop the indexers in an<br />

indexing fault tolerant <strong>ESP</strong> cluster.


Generally when stopping <strong>ESP</strong>, you should suspend the indexer heartbeats first so that no backup indexer<br />

tries to take over if the master indexer stops first. Alternatively, you can stop all the backup indexers first<br />

followed by the master indexer.<br />

1. Run indexeradmin -a suspendheartbeat on any indexer node to suspend the heartbeat of all indexers,<br />

preventing the backup indexers from detecting that the master indexer is down.<br />

If you only want to stop indexers in a single column, use the –column option to stop the heartbeat for that<br />

column's indexers.<br />

2. Run nctrl stop indexer on each indexer node.<br />

The order of shutdown is irrelevant once you have suspended the heartbeat.<br />

Important: Always validate that the indexer processes have stopped before continuing with any<br />

further operations.<br />

Enabling Indexing Fault Tolerance<br />

Follow this procedure to reconfigure an existing <strong>ESP</strong> cluster that consists of one indexing row and one or<br />

more dedicated search rows, to one that provides indexing fault tolerance with multiple indexers per column.<br />

Before you begin, stop feeding content to the system and wait for the indexing of any recently fed content to<br />

complete. Then stop all the indexers in the system.<br />

Important: If you want the search service to remain available during this process, configure the search<br />

nodes to run in standalone mode while the upgrade takes place.<br />

1. Add new indexers to the configuration.<br />

a) Stop the configuration server by running nctrl stop configserver on the administration node.<br />

b) Edit $<strong>FAST</strong>SEARCH/etc/CSConfig.xml on the administration node.<br />

For each column, add the backup entry and change the ft_mode attribute from 0 to 1 . For example:<br />

<br />

<br />

<br />

c) Run nctrl start configserver to restart the configuration server.<br />

2. Copy the data_fixml folder from the old indexers to the new ones.<br />

3. Update the configuration on each new indexer node.<br />

a) Edit the etc/NodeConf.xml file, and add indexer to the startorder section.<br />

b) Run nctrl reloadcfg to reload the configuration.<br />

4. Start the indexers.<br />

Working with an Indexing Fault Tolerant Configuration<br />

a) Start the original indexers by running nctrl start indexer on the hosting nodes.<br />

b) After making sure that the original indexers are up, start all the new indexers.<br />

69


<strong>FAST</strong> Enterprise Search Platform<br />

70<br />

Note: Check the admin GUI and make sure that all the indexers are visible, and that they show up<br />

as backups of the old indexers. If any of the new indexers are stuck doing initial indexing, wait for<br />

them to complete.<br />

5. Restart the search processes on the search rows by running nctrl start search-1 on the hosting<br />

nodes.<br />

Note: Remember to disable standalone mode as this will cause search downtime unless there are<br />

multiple search rows, in which case they should be restarted one at a time.<br />

Disabling Indexing Fault Tolerance<br />

Follow this procedure to convert an existing <strong>ESP</strong> multi-row cluster with indexing fault tolerance, to a single<br />

indexer row configuration without fault tolerance.<br />

Before you begin, stop feeding content to the system and wait for the indexing of any recently fed content to<br />

complete.Then stop all the indexers in the system. Refer to Stopping Indexers in a Fault Tolerant Configuration<br />

for more details.<br />

Important: Delete $<strong>FAST</strong>SEARCH/data/ftStorage and $<strong>FAST</strong>SEARCH/data/data_index/indexValid.*<br />

on every backup indexer node that is being removed.<br />

Note: The procedure described below reutilizes the backup indexer nodes as search nodes.<br />

1. Reconfigure the Config server on the administration node.<br />

a) Run nctrl stop configserver to stop the Config Server.<br />

b) Edit $<strong>FAST</strong>SEARCH/etc/CSConfig.xml .<br />

Towards the bottom of this file you will find the element that contains a list of<br />

search clusters. Each cluster contains a element for each of its columns. For each column<br />

there will be a column host and one or more backup hosts. Remove or comment out every backup<br />

host entry, and disable fault tolerance by setting the column host’s ft_mode attribute to 0 .<br />

<br />

<br />

<br />

<br />

<br />

c) Run nctrl start configserver to restart the Config Server.<br />

Note: Use the Admin GUI to review the <strong>ESP</strong> logs for any Config Server errors or warnings that<br />

may have occurred when the Config Server was restarted.<br />

2. Re-configure the node controllers on every node where the indexer is being removed, to ensure that the<br />

system no longer will try to start the indexers, and reload the configuration file.


a) Edit the $<strong>FAST</strong>SEARCH/etc/NodeConf.xml configuration file by locating and removing (or comment<br />

out) the element.<br />

b) Run nctrl reloadcfg to reload the configuration file.<br />

3. Re-configure the new search-only nodes to make them copy the index from their column indexer rather<br />

than using the index created by a local indexer.<br />

a) Edit the $<strong>FAST</strong>SEARCH/etc/searchrc-1.xml file on each node.<br />

Set the copyindex and socketcopyindex parameters to true . For example:<br />

<br />

<br />

<br />

b) Run nctrl restart search-1 to restart the search service.<br />

Note: Verify that no errors or warnings related to search were reported during the restart.<br />

4. Disable indexing fault tolerance by editing the<br />

$<strong>FAST</strong>SEARCH/etc/config_data/RTSearch//rtsearchrc.xml file on the administration<br />

node.<br />

a) Locate the element and set the value of its indexCopier parameter to socket .<br />

For example:<br />

<br />

qualifiedHostName=""<br />

useStrictBind="false"<br />

nameserviceHost="example.com"<br />

nameservicePort="16099"<br />

basePort="15000"<br />

webServerBaseDir="$RTROOT/www/rtsearch"<br />

multicastIP="239.255.column.1"<br />

multicastSpeed="15M"<br />

multicastDataPort="560"<br />

indexCopier="socket"<br />

b) Locate the element further down in the file, and disable fault tolerance by setting the value of the<br />

enabled parameter to false<br />

For example:<br />

<br />

enabled="false"<br />

storagePath="$RTROOT/data/ftStorage"<br />

idleHeartbeatTime="120"<br />

maxStorageSizeMB="1000"<br />

Working with an Indexing Fault Tolerant Configuration<br />

Note: If the element contains an attribute called passiveMode , remove the attribute.<br />

71


<strong>FAST</strong> Enterprise Search Platform<br />

72<br />

5. Start each column’s indexer by running nctrl start indexer on the hosting nodes.<br />

6. Start the search processes on the search rows by running nctrl start search-1 on the hosting nodes.<br />

Important: Verify that each column’s search controllers are all registered with the column’s indexer:<br />

Access the indexer control page at http://:/control.html) and ensure<br />

that all search controllers (in the column) are registered with the given indexer.<br />

Synchronizing Indexer Rows<br />

Use the following procedure to recover from discrepancies between indexer rows.<br />

Symptoms of fault-tolerant indexers being out of sync include:<br />

• The number of documents differ between indexers in the same column.<br />

• The document counts in the index are out of sync with the numbers reported by the indexer.<br />

• The indexer log errors indicating that it is unable to automatically recover row synchronization.<br />

The total number of documents for each indexer in a given column should always be the same.These numbers<br />

can be determined either from looking at the matching engine status page for each indexer, or using <strong>ESP</strong>’s<br />

indexerinfo command line utility.<br />

Note: During content feeding, the document count on the backup indexers may lag slightly; this is normal.<br />

When feeding stops, the numbers should stabilize. If an indexer is doing recovery of operations, this will<br />

be shown in bold on the matching engine page. Allow this to complete before comparing the document<br />

counts.<br />

1. Stop feeding content to the system and wait for any recently fed content to be indexed.<br />

Note: It is possible to perform this procedure while feeding, but <strong>FAST</strong> does not recommend this<br />

approach unless there is no way you can stop feeding.<br />

2. For each column that contains an out-of-sync indexer: Stop a synchronized indexer as well as the indexer<br />

that must be re-synchronized.<br />

Note: Always remember to stop backup indexers before stopping the master indexer.<br />

3. Copy the state of the synchronized indexer to the out-of-sync indexer.<br />

a) Copy $<strong>FAST</strong>SEARCH/data/ftStorage/processed_checkpoint.txt from the synchronized indexer<br />

to the out-of-sync indexer.<br />

b) Copy the contents of the data_fixml folder from the synchronized indexer to the out-of-sync indexer.<br />

Tip: The Unix rsync utility provides an efficient way to do this: Run rsync -a --delete<br />

/export2/fast/data/data_fixml :/export2/fast/data<br />

on the the synchronized indexer host.<br />

4. Restart all the indexers that were stopped.<br />

Note: Remember to start the master indexer(s) first, to avoid a backup indexer taking over and<br />

rebuilding the index.<br />

After completing this procedure, all the indexers start with the same fixml and the same indexer fault tolerance<br />

checkpoints.


Upgrading Indexer Binaries in a Fault Tolerant Configuration<br />

Follow this procedure to upgrade indexers on an indexing fault tolerant <strong>ESP</strong> cluster with a new set of binaries.<br />

1. Suspend content feeding and wait until all recently fed content has been indexed.<br />

2. Make sure all indexer rows are in sync.<br />

Refer to Synchronizing Indexer Rows for a description of asynchronous indexer symptoms.<br />

3. Stop all indexers.<br />

Refer to Stopping Indexers in a Fault Tolerant Configuration for more details.<br />

4. Delete the data/ftStorage folder on each indexer node on all indexer rows.<br />

5. Upgrade the indexer binaries by copying the new binaries into the $<strong>FAST</strong>SEARCH/bin folder.<br />

6. Start the indexer rows.<br />

Refer to Starting Indexers in a Fault Tolerant Configuration for more details.<br />

Backing up Indexing in a Fault Tolerant Configuration<br />

Follow this procedure to back up indexing and the fault tolerance checkpoints file.<br />

The procedure for backing up an <strong>ESP</strong> cluster with fault-tolerant indexers is the same as for a single (indexer)<br />

row cluster, with one exception: In addition to backing up (and restoring) the data_fixml , and possibly the<br />

data_index folders, you must also back up the processed checkpoints file.<br />

If there are multiple indexers, it is not strictly necessary to stop feeding while doing the backup. It is possible<br />

to stop/suspend only one indexer, and continue feeding to the other indexers while doing the backup. Provided<br />

that the backup procedure is fast enough, the suspended indexer will then automatically re-synchronize once<br />

it is resumed after backup.<br />

Note: This procedure will temporarily reduce the fault-tolerance level of the installation, since there is<br />

one less row active as long as the backup is being done. For example, if your installation consists of a<br />

master indexer and a single backup indexer (per row), you will effectively have no indexing fault tolerance<br />

while the backup indexer is suspended.<br />

1. Prevent cleanup of the ftstorage folder by running indexeradmin -a suspendheartbeat .<br />

The ftStorage folder is cleaned up every 2 hours, or as set by the storageCleanupInterval parameter.<br />

This means that as long the backup procedure completes in less than 2 hours, there will be no risk of any<br />

operations having been cleaned out from the fault tolerance storage.<br />

2. Identify which indexer row you want to backup<br />

3. Stop the backup indexers by running nctrl stop indexer on each of the nodes in the given row.<br />

4. Backup the data_fixml folder and (optionally) the data_index folder.<br />

5. Backup the $<strong>FAST</strong>SEARCH/data/ftStorage/processed_checkpoint.txt file.<br />

Working with an Indexing Fault Tolerant Configuration<br />

By including the processed checkpoint file in the backup and restore, you ensure that the restored indexer<br />

does not start recovery of all operations in the column.<br />

6. Restart the indexers on the given row by running nctrl start indexer on each of the row’s nodes.<br />

73


<strong>FAST</strong> Enterprise Search Platform<br />

74<br />

Indexing Fault Tolerance Configuration Parameters<br />

Use the following configuration parameters to define the behavior and characteristics of the indexing service<br />

when failures occur.<br />

Parameter<br />

maxNumFailures<br />

maxStorageSizeMB<br />

idleHeartbeatTime<br />

Description<br />

The maxNumFailures configuration parameter determines how the indexing service within a<br />

column acts when failures occur.<br />

Set this parameter's value to 1 to make both feeding and indexing proceed when one of the<br />

indexer nodes in the column either fails or is not synchronized with the other indexer nodes in<br />

the column. If the parameter is set to 0 , any failure will block feeding and indexing until the<br />

failure has been corrected.<br />

Note: Setting the parameter value to 1 does not prevent the node from re-synchronizing,<br />

nor does it allow inconsistent search results, but it does mean that all indexing rows may<br />

not be synchronized at all times.<br />

Default value: 1<br />

The maxStorageSizeMB parameter determines the amount of fault-tolerance storage and thus<br />

the downtime an indexer node can sustain while still being able to automatically re-synchronize<br />

with the other indexer nodes in the column.<br />

For example, if the parameter is set to 1024 (i.e 1GB), and the rate of content fed to the column<br />

is 100MB per hour, there is a window of approximately 10 hours of downtime before a restarted<br />

indexer node will be unable to synchronize due to the fact that the oldest operations still being<br />

required have been deleted. If this happens, the indexer node must be synchronized by doing<br />

a full copy of the data_fixml folder from one of the other indexer nodes.<br />

Note: If the feed rate varies, the size of the window in terms of time will also vary.<br />

The idleHeartbeatTime parameter determines how fast feeding and indexing will resume<br />

after a failure, and is one of the factors deciding how fast a backup indexer node will take over<br />

if the master indexer node in a column fails.<br />

There are other parameters influencing the fail-over time, the most important being the CORBA<br />

timeout setting, clientCallTimeOutPeriod , specified by the<br />

$<strong>FAST</strong>SEARCH/etc/omniorb.cfg file.<br />

Note: When tuning these parameters, keep in mind that shorter timeouts and more frequent<br />

pings of the other parts of the system imply increased overall load and network traffic.There<br />

is also a larger chance of small network interruptions causing a re-shuffling of the roles in<br />

the system which is time consuming. This is the case if a backup indexer takes over as the<br />

master indexer and performs a 'reset index' operation on a large quantity of data. <strong>FAST</strong><br />

does not normally recommend changing the default values for these settings, but special<br />

circumstances may warrant it.<br />

Tip: For more information on the indexing configuration parameters related to fault tolerance, refer the<br />

rtsearchrc.xml configuration file documentation.


Chapter<br />

6<br />

Changing the host name of a <strong>FAST</strong> <strong>ESP</strong> node<br />

Topics:<br />

• Changing the host name in a<br />

UNIX system<br />

• Changing the host name in a<br />

Windows system<br />

This section describes how to change the host name of a <strong>FAST</strong> <strong>ESP</strong> node. This<br />

may be necessary due to changing network setup, or if the installation is moved<br />

between physical machines.


<strong>FAST</strong> Enterprise Search Platform<br />

76<br />

Changing the host name in a UNIX system<br />

To change the host name used in <strong>FAST</strong> <strong>ESP</strong> on a UNIX system, complete the following procedure:<br />

It is recommended that you make a backup copy of all files before changing them.<br />

All procedures are based on the assumption that both the old and the new host names are fully qualified host<br />

names.<br />

It is not recommended to change the host name of a running installation unless absolutely necessary.<br />

1. Stop <strong>FAST</strong> <strong>ESP</strong> using a sequential shutdown. Refer to Stopping <strong>FAST</strong> <strong>ESP</strong> via sequential shutdown.<br />

2. To get a list of all configuration files that contain the old host name, use the following command:<br />

grep -s -l -r $<strong>FAST</strong>SEARCH/etc/* $<strong>FAST</strong>SEARCH/<br />

adminserver/* $<strong>FAST</strong>SEARCH/esp4j/* $<strong>FAST</strong>SEARCH/components/*<br />

where is the old host name.<br />

3. Replace the old host name with the new one in each of the files.<br />

The following command can be used to automatically replace the host name in all configuration files:<br />

for f in `grep -s -l -r $<strong>FAST</strong>SEARCH/etc/<br />

* $<strong>FAST</strong>SEARCH/adminserver/* $<strong>FAST</strong>SEARCH/esp4j/* $<strong>FAST</strong>SEARCH/components/<br />

*`; do sed -i.bak -e 's///g' $f; done<br />

Note that this command will create a backup, with the suffix .bak, of all modified files.<br />

4. Delete the contents of the following directories:<br />

$<strong>FAST</strong>SEARCH/var/etc<br />

$<strong>FAST</strong>SEARCH/var/log/omniorb<br />

5. Repeat steps 2 through 4 on all other nodes in your system.<br />

6. Start <strong>FAST</strong> <strong>ESP</strong>.<br />

On all nodes run:<br />

nctrl start<br />

7. On the administration node, stop the admin server and enter the PostgreSQL database:<br />

nctrl stop adminserver<br />

cd $<strong>FAST</strong>SEARCH/rdbms/bin<br />

./psql --username fast –p 16070 vespa<br />

Execute the following SQL command:<br />

update SearchDispatcher set host="" where host="";<br />

update Link set url="http://"":16000/admin/" where url=<br />

"http://"":16000/admin/";<br />

update Link set url="http://"":16000/clarity/" where url=<br />

"http://"":16000/clarity/";<br />

exit;<br />

Note that the contents of the Link table may be different. Inspect the contents of this table to ensure that<br />

no URLs are using the old host name.<br />

8. Restart the admin server:<br />

nctrl start adminserver<br />

9. Redeploy all views:<br />

view-admin -m deploy -a


Changing the host name in a Windows system<br />

To change the host name used in <strong>FAST</strong> <strong>ESP</strong> on a Windows system, complete the following procedure:<br />

It is recommended that you make a backup copy of all files before changing them.<br />

All procedures are based on the assumption that both the old and the new host names are fully qualified host<br />

names.<br />

It is not recommended to change the host name of a running installation unless absolutely necessary.<br />

1. Stop <strong>FAST</strong> <strong>ESP</strong> using a sequential shutdown. Refer to Stopping <strong>FAST</strong> <strong>ESP</strong> via sequential shutdown.<br />

2. Perform a search in all <strong>FAST</strong> <strong>ESP</strong> directories for files that contain the old host name. Do not use the<br />

Windows file explorer search feature as it may not find all files (for example .cfg files). From a command<br />

prompt, do the following:<br />

cd %<strong>FAST</strong>SEARCH%<br />

findstr /S /I /M /C:"" /D:%<strong>FAST</strong>SEARCH%\etc;%<strong>FAST</strong>SEARCH%\adminserver;<br />

%<strong>FAST</strong>SEARCH%\esp4j;%<strong>FAST</strong>SEARCH%\components *.*<br />

where is the old host name.<br />

3. Replace the old host name with the new one in each of the files, except for any .log files.<br />

4. Delete the contents of the following directories:<br />

%<strong>FAST</strong>SEARCH%\var\etc<br />

%<strong>FAST</strong>SEARCH%\var\log\omniorb<br />

5. Repeat steps 2 through 4 on all other nodes in your system.<br />

6. Start <strong>FAST</strong> <strong>ESP</strong>.<br />

On all nodes run:<br />

nctrl start<br />

7. On the administration node, stop the admin server and enter the PostgreSQL database:<br />

nctrl stop adminserver<br />

cd %<strong>FAST</strong>SEARCH%\rdbms\bin<br />

psql --username fast --host= --port=16070 vespa<br />

Execute the following SQL command:<br />

update SearchDispatcher set host="" where host="";<br />

update Link set url="http://"":16000/admin/" where url=<br />

"http://"":16000/admin/";<br />

update Link set url="http://"":16000/clarity/" where url=<br />

"http://"":16000/clarity/";<br />

exit;<br />

Note that the contents of the Link table may be different. Inspect the contents of this table to ensure that<br />

no URLs are using the old host name.<br />

8. Restart the admin server<br />

nctrl start adminserver<br />

9. Redeploy all views<br />

view-admin -m deploy -a<br />

Changing the host name of a <strong>FAST</strong> <strong>ESP</strong> node<br />

77


Chapter<br />

7<br />

Changing the admin user password<br />

Topics:<br />

• Changing the admin user<br />

password<br />

This section describes how to change the administrator password of the admin<br />

server, used by the <strong>FAST</strong> Home, SBC and Admin GUI web applications.


<strong>FAST</strong> Enterprise Search Platform<br />

80<br />

Changing the admin user password<br />

This section describes how to change the administrator password of the admin server, used by the <strong>FAST</strong><br />

Home, SBC and Admin GUI web applications.<br />

1. Change the password on the server side through a browser in the User Administration page of the Fast<br />

Home web application.<br />

2. Change the password on the client side so that the client applications are still able to function.<br />

There are a number of internal modules that are using the services in the admin server. For these modules<br />

to be able to access the services after changing the password, you need to update the password in a<br />

common properties file for these modules:<br />

a) Update the $<strong>FAST</strong>SEARCH/etc/esp4j.properties file. Change the line:<br />

esp.adminserver.password=<br />

to<br />

esp.adminserver.password=<br />

where is the new password.<br />

b) Restart the logtransformer process for the change to take effect.<br />

nctrl restart logtransformer<br />

As a security measure, it is a good idea to remove read and write access to the file<br />

$<strong>FAST</strong>SEARCH/etc/esp4j.properties for everyone except the user running <strong>FAST</strong> <strong>ESP</strong>.


Chapter<br />

8<br />

Granting system access to non-privileged users<br />

Topics:<br />

• Granting system access to<br />

non-privileged users<br />

This section describes how to allow a user to run <strong>FAST</strong> <strong>ESP</strong> without administrative<br />

privileges, on Windows XP/ 2000/ 2003.


<strong>FAST</strong> Enterprise Search Platform<br />

82<br />

Granting system access to non-privileged users<br />

This section describes how to allow a user to run <strong>FAST</strong> <strong>ESP</strong> without administrative privileges, on Windows<br />

XP/ 2000/ 2003.<br />

Before you can grant access to your system, the installation process must have completed successfully.<br />

1. Assign Log on as a service privileges to the user by selecting Start > Control Panel > Administrative<br />

Tools > Local Security Policy > Local Policies > User Rights Assignment > Log on as a Service ><br />

Add User or Group and adding the user.<br />

2. Configure the <strong>FAST</strong> <strong>ESP</strong> and the <strong>FAST</strong> <strong>ESP</strong> Web Server services to run as this user:<br />

a) Select Control Panel > Administrative Tools > Services<br />

b) Right-click the service in question, and select the Properties menu entry.<br />

c) Open the Log On tab and select This Account .<br />

d) Provide the username and password for the user in question.<br />

3. Grant the user the right to administer these services. Follow the instructions relevant to your environment<br />

in the following knowledge base article: http://support.microsoft.com/kb/288129/en-us/<br />

4. Assign Full Control permissions to the user for the registry keys listed as follows. Open the registry editor<br />

by selecting Start > Run and type regedit.<br />

a) Click the key to which you want to assign permissions.<br />

b) Select Permissions from the Edit menu.<br />

c) Select the Allow checkbox for the Full Control entry.<br />

These are the keys the user must have full control over:<br />

• HKEY_LOCAL_MACHINE\SOFTWARE\<strong>FAST</strong> Search & Transfer<br />

• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog<br />

• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<strong>FAST</strong><strong>ESP</strong>Service<br />

• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ <strong>FAST</strong><strong>ESP</strong>WebServer<br />

Important: Do not edit your registry unless it is absolutely necessary. If there is an error in your<br />

registry, your computer may not function properly.<br />

5. Assign Full Control permissions for the installation directory to the user:<br />

a) Right-click your installation directory.<br />

b) Select the Properties menu entry and open the Security tab.<br />

c) Select the Allow checkbox for the Full Control entry.


Chapter<br />

9<br />

Uploading a new index profile from command-line<br />

Topics:<br />

• Uploading a new index profile<br />

using bliss<br />

• Cold update of index profile using<br />

dedicated search row<br />

This section describes how to upload a new index profile from command-line.<br />

Content feeding must be suspended while an index profile update is in progress.<br />

Stop crawler, file traverser and any other connectors.


<strong>FAST</strong> Enterprise Search Platform<br />

84<br />

Uploading a new index profile using bliss<br />

The $<strong>FAST</strong>SEARCH/bin/bliss program is used to update the index profile from the command line.<br />

To complete this procedure, all <strong>ESP</strong> components must be running, including admin server and QRServer(s).<br />

If one or more of multiple QRServers are down, this can be handled by telling the admin server that the<br />

specific QRServer should not be touched during the index profile update. This can be done by issuing the<br />

command qrserver-admin -m down -n fds/searchservice/node1_15100. To push the changed<br />

configuration files to this QRServer after the changes have been made, issue the command qrserver-admin<br />

-m up -n fds/searchservice/node1_15100 to notify the admin server that this QRServer is back up. This<br />

will deploy all views to that QRServer. Refer to qrserver-admin tool for more information.<br />

Perform this procedure on the administration node:<br />

1. Copy the custom index-profile file into the $<strong>FAST</strong>SEARCH/index-profile folder.<br />

2. Open a command prompt and make sure the environment variables are set correctly. On Windows, the<br />

environment variables have already been set.<br />

On UNIX:<br />

cd $<strong>FAST</strong>SEARCH/bin<br />

. setupenv.sh<br />

3. Stop feed.<br />

Stop any crawlers or scheduled jobs which will feed content.<br />

4. To validate the new index profile, go to the folder $<strong>FAST</strong>SEARCH/index-profiles and run the following<br />

bliss command:<br />

$<strong>FAST</strong>SEARCH/bin/bliss -V /<br />

If errors are reported, correct them and re-run the validation.<br />

5. To import the new index profile, run the following bliss command:<br />

$<strong>FAST</strong>SEARCH/bin/bliss -k <br />

-C /<br />

If the update requires a cold update (because the new index profile was not compatible with the existing<br />

one), you need to use the-i option. Before running bliss again with the -i option, you must delete all the<br />

data in the cluster you are updating. Refer to indexeradmin tool for usage information.<br />

IMPORTANT: Using this procedure (purging data plus bliss with the -i option) will cause all your indexed<br />

data to be lost.<br />

6. Restart feed.<br />

Cold update of index profile using dedicated search row<br />

This procedure describes how to perform a cold update of an index profile without search down time.<br />

The procedure requires a deployment with one indexer row and one dedicated search row. Search is set in<br />

standalone mode while the index profile update is taking place. To prepare for standalone mode, some<br />

configuration changes must be done. See the prerequisites of Switching search to standalone mode.<br />

A cold update of the index profile clears the existing indexes, and it is necessary to refeed all data from the<br />

original content sources.<br />

1. Switch search to standalone mode.<br />

See Switching search to standalone mode.


2. Back up the views.<br />

On the admin node, run:<br />

view-admin -m export<br />

which will create one XML file per view defined in your current system.<br />

3. Stop feed.<br />

Stop any crawlers or scheduled jobs which will feed content.<br />

4. Backup FiXML.<br />

On all the nodes in the indexer row:<br />

• Stop the indexers; nctrl stop indexer<br />

• Move away old data; mv $<strong>FAST</strong>SEARCH/data/data_fixml $<strong>FAST</strong>SEARCH/data/data_fixml_backup<br />

• start indexers; nctrl start indexer<br />

Alternatively, if you don't need the backup, purge the indexers' data:<br />

indexeradmin -a purgedata<br />

5. Run bliss.<br />

Run bliss from the admin-node:<br />

bliss -i -C new_index_profile.xml<br />

Bliss needs the index profile DTD index-profile-5.0.1.dtd in the current directory. It is recommended<br />

to run bliss with $<strong>FAST</strong>SEARCH/index-profiles as the current directory.<br />

6. Suspend indexing.<br />

indexeradmin -a suspendindexing<br />

7. Refeed all data using the original data source.<br />

8. When all data have been fed, run a reset index:<br />

indexeradmin -a resetindex<br />

9. Put system back in normal operations.<br />

Use the procedure in Restoring normal operations from standalone search.<br />

Uploading a new index profile from command-line<br />

85


Chapter<br />

10<br />

SNMP Agent<br />

Topics:<br />

• About the SNMP Agent<br />

• Starting the SNMP Agent<br />

• SNMP MIB<br />

• SNMP MIB variables<br />

This section discusses the SNMP Agent (Simple Network Management Protocol)<br />

that monitors <strong>FAST</strong> <strong>ESP</strong> components and service status.


<strong>FAST</strong> Enterprise Search Platform<br />

88<br />

About the SNMP Agent<br />

<strong>FAST</strong> <strong>ESP</strong> includes an SNMP Agent (Simple Network Management Protocol) that monitors <strong>FAST</strong> <strong>ESP</strong><br />

components and service status. This tool enables <strong>FAST</strong> <strong>ESP</strong> to be monitored from management consoles<br />

such as IBM Tivoli and HP OpenView , and supports <strong>FAST</strong> <strong>ESP</strong> status read including component status,<br />

indexing status, document processing status and query status.<br />

The SNMP Agent supports SNMPv1 and SNMPv2c. SNMPv3 is currently not supported. The SNMP MIB<br />

(Management Information Base) is compliant with SMIv2 (Storage Management Initiative).The <strong>FAST</strong> Enterprise<br />

OID is 4200.<br />

The SNMP Agent uses UDP (User Datagram Protocol) port baseport + 3001 (port 16001 in a default<br />

installation).<br />

Starting the SNMP Agent<br />

The SNMP Agent is distributed as a part of <strong>FAST</strong> <strong>ESP</strong> but is not activated. Complete the following to activate<br />

SNMP on all nodes that will run the SNMP Agent.<br />

1. Go to <strong>FAST</strong> <strong>ESP</strong> configuration directory:<br />

% cd $<strong>FAST</strong>SEARCH/etc<br />

2. Edit the NodeConf.xml file:<br />

Add the snmpd proc line in the startorder:<br />

<br />

.<br />

.<br />

.<br />

nctrl<br />

clarity_webcluster<br />

snmpd<br />

<br />

3. Reload the node controller:<br />

% $<strong>FAST</strong>SEARCH/bin/nctrl reloadcfg<br />

4. Start the SNMP Agent:<br />

% nctrl start snmpd<br />

5. Verify that the SNMP Agent is running:<br />

SNMP MIB<br />

% nctrl sysstatus<br />

The following is a hierarchical tree of the supported Management Information Base (MIB) for the SNMP Agent.<br />

Mib files are located at $<strong>FAST</strong>SEARCH/etc/mibs.<br />

+-fastRoot(4200)<br />

+--fastReg(1)<br />

| +--fastModules(1)<br />

| +--fastGlobalReqModule(1)<br />

| +--fast<strong>ESP</strong>CapModule(4)<br />

| +--fast<strong>ESP</strong>MibModule(7)


SNMP Agent<br />

|<br />

+--fastGeneric(2)<br />

+--fastProducts(3)<br />

| |<br />

| +--fast<strong>ESP</strong>(3)<br />

| | |<br />

| | +--fast<strong>ESP</strong>Application(1)<br />

| | | |<br />

| | | +-- -R-- Counter fast<strong>ESP</strong>ApplicationNumQueries(1)<br />

| | | +-- -R-- Counter fast<strong>ESP</strong>ApplicationNumDocuments(2)<br />

| | | +-- -R-- Counter fast<strong>ESP</strong>ApplicationNumUpdates(3)<br />

| | | +-- -R-- Counter fast<strong>ESP</strong>ApplicationNumComponents(4)<br />

| | |<br />

| | +--fast<strong>ESP</strong>Node(2)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>nctrl(1)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>ComponentTable(1)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>ComponentEntry(1)<br />

| | | | | Index: fast<strong>ESP</strong>ComponentEntryIndex<br />

| | | | |<br />

| | | | +-- ---- Unsigned fast<strong>ESP</strong>ComponentEntryIndex(1)<br />

| | | | +-- -R-- String fast<strong>ESP</strong>ComponentEntryName(2)<br />

| | | | +-- -R-- String fast<strong>ESP</strong>ComponentEntryDescription(3)<br />

| | | | +-- -R-- EnumVal fast<strong>ESP</strong>ComponentEntryOperationalState(4)<br />

| | | | | Textual Convention: Fast<strong>ESP</strong>ComponentState<br />

| | | | | Values: dead(1), autosuspend(2), usersuspend(3),<br />

| | | | | running(4), stopping(5), restarting(6)<br />

| | | | +-- -RW- EnumVal fast<strong>ESP</strong>ComponentEntryAdministrativeState(5)<br />

| | | | | Textual Convention: Fast<strong>ESP</strong>ComponentState<br />

| | | | | Values: dead(1), autosuspend(2), usersuspend(3),<br />

| | | | | running(4), stopping(5), restarting(6)<br />

| | | | +-- ---- Unsigned fast<strong>ESP</strong>ComponentEntryPID(6)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>indexer(2)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>IndexerTable(1)<br />

| | | | | |<br />

| | | | | +--fast<strong>ESP</strong>IndexerEntry(1)<br />

| | | | | | Index: fast<strong>ESP</strong>IndexerEntryIndex<br />

| | | | | |<br />

| | | | | +-- ---- Unsigned fast<strong>ESP</strong>IndexerEntryIndex(1)<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>IndexerEntryAPIQueueSize(2)<br />

| | | | | +-- -R-- Unsigned fast<strong>ESP</strong>IndexerEntryLastIndexSwitch(3)<br />

| | | | | +-- -R-- Counter fast<strong>ESP</strong>IndexerEntryAPI<strong>Operations</strong>(4)<br />

| | | | | +-- -R-- Counter fast<strong>ESP</strong>IndexerEntryFailed<strong>Operations</strong>(5)<br />

| | | | | +-- -R-- Counter fast<strong>ESP</strong>IndexerEntryPartialUpdate(6)<br />

| | | | | +-- -R-- Counter fast<strong>ESP</strong>IndexerEntryRemove<strong>Operations</strong>(7)<br />

| | | | | +-- -R-- Counter fast<strong>ESP</strong>IndexerEntryStatusUpdates(8)<br />

| | | | | +-- -R-- Counter fast<strong>ESP</strong>IndexerEntryRemoveCollection<strong>Operations</strong>(9)<br />

| | | | | +-- -R-- Counter fast<strong>ESP</strong>IndexerEntryUpdate<strong>Operations</strong>(10)<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>IndexerEntryTotalNumDocuments(11)<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>IndexerEntryTotalSize(12)<br />

| | | | | +-- -R-- EnumVal fast<strong>ESP</strong>IndexerEntryOperationalResetIndex(13)<br />

| | | | | | Textual Convention: BooleanValue<br />

| | | | | | Values: false(0), true(1)<br />

| | | | | +-- -R-- EnumVal fast<strong>ESP</strong>IndexerEntryOperationalIndexingSuspended(14)<br />

| | | | | | Textual Convention: BooleanValue<br />

| | | | | | Values: false(0), true(1)<br />

| | | | | +-- -R-- EnumVal fast<strong>ESP</strong>IndexerEntryDiskLow(15)<br />

| | | | | | Textual Convention: BooleanValue<br />

| | | | | | Values: false(0), true(1)<br />

| | | | | +-- -RW- EnumVal fast<strong>ESP</strong>IndexerEntryAdministrativeResetIndex(16)<br />

| | | | | | Textual Convention: BooleanValue<br />

| | | | | | Values: false(0), true(1)<br />

| | | | | +-- -RW- EnumVal<br />

fast<strong>ESP</strong>IndexerEntryAdministrativeIndexingSuspended(17)<br />

89


<strong>FAST</strong> Enterprise Search Platform<br />

90<br />

| | | | | Textual Convention: BooleanValue<br />

| | | | | Values: false(0), true(1)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>PartitionTable(2)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>PartitionEntry(1)<br />

| | | | | Index: fast<strong>ESP</strong>PartitionEntryIndexerIndex, fast<strong>ESP</strong>PartitionEntryIndex<br />

| | | | |<br />

| | | | +-- ---- Unsigned fast<strong>ESP</strong>PartitionEntryIndexerIndex(1)<br />

| | | | +-- ---- Unsigned fast<strong>ESP</strong>PartitionEntryIndex(2)<br />

| | | | +-- -R-- Gauge fast<strong>ESP</strong>PartitionEntryNumDocuments(3)<br />

| | | | +-- -R-- Counter fast<strong>ESP</strong>PartitionEntryTotalIndexingRuns(4)<br />

| | | | +-- -R-- Gauge fast<strong>ESP</strong>PartitionEntryVectorMemoryIndexing(5)<br />

| | | | +-- -R-- Gauge fast<strong>ESP</strong>PartitionEntryVectorMemory(6)<br />

| | | | +-- -R-- String fast<strong>ESP</strong>PartitionEntryIndexedPerSecond(7)<br />

| | | | Textual Convention: FloatValue<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>procserver(3)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>StagesTable(1)<br />

| | | | | |<br />

| | | | | +--fast<strong>ESP</strong>StagesEntry(1)<br />

| | | | | | Index: fast<strong>ESP</strong>StagesEntryIndex<br />

| | | | | |<br />

| | | | | +-- ---- Unsigned fast<strong>ESP</strong>StagesEntryIndex(1)<br />

| | | | | +-- -R-- String fast<strong>ESP</strong>StagesEntryName(2)<br />

| | | | | +-- -R-- String fast<strong>ESP</strong>StagesEntrySystemTime(3)<br />

| | | | | | Textual Convention: FloatValue<br />

| | | | | +-- -R-- String fast<strong>ESP</strong>StagesEntryUserTime(4)<br />

| | | | | | Textual Convention: FloatValue<br />

| | | | | +-- -R-- String fast<strong>ESP</strong>StagesEntryRealTime(5)<br />

| | | | | | Textual Convention: FloatValue<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>StagesEntryPageSwaps(6)<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>StagesEntryMemUsage(7)<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>StagesEntryResidentMem(8)<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>StagesEntryVirtualMem(9)<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>StagesEntryNumOK(10)<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>StagesEntryNumError(11)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>PipelinesTable(2)<br />

| | | | | |<br />

| | | | | +--fast<strong>ESP</strong>PipelinesEntry(1)<br />

| | | | | | Index: fast<strong>ESP</strong>PipelinesEntryIndex<br />

| | | | | |<br />

| | | | | +-- ---- Unsigned fast<strong>ESP</strong>PipelinesEntryIndex(1)<br />

| | | | | +-- -R-- String fast<strong>ESP</strong>PipelinesEntryName(2)<br />

| | | | | +-- -R-- String fast<strong>ESP</strong>PipelinesEntrySystemTime(3)<br />

| | | | | | Textual Convention: FloatValue<br />

| | | | | +-- -R-- String fast<strong>ESP</strong>PipelinesEntryUserTime(4)<br />

| | | | | | Textual Convention: FloatValue<br />

| | | | | +-- -R-- String fast<strong>ESP</strong>PipelinesEntryRealTime(5)<br />

| | | | | | Textual Convention: FloatValue<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>PipelinesEntryPageSwaps(6)<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>PipelinesEntryMemUsage(7)<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>PipelinesEntryResidentMem(8)<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>PipelinesEntryVirtualMem(9)<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>PipelinesEntryNumOK(10)<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>PipelinesEntryNumError(11)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>DocumentProcessorTable(3)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>DocumentProcessorEntry(1)<br />

| | | | | Index: fast<strong>ESP</strong>DocumentProcessorEntryIndex<br />

| | | | |<br />

| | | | +-- ---- Unsigned fast<strong>ESP</strong>DocumentProcessorEntryIndex(1)<br />

| | | | +-- -R-- EnumVal fast<strong>ESP</strong>DocumentProcessorEntryQueueFull(2)<br />

| | | | Textual Convention: BooleanValue<br />

| | | | Values: false(0), true(1)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>indexingdispatcher(4)


| | | | |<br />

| | | | +--fast<strong>ESP</strong>ClusterTable(1)<br />

| | | | | |<br />

| | | | | +--fast<strong>ESP</strong>ClusterEntry(1)<br />

| | | | | | Index: fast<strong>ESP</strong>ClusterEntryIndex<br />

| | | | | |<br />

| | | | | +-- ---- Unsigned fast<strong>ESP</strong>ClusterEntryIndex(1)<br />

| | | | | +-- -R-- String fast<strong>ESP</strong>ClusterEntryName(2)<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>ClusterEntryNumIndexingDispatchers(3)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>CollectionTable(2)<br />

| | | | | |<br />

| | | | | +--fast<strong>ESP</strong>CollectionEntry(1)<br />

| | | | | | Index: fast<strong>ESP</strong>CollectionEntryIndex<br />

| | | | | |<br />

| | | | | +-- ---- Unsigned fast<strong>ESP</strong>CollectionEntryIndex(1)<br />

| | | | | +-- -R-- Unsigned fast<strong>ESP</strong>CollectionEntryClusterIndex(2)<br />

| | | | | +-- -R-- Gauge fast<strong>ESP</strong>CollectionEntryNumDocuments(3)<br />

| | | | | +-- -R-- String fast<strong>ESP</strong>CollectionEntryName(4)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>ColumnTable(3)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>ColumnEntry(1)<br />

| | | | | Index: fast<strong>ESP</strong>ColumnEntryIndex<br />

| | | | |<br />

| | | | +-- ---- Unsigned fast<strong>ESP</strong>ColumnEntryIndex(1)<br />

| | | | +-- -R-- Unsigned fast<strong>ESP</strong>ColumnEntryClusterIndex(2)<br />

| | | | +-- -R-- Gauge fast<strong>ESP</strong>ColumnEntryColumnNumber(3)<br />

| | | | +-- -R-- Gauge fast<strong>ESP</strong>ColumnEntryAPIQueueSize(4)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>resourceservice(5)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>relbench(6)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>anchorserver(7)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>contentdistributor(8)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>CDTable(1)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>CDEntry(1)<br />

| | | | | Index: fast<strong>ESP</strong>CDEntryIndex<br />

| | | | |<br />

| | | | +-- ---- Unsigned fast<strong>ESP</strong>CDEntryIndex(1)<br />

| | | | +-- -R-- Gauge fast<strong>ESP</strong>CDEntryNumDocprocs(2)<br />

| | | | +-- -R-- Gauge fast<strong>ESP</strong>CDEntryDocprocsBusy(3)<br />

| | | | +-- -R-- Gauge fast<strong>ESP</strong>CDEntryDocprocsInvalid(4)<br />

| | | | +-- -R-- Gauge fast<strong>ESP</strong>CDEntryDocprocsUnused(5)<br />

| | | | +-- -R-- Gauge fast<strong>ESP</strong>CDEntry<strong>Operations</strong>(6)<br />

| | | | +-- -R-- String fast<strong>ESP</strong>CDEntryMode(7)<br />

| | | | +-- -R-- Gauge fast<strong>ESP</strong>CDEntryCallbacks(8)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>logtransformer(9)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>completionserver(10)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>qrserver(11)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>QRServerTable(1)<br />

| | | | |<br />

| | | | +--fast<strong>ESP</strong>QRServerEntry(1)<br />

| | | | | Index: fast<strong>ESP</strong>QRServerEntryIndex<br />

| | | | |<br />

| | | | +-- ---- Unsigned fast<strong>ESP</strong>QRServerEntryIndex(1)<br />

| | | | +-- -R-- Counter fast<strong>ESP</strong>QRServerEntryNumFailedQueriesSystem(2)<br />

| | | | +-- -R-- Counter fast<strong>ESP</strong>QRServerEntryNumFailedQueriesTotal(3)<br />

| | | | +-- -R-- Counter fast<strong>ESP</strong>QRServerEntryNumFailedQueriesUser(4)<br />

| | | | +-- -R-- Counter fast<strong>ESP</strong>QRServerEntryNumQueries(5)<br />

| | | | +-- -R-- Counter fast<strong>ESP</strong>QRServerEntryNumRequests(6)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>search(12)<br />

SNMP Agent<br />

91


<strong>FAST</strong> Enterprise Search Platform<br />

92<br />

| | | |<br />

| | | |<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>deploymentmanager(14)<br />

| | |<br />

| | +--fast<strong>ESP</strong>Events(3)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>Trap(0)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>IndexerStateChange(1)<br />

| | | +--fast<strong>ESP</strong>IndexerDiskLow(2)<br />

| | | +--fast<strong>ESP</strong>IndexerResetIndex(3)<br />

| | | +--fast<strong>ESP</strong>AgentStarted(4)<br />

| | | +--fast<strong>ESP</strong>ComponentStateEvent(5)<br />

| | | +--fast<strong>ESP</strong>ApplicationNumComponentsChange(6)<br />

| | |<br />

| | |<br />

| | +--fast<strong>ESP</strong>Confs(4)<br />

| | |<br />

| | +--fast<strong>ESP</strong>Groups(1)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>applicationGroup(1)<br />

| | | +--fast<strong>ESP</strong>nctrlGroup(2)<br />

| | | +--fast<strong>ESP</strong>indexerGroup(3)<br />

| | | +--fast<strong>ESP</strong>procserverGroup(4)<br />

| | | +--fast<strong>ESP</strong>indexingdispatcherGroup(5)<br />

| | | +--fast<strong>ESP</strong>contentdistributorGroup(6)<br />

| | | +--fast<strong>ESP</strong>qrserverGroup(7)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>indexerEventGroup(8)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>agentEventGroup(9)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>nctrlEventGroup(10)<br />

| | | |<br />

| | | +--fast<strong>ESP</strong>ApplicationEventGroup(11)<br />

| | |<br />

| | +--fast<strong>ESP</strong>Compl(2)<br />

| | |<br />

| | +--fast<strong>ESP</strong>StandardComplianceV1(2)<br />

| |<br />

| |<br />

| +--fastCrawler(4)<br />

| | |<br />

| | +-- -R-- OctetString fastCrawlerVersion(1)<br />

| |<br />

| |<br />

| +--fastClarity(5)<br />

| |<br />

| |<br />

| +--fastFeedingProxy(6)<br />

| |<br />

| +--fastFeedingProxyFeeder(1)<br />

| | |<br />

| | +-- -R-- Counter fastFeedingProxyFeederRecovery(1)<br />

| | +-- -R-- Counter fastFeedingProxyFeederInSync(2)<br />

| | +-- -R-- Counter fastFeedingProxyFeederSumDocuments(3)<br />

| | +-- -R-- Counter fastFeedingProxyFeederErrDocuments(4)<br />

| | +-- -R-- Counter fastFeedingProxyFeederDocumentsToBeFed(5)<br />

| |<br />

| +--fastFeedingProxyReceiver(2)<br />

| |<br />

| +-- -R-- OctetString fastFeedingProxyReceiverDiskLow(1)<br />

| +-- -R-- Counter fastFeedingProxyReceiverSumDocuments(2)<br />

| +-- -R-- Counter fastFeedingProxyReceiverErrDocuments(3)<br />

|<br />

|<br />

+--fastCaps(4)<br />

| +--fast<strong>ESP</strong>AgentV10(1)<br />

|<br />

+--fastReqs(5)


+--fastExpr(6)<br />

SNMP MIB variables<br />

The section describes the components in the hierarchical tree of the Management Information Base (MIB)<br />

for the SNMP Agent.<br />

SNMP MIB variables - Imports<br />

This table describes...<br />

<strong>FAST</strong>-TC::<br />

<strong>FAST</strong>-TC::<br />

<strong>FAST</strong>-GLOBAL-REG::<br />

<strong>FAST</strong>-GLOBAL-REG::<br />

SNMPv2-TC::<br />

SNMPv2-SMI::<br />

SNMPv2-SMI::<br />

SNMPv2-SMI::<br />

SNMPv2-SMI::<br />

SNMPv2-SMI::<br />

SNMPv2-SMI::<br />

SNMPv2-CONF::<br />

SNMPv2-CONF::<br />

SNMPv2-CONF::<br />

SNMP MIB variables - Type definitions<br />

This table describes...<br />

Fast<strong>ESP</strong>NctrlComponentState<br />

SNMP MIB variables - Managed variables<br />

This table describes...<br />

BooleanValue<br />

FloatValue<br />

fastModules<br />

fastProducts<br />

TEXTUAL-CONVENTION<br />

MODULE-IDENTITY<br />

OBJECT-TYPE<br />

NOTIFICATION-TYPE<br />

Counter32<br />

Gauge32<br />

Unsigned32<br />

OBJECT-GROUP<br />

NOTIFICATION-GROUP<br />

MODULE-COMPLIANCE<br />

The state of a <strong>FAST</strong> <strong>ESP</strong> component.<br />

SNMP Agent<br />

93


<strong>FAST</strong> Enterprise Search Platform<br />

94<br />

Variable<br />

fast<strong>ESP</strong>MibModule::=<br />

fast<strong>ESP</strong>::=<br />

fast<strong>ESP</strong>Application::=<br />

fast<strong>ESP</strong>ApplicationNumQueries::=<br />

fast<strong>ESP</strong>ApplicationNumDocuments::=<br />

fast<strong>ESP</strong>ApplicationNumUpdates::=<br />

fast<strong>ESP</strong>ApplicationNumComponents::=<br />

fast<strong>ESP</strong>Node::=<br />

fast<strong>ESP</strong>Nctrl::=<br />

fast<strong>ESP</strong>Compl::=<br />

fast<strong>ESP</strong>NctrlComponentTable::=<br />

fast<strong>ESP</strong>NctrlComponentEntryIndex::=<br />

fast<strong>ESP</strong>NctrlComponentEntryName::=<br />

fast<strong>ESP</strong>NctrlComponentEntryDescription::=<br />

fast<strong>ESP</strong>NctrlComponentEntryOperationalState::=<br />

fast<strong>ESP</strong>NctrlComponentEntryAdministrativeState::=<br />

fast<strong>ESP</strong>NctrlComponentEntryPID::=<br />

fast<strong>ESP</strong>Indexer::=<br />

fast<strong>ESP</strong>IndexerTable::=<br />

fast<strong>ESP</strong>IndexerEntryIndex::=<br />

fast<strong>ESP</strong>IndexerEntryAPIQueueSize::=<br />

fast<strong>ESP</strong>IndexerEntryLastIndexSwitch::=<br />

Data type<br />

NODE<br />

NODE<br />

NODE<br />

Counter32<br />

Counter32<br />

Counter32<br />

Gauge32<br />

NODE<br />

NODE<br />

NODE<br />

TABLE<br />

Unsigned32<br />

OctetString<br />

OctetString<br />

Fast<strong>ESP</strong>NctrlComponentState<br />

Fast<strong>ESP</strong>NctrlComponentState<br />

Unsigned32<br />

NODE<br />

TABLE<br />

Unsigned32<br />

Gauge32<br />

Unsigned32<br />

Description<br />

<strong>FAST</strong> <strong>ESP</strong> system wide query count.<br />

<strong>FAST</strong> <strong>ESP</strong> system-wide aggregation of total<br />

number of documents.<br />

<strong>FAST</strong> <strong>ESP</strong> system-wide aggregation of update<br />

operations.<br />

Number of components registered in naming<br />

services.<br />

A table of all components running in the system<br />

and their state according to the node controller.<br />

Index in table.<br />

Short name of component.<br />

Long name of component.<br />

State of the component; taken from the<br />

nodecontroller state.<br />

Wanted state of component.<br />

PID of component.<br />

Table of all indexers on a node.<br />

Row index.<br />

API queue size, number of batches.<br />

Last index switch in seconds since ???


Variable<br />

fast<strong>ESP</strong>IndexerEntryAPI<strong>Operations</strong>::=<br />

fast<strong>ESP</strong>IndexerEntryFailed<strong>Operations</strong>::=<br />

fast<strong>ESP</strong>IndexerEntryPartialUpdate::=<br />

fast<strong>ESP</strong>IndexerEntryRemove<strong>Operations</strong>::=<br />

fast<strong>ESP</strong>IndexerEntryStatusUpdates::=<br />

fast<strong>ESP</strong>IndexerEntryRemoveCollection<strong>Operations</strong>::=<br />

fast<strong>ESP</strong>IndexerEntryUpdate<strong>Operations</strong>::=<br />

fast<strong>ESP</strong>IndexerEntryTotalNumDocuments::=<br />

fast<strong>ESP</strong>IndexerEntryTotalSize::=<br />

fast<strong>ESP</strong>IndexerEntryOperationalResetIndex::=<br />

fast<strong>ESP</strong>IndexerEntryOperationalIndexingSuspended::=<br />

fast<strong>ESP</strong>IndexerEntryDiskLow::=<br />

fast<strong>ESP</strong>IndexerEntryAdministrativeResetIndex::=<br />

fast<strong>ESP</strong>IndexerEntryAdministrativeIndexingSuspended::=<br />

fast<strong>ESP</strong>PartitionTable::=<br />

fast<strong>ESP</strong>PartitionEntryIndexerIndex::=<br />

fast<strong>ESP</strong>PartitionEntryIndex::=<br />

fast<strong>ESP</strong>PartitionEntryNumDocuments::=<br />

fast<strong>ESP</strong>PartitionEntryTotalIndexingRuns::=<br />

fast<strong>ESP</strong>PartitionEntryVectorMemoryIndexing::=<br />

fast<strong>ESP</strong>PartitionEntryVectorMemory::=<br />

fast<strong>ESP</strong>PartitionEntryIndexedPerSecond::=<br />

fast<strong>ESP</strong>procserver::=<br />

fast<strong>ESP</strong>StagesTable::=<br />

Data type<br />

Counter32<br />

Counter32<br />

Counter32<br />

Counter32<br />

Counter32<br />

Counter32<br />

Counter32<br />

Gauge32<br />

Gauge32<br />

BooleanValue<br />

BooleanValue<br />

BooleanValue<br />

BooleanValue<br />

BooleanValue<br />

TABLE<br />

Unsigned32<br />

Unsigned32<br />

Gauge32<br />

Counter32<br />

Gauge32<br />

Gauge32<br />

FloatValue<br />

NODE<br />

TABLE<br />

Description<br />

Number of API operations.<br />

Number of failed API operations.<br />

Number of API partial update operations.<br />

Number of API remove operations.<br />

Number of API status update operations.<br />

Number of API remove collection operations.<br />

Number of API update operations.<br />

Total number of documents in indexer.<br />

Total size of documents in MBytes.<br />

Is the indexer performing a reset index operation.<br />

Indexing suspended state.<br />

Indexer disk space low.<br />

Do a reset index operation.<br />

Suspend indexing.<br />

A table of all partitions located on the node.<br />

Row index.<br />

Index in partition table.<br />

Number of documents in partition.<br />

Total number of indexing runs in partition.<br />

Size of vector memory during indexing.<br />

Size of vector memory needed to run search.<br />

Number of documents indexed per second.<br />

Table of all stages.<br />

SNMP Agent<br />

95


<strong>FAST</strong> Enterprise Search Platform<br />

96<br />

Variable<br />

fast<strong>ESP</strong>StagesEntryIndex::=<br />

fast<strong>ESP</strong>StagesEntryName::=<br />

fast<strong>ESP</strong>StagesEntrySystemTime::=<br />

fast<strong>ESP</strong>StagesEntryUserTime::=<br />

fast<strong>ESP</strong>StagesEntryRealTime::=<br />

fast<strong>ESP</strong>StagesEntryPageSwaps::=<br />

fast<strong>ESP</strong>StagesEntryMemUsage::=<br />

fast<strong>ESP</strong>StagesEntryResidentMem::=<br />

fast<strong>ESP</strong>StagesEntryVirtualMem::=<br />

fast<strong>ESP</strong>StagesEntryNumOK::=<br />

fast<strong>ESP</strong>StagesEntryNumError::=<br />

fast<strong>ESP</strong>PipelinesTable::=<br />

fast<strong>ESP</strong>PipelinesEntryIndex::=<br />

fast<strong>ESP</strong>PipelinesEntryName::=<br />

fast<strong>ESP</strong>PipelinesEntrySystemTime::=<br />

fast<strong>ESP</strong>PipelinesEntryUserTime::=<br />

fast<strong>ESP</strong>PipelinesEntryRealTime::=<br />

fast<strong>ESP</strong>PipelinesEntryPageSwaps::=<br />

fast<strong>ESP</strong>PipelinesEntryMemUsage::=<br />

fast<strong>ESP</strong>PipelinesEntryResidentMem::=<br />

fast<strong>ESP</strong>PipelinesEntryVirtualMem::=<br />

fast<strong>ESP</strong>PipelinesEntryNumOK::=<br />

fast<strong>ESP</strong>PipelinesEntryNumError::=<br />

fast<strong>ESP</strong>DocumentProcessorTable::=<br />

Data type<br />

Unsigned32<br />

OctetString<br />

FloatValue<br />

FloatValue<br />

FloatValue<br />

Counter32<br />

Gauge32<br />

Gauge32<br />

Gauge32<br />

Counter32<br />

Counter32<br />

TABLE<br />

Unsigned32<br />

OctetString<br />

FloatValue<br />

FloatValue<br />

FloatValue<br />

Counter32<br />

Gauge32<br />

Gauge32<br />

Gauge32<br />

Counter32<br />

Counter32<br />

TABLE<br />

Description<br />

Row index.<br />

Name of stage.<br />

System CPU time.<br />

User CPU time.<br />

Real time.<br />

Number of page swaps.<br />

Memory usage.<br />

Resident memory.<br />

Virtual memory.<br />

Number of correctly processed documents.<br />

Number of errors in document processing.<br />

Table of pipelines.<br />

Row index in pipeline table.<br />

Pipeline name.<br />

System time used.<br />

User time used.<br />

Real time used.<br />

Number of page swaps.<br />

Memory usage.<br />

Resident memory.<br />

Virtual memory.<br />

Number of correctly processed documents.<br />

Number of incorrectly processed documents.<br />

Table of document processors.


Variable<br />

fast<strong>ESP</strong>DocumentProcessorEntryIndex::=<br />

fast<strong>ESP</strong>DocumentProcessorEntryQueueFull::=<br />

fast<strong>ESP</strong>IndexingDispatcher::=<br />

fast<strong>ESP</strong>ClusterTable::=<br />

fast<strong>ESP</strong>ClusterEntryIndex::=<br />

fast<strong>ESP</strong>ClusterEntryName::=<br />

fast<strong>ESP</strong>ClusterEntryNumIndexingDispatchers::=<br />

fast<strong>ESP</strong>CollectionTable::=<br />

fast<strong>ESP</strong>CollectionEntryIndex::=<br />

fast<strong>ESP</strong>CollectionEntryClusterIndex::=<br />

fast<strong>ESP</strong>CollectionEntryNumDocuments::=<br />

fast<strong>ESP</strong>CollectionEntryName::=<br />

fast<strong>ESP</strong>ColumnTable::=<br />

fast<strong>ESP</strong>ColumnEntryIndex::=<br />

fast<strong>ESP</strong>ColumnEntryClusterIndex::=<br />

fast<strong>ESP</strong>ColumnEntryColumnNumber::=<br />

fast<strong>ESP</strong>ColumnEntryAPIQueueSize::=<br />

fast<strong>ESP</strong>ResourceService::=<br />

fast<strong>ESP</strong>Relbench::=<br />

fast<strong>ESP</strong>AnchorServer::=<br />

fast<strong>ESP</strong>ContentDistributor::=<br />

fast<strong>ESP</strong>CDTable::=<br />

fast<strong>ESP</strong>CDEntryIndex::=<br />

fast<strong>ESP</strong>CDEntryNumDocprocs::=<br />

Data type<br />

Unsigned32<br />

BooleanValue<br />

NODE<br />

TABLE<br />

Unsigned32<br />

OctetString<br />

Gauge32<br />

TABLE<br />

Unsigned32<br />

Unsigned32<br />

Gauge32<br />

OctetString<br />

TABLE<br />

Unsigned32<br />

Unsigned32<br />

Gauge32<br />

Gauge32<br />

NODE<br />

NODE<br />

NODE<br />

NODE<br />

TABLE<br />

Unsigned32<br />

Gauge32<br />

Description<br />

Row index in document processor table.<br />

Document processor queue full.<br />

Table of clusters.<br />

Row index in cluster table.<br />

Cluster name.<br />

Number of indexing dispatchers available.<br />

Table of collections.<br />

Row index in collection table.<br />

Second index, referencing the cluster table entry.<br />

Number of documents in collection.<br />

Name of collection.<br />

Table of columns.<br />

Row index in column table.<br />

Second index, referencing the cluster table entry.<br />

Column number.<br />

API queue size in column.<br />

Content distributor table.<br />

Row in the content distributor table.<br />

Number of document processors.<br />

SNMP Agent<br />

97


<strong>FAST</strong> Enterprise Search Platform<br />

98<br />

Variable<br />

fast<strong>ESP</strong>CDEntryDocprocsBusy::=<br />

fast<strong>ESP</strong>CDEntryDocprocsInvalid::=<br />

fast<strong>ESP</strong>CDEntryDocprocsUnused::=<br />

fast<strong>ESP</strong>CDEntry<strong>Operations</strong>::=<br />

fast<strong>ESP</strong>CDEntryMode::=<br />

fast<strong>ESP</strong>CDEntryCallbacks::=<br />

fast<strong>ESP</strong>Logtransformer::=<br />

fast<strong>ESP</strong>Completionserver::=<br />

fast<strong>ESP</strong>QRserver::=<br />

fast<strong>ESP</strong>QRServerTable::=<br />

fast<strong>ESP</strong>QRServerEntryIndex::=<br />

fast<strong>ESP</strong>QRServerEntryNumFailedQueriesSystem::=<br />

fast<strong>ESP</strong>QRServerEntryNumFailedQueriesTotal::=<br />

fast<strong>ESP</strong>QRServerEntryNumFailedQueriesUser::=<br />

fast<strong>ESP</strong>QRServerEntryNumQueries::=<br />

fast<strong>ESP</strong>QRServerEntryNumRequests::=<br />

fast<strong>ESP</strong>search::=<br />

fast<strong>ESP</strong>deploymentmanager::=<br />

fast<strong>ESP</strong>Events::=<br />

fast<strong>ESP</strong>Trap::=<br />

fast<strong>ESP</strong>Confs::=<br />

fast<strong>ESP</strong>Groups::=<br />

fast<strong>ESP</strong>Compl::=<br />

Data type<br />

Gauge32<br />

Gauge32<br />

Gauge32<br />

Gauge32<br />

OctetString<br />

Gauge32<br />

NODE<br />

NODE<br />

NODE<br />

TABLE<br />

Unsigned32<br />

Counter32<br />

Counter32<br />

Counter32<br />

Counter32<br />

Counter32<br />

NODE<br />

NODE<br />

NODE<br />

NODE<br />

NODE<br />

NODE<br />

NODE<br />

Description<br />

Number of document processors busy.<br />

Number of document processors in invalid state.<br />

Number of free document processors.<br />

Number of operations.<br />

The mode of the content distributor.<br />

Number of callbacks.<br />

QRServer table.<br />

Row index in the QRServer table.<br />

Number of failed queries (system).<br />

Total number of failed queries.<br />

Number of failed queries (user).<br />

Number of queries.<br />

Number of requests.


FeedingProxy variables<br />

Variable<br />

fastFeedingProxyFeederRecovery<br />

fastFeedingProxyFeederInSync<br />

fastFeedingProxyFeederSumDocuments<br />

fastFeedingProxyFeederErrDocuments<br />

fastFeedingProxyFeederDocumentsToBeFed<br />

fastFeedingProxyReceiverDiskLow<br />

fastFeedingProxyReceiverSumDocuments<br />

fastFeedingProxyReceiverErrDocuments<br />

SNMP MIB variables - Events/Traps<br />

This table describes...<br />

Event/Trap<br />

fast<strong>ESP</strong>IndexerStateChange:=fast<strong>ESP</strong>IndexerEntryOperationalIndexingSuspended<br />

fast<strong>ESP</strong>IndexerDiskLow::=fast<strong>ESP</strong>IndexerEntryDiskLow<br />

fast<strong>ESP</strong>IndexerResetIndex:=fast<strong>ESP</strong>IndexerEntryOperationalResetIndex<br />

fast<strong>ESP</strong>AgentStarted::=<br />

fast<strong>ESP</strong>NctrlComponentStateEvent::=<br />

fast<strong>ESP</strong>ApplicationNumComponentsChange::=<br />

SNMP MIB variables - Groups<br />

This table describes...<br />

Group<br />

fast<strong>ESP</strong>ApplicationGroup<br />

Data type<br />

Counter32<br />

Counter32<br />

Counter64<br />

Counter64<br />

Counter32<br />

OctetString<br />

Counter64<br />

Counter64<br />

Description<br />

Description<br />

Feeding proxy recovery status<br />

Feeding proxy in_Sync variable<br />

Sum of documents fed to the Feeder<br />

Sum of fed documents with errors to the feeder<br />

number of documents to be fed to the feeder from<br />

receiver<br />

Runs out of disk estimate variable<br />

Sum of documents received to the receiver<br />

Sum of received documents with errors to the<br />

reader<br />

Sent on state change of indexer, suspended/running.<br />

Sent on disk low condition in indexer.<br />

Sent on indexer performing reset-index.<br />

Trap triggered on SNMP Agent start.<br />

Trap triggered on component state change.<br />

Number of registered components in naming service changed.<br />

Objects<br />

Group of application objects:<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>ApplicationNumQueries<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>ApplicationNumDocuments<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>ApplicationNumUpdates<br />

SNMP Agent<br />

99


<strong>FAST</strong> Enterprise Search Platform<br />

100<br />

Group<br />

fast<strong>ESP</strong>NctrlGroup<br />

fast<strong>ESP</strong>IndexerGroup<br />

fast<strong>ESP</strong>ProcserverGrou<br />

Objects<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>ApplicationNumComponents<br />

Group of nodecontroller objects:<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>NctrlComponentEntryName<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>NctrlComponentEntryOperationalState<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>NctrlComponentEntryDescription<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>NctrlComponentEntryPID<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>NctrlComponentEntryAdministrativeState<br />

Group of indexer objects:<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryAPIQueueSize<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryLastIndexSwitch<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryAPI<strong>Operations</strong><br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryFailed<strong>Operations</strong><br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryPartialUpdate<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryRemove<strong>Operations</strong><br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryStatusUpdates<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryRemoveCollection<strong>Operations</strong><br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryUpdate<strong>Operations</strong><br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryTotalNumDocuments<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryTotalSize<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryOperationalResetIndex<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryOperationalIndexingSuspended<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryDiskLow<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryAdministrativeResetIndex<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEntryAdministrativeIndexingSuspended<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>PartitionEntryNumDocuments<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>PartitionEntryTotalIndexingRuns<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>PartitionEntryVectorMemoryIndexing<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>PartitionEntryVectorMemory<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>PartitionEntryIndexedPerSecond<br />

Group of procserver objects:<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>StagesEntryName<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>StagesEntrySystemTime<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>StagesEntryUserTime<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>StagesEntryRealTime<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>StagesEntryPageSwaps<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>StagesEntryMemUsage<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>StagesEntryNumOK<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>StagesEntryNumError<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>PipelinesEntryName<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>PipelinesEntrySystemTime<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>PipelinesEntryUserTime<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>PipelinesEntryRealTime


Group<br />

fast<strong>ESP</strong>IndexingDispatcherGroup<br />

fast<strong>ESP</strong>ContentDistributorGroup<br />

fast<strong>ESP</strong>QRserverGroup<br />

fast<strong>ESP</strong>IndexerEventGroup<br />

fast<strong>ESP</strong>AgentEventGroup<br />

Objects<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>PipelinesEntryPageSwaps<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>PipelinesEntryMemUsage<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>PipelinesEntryNumOK<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>PipelinesEntryNumError<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>DocumentProcessorEntryQueueFull<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>StagesEntryResidentMem<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>StagesEntryVirtualMem<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>PipelinesEntryResidentMem<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>PipelinesEntryVirtualMem<br />

Group of indexing dispatcher objects:<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>CollectionEntryNumDocuments<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>CollectionEntryName<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>ClusterEntryName<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>ClusterEntryNumIndexingDispatchers<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>ColumnEntryClusterIndex<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>ColumnEntryColumnNumber<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>ColumnEntryAPIQueueSize<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>CollectionEntryClusterIndex<br />

Group of content distributor objects:<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>CDEntryNumDocprocs<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>CDEntryDocprocsBusy<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>CDEntryDocprocsInvalid<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>CDEntryDocprocsUnused<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>CDEntry<strong>Operations</strong><br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>CDEntryCallbacks<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>CDEntryMode<br />

Group of query server objects:<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>QRServerEntryNumFailedQueriesSystem<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>QRServerEntryNumFailedQueriesTotal<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>QRServerEntryNumFailedQueriesUser<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>QRServerEntryNumQueries<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>QRServerEntryNumRequests<br />

Group of indexer events:<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerStateChange<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerDiskLow<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerResetIndex<br />

Agent event group:<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>AgentStarted<br />

SNMP Agent<br />

101


<strong>FAST</strong> Enterprise Search Platform<br />

102<br />

Group<br />

fast<strong>ESP</strong>NctrlEventGroup<br />

fast<strong>ESP</strong>ApplicationEventGroup<br />

SNMP MIB variables - Compliance<br />

This table describes...<br />

Compliance<br />

fast<strong>ESP</strong>StandardComplianceV1<br />

Objects<br />

Nodecontroller event group:<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>NctrlComponentStateEvent<br />

Application event group:<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>ApplicationNumComponentsChange<br />

Group<br />

Compliance for a <strong>FAST</strong> <strong>ESP</strong> agent:<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>ApplicationGroup<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>NctrlGroup<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerGroup<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>ProcserverGroup<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexingDispatcherGroup<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>ContentDistributorGroup<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>QRserverGroup<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>IndexerEventGroup<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>NctrlEventGroup<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>ApplicationEventGroup<br />

• <strong>FAST</strong>-<strong>ESP</strong>-MIB::fast<strong>ESP</strong>AgentEventGroup


Chapter<br />

11<br />

Monitoring tool<br />

Topics:<br />

• About the monitoring tool<br />

• Monitoring tool navigation bar<br />

selections<br />

• Administration navigation bar<br />

selections<br />

• Adding the graphing engine<br />

• Creating and configuring cluster<br />

views<br />

• Creating a custom logger based<br />

on query count<br />

• Creating a custom logger based<br />

on standard alerts<br />

• Managing global parameters<br />

• XML data<br />

• Alerting e-mail configuration<br />

information<br />

• Monitoring <strong>ESP</strong> in a redundant<br />

data center setup<br />

• Configuring the <strong>ESP</strong> redundant<br />

data center monitoring tool<br />

This section describes the Monitoring Tool.


<strong>FAST</strong> Enterprise Search Platform<br />

104<br />

About the monitoring tool<br />

The Monitoring Tool oversees one or more <strong>FAST</strong> systems; it unifies the status of each individual node in one<br />

or more deployed search solution system and renders results by way of a web interface as a set of graphs,<br />

tables, and views.<br />

The Monitoring Tool enables you to preconfigure and save multiple monitoring regimens. You can create<br />

these regimens or schedules by associating them to one or more plugins.<br />

The Monitoring Tool is included with the <strong>FAST</strong> <strong>ESP</strong> distribution; no installation is required. The Monitoring<br />

Tool typically resides on the same machine where the <strong>FAST</strong> <strong>ESP</strong> administrator interface is running at:<br />

http://:+3000/clarity<br />

The Monitoring Tool is fully integrated with the node controller (nctrl) to start up and shutdown with the other<br />

<strong>FAST</strong> <strong>ESP</strong> processes.<br />

Monitoring tool navigation bar selections<br />

After creating the new cluster, the Monitoring Tool main screen is displayed:<br />

Selection<br />

Administration<br />

Indexing<br />

Overview<br />

Content<br />

Overview<br />

Description<br />

This selection administers the Monitoring Tool. Start and stop monitoring, change the monitoring setup,<br />

and start monitoring of other <strong>FAST</strong> <strong>ESP</strong> clusters. Manage monitoring schedules, and view the logs from<br />

the Monitoring Tool to troubleshoot problems with monitoring.<br />

Refer to the Administration navigation bar selections table.<br />

Also referred to as Search Engine Overview.<br />

This selection gives a top down view of search and indexing performance/activity. It allows you to view<br />

the details about the search engines in the system including information about how many documents<br />

there are indexed on the different indexer nodes, average qps and response times on the search nodes,<br />

and how the documents are distributed internally on the indexers.<br />

The first table on the screen lists the QRServers and top-level dispatchers along with statistics and links<br />

to graphs.<br />

The next table (if multi-node setup) is a list of search/index information aggregated by row.<br />

The final table lists all search/index columns, the hosts in them, indexing activity, and various other<br />

statistics.<br />

Click on the extended view link for additional columns of information.<br />

This selection allows you to view content processing activity including crawler activity, if used. Look at<br />

statistics for all pipelines in use by the system, such as average throughput, number of errors, and so<br />

on. Statistics for individual document processors is also available.<br />

The pipeline table shows aggregated information for all processing activity in that pipeline.


Selection<br />

Cache<br />

Overview<br />

Alert Overview<br />

Graph Viewer<br />

Description<br />

The stage table shows aggregated statistics for each document processing stage.This table is highlighted<br />

such that docprocs working the most are more highlighted (this is a gradient).<br />

If graphing is enabled, the docs/sec graph will appear next to the stage table showing the current<br />

hourly throughput for each pipeline.<br />

The docproc table lists the same basic information as the pipeline table, except information is<br />

aggregated per docproc instead of pipeline.<br />

extended view: all docprocs are visible<br />

simple view: (default view) docprocs are aggregated per host<br />

If crawlers are available and collections are being crawled, there will be two additional crawler tables<br />

showing crawler statistics.<br />

If the cachestatus logger is in the schedule, this selection will show cache usage statistics for each<br />

fsearch in the system.<br />

This view can be filtered by row and column.<br />

This selection shows an overview of alert status history for the cluster.<br />

By default, you are presented with any outstanding alerts in the system. The Select drop-downs allow<br />

filtering as follows:<br />

• The first drop-down allows you to select an alert group (this will either be a host in the cluster, or<br />

an abstract group name such as DocumentProcessing, etc.).<br />

• The second drop-down filters what type of information you see. Possible choices are:<br />

Errors Only: (default) displays current errors Show All: displays all metrics being tracked Suspended<br />

Only: displays metrics that have been suspended - If a metric is suspended, no E-mail will be generated<br />

if it goes into an error/warning state - Metrics can be suspended using the "pause" icon, they can the<br />

be resumed using the "play" icon - The other icon will allow sending an acknowledgement E-mail<br />

message for the alert Exclude Services: filters out any rows that track services (polling service for<br />

statistics)<br />

Status history includes:<br />

Status: current state of a metric Actions: Suspend Alerting and Send Acknowledgement available<br />

Metric: name of the metric being tracked Value: current value for the metric % Time OK, Warning,<br />

Critical/Error: the percentage of time the metric was in a particular state<br />

When a metric enters an alert state, the following happens:<br />

• If the metric is suspended, it is ignored<br />

• If the metric is not suspended, the mailing list configuration will be filtered to determine where to<br />

send the E-mail. If this list is non-empty, an E-mail is generated and sent. Regardless of if an E-mail<br />

is sent, the contents of the message is logged to $<strong>FAST</strong>SEARCH/var/log/pymail/-///<br />

When a metric recovers, the same happens, except this time a report is sent stating the metric has<br />

recovered.<br />

If the Monitoring Tool is configured to use graphing, the graph viewer allows you to compare multiple<br />

graphs from the system, to monitor developments over time.<br />

Graph views can be saved and recalled later via the save session link.<br />

Monitoring tool<br />

Current graphs being viewed are cached via session/cookies; if you leave the page and then return,<br />

you are presented with the same graphs.<br />

105


<strong>FAST</strong> Enterprise Search Platform<br />

106<br />

Associating clusters with the monitoring tool<br />

When you install the Monitoring Tool on a node where <strong>FAST</strong> <strong>ESP</strong> is running, the Monitoring Tool uses the<br />

configuration server to discover relevant configuration information for each cluster. Additional clusters can<br />

be added from the Cluster Management screen of the Administration navigation bar.<br />

Integration with <strong>FAST</strong> <strong>ESP</strong><br />

The Monitoring Tool shares the services of the PHP-enabled web server that serves web pages of the <strong>FAST</strong><br />

<strong>ESP</strong> administrator interface. It shares the look and feel of the <strong>FAST</strong> <strong>ESP</strong> administrator interface. For example:<br />

When you start up the Monitoring Tool for the first time, it integrates itself into the current <strong>FAST</strong> <strong>ESP</strong> node<br />

configuration (NodeConf.xml).<br />

Administration navigation bar selections<br />

This section describes the navigation bar selections if you select Administration from the the Monitoring<br />

Tool navigation bar.<br />

Selection<br />

Clarity<br />

Configuration<br />

Cluster<br />

Management<br />

Schedule<br />

Management<br />

Description<br />

Also referred to as Monitoring Tool Configuration.<br />

This selection allows you to configure global configuration settings (mainly front end related). Global<br />

settings alter how the monitoring tool operates, and how to navigate in the tool.<br />

Default values are used most often, but it is possible to change settings such as the port number<br />

used by the node controller. The node controller port is figured by using baseport + 3015. The<br />

default assumes you are running a standard installation where the node controller is running on the<br />

same host as the <strong>FAST</strong> <strong>ESP</strong> administrator interface (baseport = 13000).<br />

Default: 16015<br />

A cluster is a single installation of <strong>FAST</strong> <strong>ESP</strong>.<br />

The Monitoring Tool can be configured to monitor multiple installations from a single machine.<br />

A schedule is a sequential grouping of loggers.This process is similar to how a pipeline is a sequential<br />

grouping of document processors.<br />

It is recommended that the following loggers are in all schedules:<br />

• SearchStatus<br />

• ContentStatus<br />

• StandardGraphs


Selection<br />

Logger<br />

Management<br />

Monitor View<br />

Logs<br />

Description<br />

Refer to Logger Management for logger descriptions.<br />

This selection allows you to view configured loggers, as well as create custom versions.<br />

A logger is a customizable plugin component that logs collected data to disk, creates graphs, and<br />

tracks metrics for alerting purposes.<br />

The Monitoring Tool by default fetches a large amount of <strong>FAST</strong> <strong>ESP</strong> information. Most of this<br />

information is visible on the Indexing Overview and Content Overview.This information is available<br />

to all loggers. Cluster layout information is also available to loggers.<br />

If you want to customize any loggers, contact <strong>FAST</strong> Solution Services.<br />

Standard Loggers are:<br />

Adding the graphing engine<br />

CacheStatus: This drives the cache overview page. (It is suggested to use this during cache tuning,<br />

and disable once done as it results in polling every fsearch process in the system every .)<br />

ContentStatus: This drives the Content Overview page.<br />

Dispatcher Status: This logs some logline data for top-level dispatchers.<br />

DocApiStatus: This logs and graphs information for the document API.<br />

QueryCount: This tracks the query count for a specific query, and optionally sends an alert of the<br />

count drops below . (This logger should only be used with a newly configured values.)<br />

SearchStatus: This drives the Indexing Overview page.<br />

StandardAlerts:This tracks some standard alert values. Alert ranges can be specified in the <br />

parameter of this logger. This value refers to a configuration file in<br />

$<strong>FAST</strong>SEARCH/etc/clarity/config_data/. If this logger is used, search time/latency alerts/warnings<br />

will be triggered if values go outside of the cluster configured ranges.<br />

StandardGraphs: This logger creates the majority of graphs available to the Monitoring Tool by<br />

default.<br />

This selection returns you to the Monitoring Tool main screen.<br />

This selection provides a quick and easy view into the Monitoring Tool system logs. This view is<br />

similar to the <strong>FAST</strong> <strong>ESP</strong> Logs page, except it allows you to easily target log files for the Monitoring<br />

Tool running against a specific cluster. If you encounter monitoring issues, check this page to see<br />

if the Monitoring Tool itself is throwing errors.<br />

Advanced statistical graphing can be enabled in the Monitoring Tool with a third party package named rrdtool<br />

that you can download from the Internet.<br />

rrdtool (version required is 1.0.48 or 1.0.49)<br />

For Windows, visual .NET is required in order to enable graphing support.<br />

1. Open your browser to the rrdtool download screen.<br />

http://oss.oetiker.ch/rrdtool/download.en.html<br />

2. Download rrdtool source, and build it.<br />

3. Copy rrdtool.exe (Windows) or rrdtool (UNIX) binary into $<strong>FAST</strong>SEARCH/bin.<br />

4. On the Cluster Management screen, click the Edit Global Configuration link.<br />

5. Select Administration on the Monitoring Tool navigation bar.<br />

6. For the Enable Graph View feature:<br />

Monitoring tool<br />

107


<strong>FAST</strong> Enterprise Search Platform<br />

108<br />

a) Select Clarity Configuration on the Administration navigation bar<br />

b) Select Yes from the Enable Graph View drop-down menu<br />

c) Click Submit to apply your changes<br />

7. Restart the Monitoring Tool.<br />

Creating and configuring cluster views<br />

This section describes how to create and configure a cluster view. Note that you can also manage the<br />

Monitoring Tool cluster views by way of the clarity command-line utility. For details, go to $<strong>FAST</strong>SEARCH on<br />

the <strong>FAST</strong> <strong>ESP</strong> administrative node system, and run the following command: clarity -h<br />

1. Select Administration on the Monitoring Tool navigation bar. The Cluster Management screen is<br />

displayed:<br />

2. Select Create New Cluster on the Cluster Management screen. The Create Cluster Configuration<br />

screen is displayed:<br />

3. From the Create Cluster Configuration screen, enter values or accept the defaults for the fields.


4. Upon completion, click submit. Monitoring starts automatically if the Monitoring Tool is connected to the<br />

configuration server.<br />

5. Restart the Monitoring Tool for modifications to the configuration to take effect.<br />

Create cluster configuration screen options<br />

Clarity options<br />

Clarity options<br />

Cluster Name<br />

Interface Port<br />

Log Time (0-60)<br />

Full Refresh Time<br />

Logging Schedule<br />

Mailing List Prefix<br />

Concurrent Sockets<br />

Collection Timeout<br />

Default<br />

datasearch<br />

16098<br />

0<br />

5<br />

Generic<br />

clarity<br />

10<br />

10<br />

Description<br />

Datasearch configuration options<br />

Datasearch configuration options<br />

Datasearch Cluster<br />

Config Server Host<br />

Config Server Port<br />

A symbolic name to give the cluster.<br />

The port the Monitoring Tool runs on.<br />

Value is figured using + 3098.<br />

Use the default unless running multiple clusters from one machine.<br />

This value provides the second of the minute that the Monitoring Tool polls for<br />

information (if running multiple clusters, it is suggested you stagger this).<br />

Example: If monitoring two large installations from one machine, log time for<br />

first installation should be 0, and log time for second should be 30.<br />

Values must be between 0 and 59.<br />

If you provide a value of 0, log entry times appear as XX:XX:00.<br />

If you provide a value of 30, entry log times appear as XX:XX:30.<br />

This value provides how often in minutes the Monitoring Tool performs a full<br />

poll of information.<br />

This is relevant if CacheStatus logger is used.<br />

This value describes what group of loggers to use.<br />

This value provides the prefix appended to the distribution list for all mailings.<br />

Configuration of E-mail is via a configuration file that allows creating mailing<br />

lists that can do regular expression matching against distribution lists to<br />

determine if E-mail should be sent.<br />

Default<br />

This value is the number of concurrent socket connections that the Monitoring<br />

Tool has open for fetching information.<br />

For large clusters, the default might be 100 or more.<br />

This value provides the number of seconds the Monitoring Tool attempts to<br />

fetch data before timing out a collection.<br />

webcluster<br />

localhost<br />

16005<br />

Description<br />

This value describes the logical cluster in datasearch.<br />

The configuration server for the installation.<br />

The port the configuration server is running on.<br />

Monitoring tool<br />

109


<strong>FAST</strong> Enterprise Search Platform<br />

110<br />

Datasearch configuration options<br />

Dispatcher Levels<br />

Minimum Datasearch Port<br />

Maximum Datasearch Port<br />

Default<br />

2<br />

13000<br />

17000<br />

Basic alerting configuration options<br />

Basic alerting configuration<br />

options<br />

Service Timeout<br />

Search Time Warning Level<br />

Search Time Alert Level<br />

Search Latency Warning Level<br />

Search Latency Alert Level<br />

Default<br />

5<br />

2<br />

5<br />

2<br />

5<br />

Description<br />

Description<br />

This value is the number of tiers of dispatchers in the system.<br />

A single node installation will have 1 tier, a typical multi-node<br />

installation will have 2 tiers.<br />

The baseport of the cluster.<br />

The baseport + 4000.<br />

Creating a custom logger based on query count<br />

The Monitoring Tool will only register services with itself if the<br />

port of the service is in the minimum and maximum port range.<br />

This value is the number of minutes that a service must be unresponsive<br />

before issuing a service down alert.<br />

If the StandardAlerts logger is used, warnings will be issued if average search<br />

time for search nodes enters these bounds. These bounds will be visible on<br />

the front end/graphs via a gradient in the avg-search-time cell on indexing<br />

overview.<br />

If the StandardAlerts logger is used, alerts will be issued if average search<br />

time for search nodes enters these bounds. These bounds will be visible on<br />

the front end/graphs via a gradient in the avg-search-time cell on indexing<br />

overview.<br />

If the StandardAlerts logger is used, warnings will be issued if average search<br />

time for search nodes enters these bounds. Graphs do not mark any of these<br />

values<br />

If the StandardAlerts logger is used, alerts will be issued if average search<br />

time for search nodes enters these bounds. Graphs do not mark any of these<br />

values.<br />

A logger can create graphs, log text data, create XML files describing current state of system (with SearchStatus<br />

and ContentStatus), and track metrics for alerting purposes (resulting in E-mails being generated).<br />

Loggers can define configuration parameters either through the Monitoring Tool web interface (used by<br />

QueryCount logger) or through an XML file referenced through the Monitoring Tool web interface (used by<br />

the StandardAlerts logger).<br />

Creating custom loggers is simple when you base your custom logger on an existing logger and define<br />

configuration values relevant to your search solution's custom deployment scheme.To create a custom logger<br />

based on Query Count:<br />

1. Select Administration on the Monitoring Tool navigation bar. The Cluster Management screen is<br />

displayed:


2. Select Logger Management on the navigation bar and the following screen is displayed:<br />

3. On the Logger Management screen, click the + action icon to add a duplicate Query Count logger. The<br />

Create Custom Logger screen appears:<br />

4. Provide the following information in the Create Custom Logger screen to create a logger based on<br />

methods used by the Query Count Logger:<br />

• Logger Name - The value you supply for Logger Name must be unique and limited to the following<br />

characters: letters, numbers, dashes, and underscores (no whitespace). Invalid logger names: databases,<br />

index.<br />

• Logger Description - Optional text field for holding a user-defined description.<br />

• Alert (int) - The alert value is either a positive integer as some threshold value or -1 to disable. If the<br />

query count drops below this value (if greater than 0), then an alert will be triggered.<br />

• Query (str) - The query value is a query string that will be put into the query attribute and sent to the<br />

QRServer. Example: The query Query : meta.collection:collecname will return a count of the number<br />

of documents in the collection .<br />

5. Click Submit to apply your changes.<br />

Monitoring tool<br />

111


<strong>FAST</strong> Enterprise Search Platform<br />

112<br />

Creating a custom logger based on standard alerts<br />

A logger can create graphs, log text data, create XML files describing current state of system (with SearchStatus<br />

and ContentStatus), and track metrics for alerting purposes (resulting in E-mails being generated).<br />

Loggers can define configuration parameters either through the Monitoring Tool web interface (used by<br />

QueryCount logger) or through an XML file referenced through the Monitoring Tool web interface (used by<br />

the StandardAlerts logger).<br />

The following sections describe how to create a custom logger based on StandardAlerts. The first subsection<br />

describes how to add the custom logger into the Monitoring Tool; the second subsection describes how to<br />

create a schedule.<br />

Adding the Custom File into the Logger<br />

1. Select Administration on the Monitoring Tool navigation bar and the Cluster Management screen is<br />

displayed.<br />

2. Select Logger Management on the navigation bar and the Logger Management screen is displayed.<br />

3. On the Logger Management screen, click the + action icon to add a duplicate StandardAlerts logger.<br />

The Create Custom Logger screen appears:<br />

4. Using an editor, create your own custom logger. You can use the default StandardAlerts.xml file to make<br />

modifications to default settings. The modified file must be located at:<br />

$<strong>FAST</strong>SEARCH/etc/clarity/config_data/<br />

5. In the Config text box, fill in the name of the configuration file that contains your logger custom settings.<br />

6. Click submit to apply your changes.<br />

7. Complete the Creating a Schedule section.<br />

Default StandardAlerts.xml file<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />


<br />

<br />

Creating a schedule<br />

In order for a logger to be used for monitoring, it must be associated with a schedule.<br />

To associate a logger with a schedule:<br />

1. Select Administration on the Monitoring Tool navigation bar and the Cluster Management screen is<br />

displayed.<br />

2. Select Schedule Management on the navigation bar and the Schedule Management screen is displayed:<br />

3. Select Create New Schedule and the Create New Schedule screen is displayed:<br />

4. Create a Schedule based on logger properties configured for the Generic Schedule.<br />

5. From the Available Loggers drop-down list, select the logger you created. Click the -> add button to add<br />

the logger to the Loggers In Schedule list.<br />

6. If necessary, use the up or down arrows to move a highlighted logger up or down in the schedule. Use<br />

the trashcan icon to remove a highlighted logger from the schedule.<br />

7. Click submit to apply your changes.<br />

Managing global parameters<br />

You can access the Monitoring Tool application parameters and system parameters that apply to all tool<br />

processes, monitoring all nodes, and all clusters.<br />

To edit the parameters:<br />

Monitoring tool<br />

113


<strong>FAST</strong> Enterprise Search Platform<br />

114<br />

1. Select Administration on the Monitoring Tool navigation bar and the Cluster Management screen is<br />

displayed:<br />

2. Select Clarity Configuration on the Administration navigation bar and the Global Configuration screen<br />

is displayed:<br />

3. For certain global parameters, you must restart a cluster's particular Monitoring Tool process in order for<br />

new values to take effect.<br />

Global configuration screen selections<br />

Screen field<br />

Enable Graph View<br />

Enable Journal View<br />

Keystroke Navigatio<br />

Default<br />

Yes<br />

No<br />

No<br />

Description<br />

Use this option to enable graphing views within the Monitoring Tool.<br />

You must install rrdtool before you enable graph views. Refer to Adding the<br />

graphing engine.<br />

Use this option to enable journal view within the Monitoring Tool.<br />

Enable this option to use single keystrokes to navigate quickly over the search<br />

and content pages. The following table lists the relevant keystrokes.<br />

Quick Keys:<br />

A - jumps to alert overview<br />

C - jumps to content status page<br />

F - jumps to cache status page<br />

G - jumps to graph view page<br />

S - jumps to search status page


Screen field<br />

Enable Authentication<br />

Remote Links<br />

Clarity Theme<br />

PostgreSQL Port<br />

Node Controller Port<br />

Monitor View Refresh<br />

Time<br />

XML data<br />

Default<br />

Yes<br />

Passthrough<br />

Datasearch 5<br />

16070<br />

16015<br />

60<br />

Description<br />

Use this option to turn off and on the <strong>FAST</strong> <strong>ESP</strong> administrator interface<br />

authentication:<br />

A No value allows viewing and administering the Monitoring Tool without<br />

authentication.This is an advanced value; contact <strong>FAST</strong> Solution Services before<br />

turning off this option.<br />

Possible values:<br />

Redirect: If set, then clicking on hostnames or other icons in the Monitoring Tool<br />

(the link to <strong>FAST</strong> <strong>ESP</strong> services) will redirect directly to that page. Use this setting<br />

only if the hosts are directly available on the network running the web browser<br />

(or proxies are set up to achieve the same affect).<br />

Passthrough: If set, then <strong>FAST</strong> <strong>ESP</strong> service status pages will be passed through<br />

the Monitoring Tool interface (without images).<br />

This value specifies the color theme for the Monitoring Tool interface. Available<br />

themes are located in $<strong>FAST</strong>SEARCH/admin/www/clarity/themes.<br />

Example: Datasearch Blue<br />

This value represents the logical port number of the Storage Server. This is<br />

required for Journal view which uses PostgreSQL.<br />

Change this value only if you are using base ports other than the default for your<br />

<strong>FAST</strong> <strong>ESP</strong> installation.<br />

Note: Baseport is typically 13000. Check your installprofile.xml to ensure you<br />

are using the default port.<br />

This value determines the period that the Monitoring Tool uses for fetching monitor<br />

data. Data appearing in the Monitor View has been fetched within this period.<br />

Typically, you make this value larger for large clusters. An aggressive refresh<br />

rate can stress the HTTPD server that is receiving the requests.<br />

Example: 30<br />

Views that support XML-view contain a link on the main Overview screens. Click the link to<br />

obtain the XML file that drives the page being viewed.<br />

Alerting e-mail configuration information<br />

The Monitoring Tool uses the configuration file:<br />

$<strong>FAST</strong>SEARCH/etc/config_data/Notification/Notification.xml<br />

This configuration file must exist on the machine running the Monitoring Tool.<br />

Sample Notification.xml configuration file<br />

<br />

<br />

Monitoring tool<br />

115


<strong>FAST</strong> Enterprise Search Platform<br />

116<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Sending e-mails example<br />

To send all E-mail messages generated by any Monitoring Tool instance to user1:<br />

<br />

<br />

<br />

<br />

<br />

<br />

Monitoring two clusters example<br />

Mailing list prefix for the first cluster is: one; Mailing list prefix the second cluster is: two.<br />

The following file sends E-mails for one to one group, and two to another group:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Defining reference lists example<br />

To define reference lists that are groups of people, and then include those lists in a regular<br />

list:<br />

<br />

<br />

<br />

<br />

...<br />

<br />

<br />

<br />

...<br />


<br />

<br />

<br />

<br />

The tag can be used inside and elements to include s.<br />

To include a in a , the included must come first.<br />

The supports attribute lists what features are supported for a user: html (can receive html<br />

E-mail), plain (can receive plain text E-mail), and attach (can receive attachments).<br />

By default, the Monitoring Tool will only send plain text E-mails; however, customizations<br />

can be made to E-mail any generic message in a logger that may contain attachments or<br />

html mail; contact <strong>FAST</strong> Solution Services for assistance.<br />

Monitoring <strong>ESP</strong> in a redundant data center setup<br />

One strategy for improving fault tolerance is to replicate a data center. The content of two <strong>ESP</strong> installations<br />

in separate data centers must then kept in sync.The benefits of such a setup is that a service can be provided<br />

to users even if faults or accidents disable one of the data centers.<br />

The feeding proxy (see the <strong>ESP</strong> Feeding Proxy <strong>Guide</strong>) is used to keep two data centers in sync. A feeding<br />

proxy is set up in front of each data center, and content will be delivered to both data centers.<br />

In some redundant data center setups, search consistency is also important. Consistency in this context<br />

means that a document which is introduced in search results must never disappear - even if a different data<br />

center evaluates the same query later.<br />

To provide consistency in redundant data centers, a monitoring component is introduced in <strong>ESP</strong>. This<br />

component will provide service level status for search and feeding. In cooperation with a custom or third-party<br />

clustering solution, this component will indicate (1) when a data center is down (and therefore when queries<br />

should be directed to the other data center), and (2) if a secondary data center is not in sync with a failing<br />

primary data center (search queries can then not be served until all remaining content is indexed).<br />

Configuring the <strong>ESP</strong> redundant data center monitoring tool<br />

The redundant data center monitoring tool is disabled by default and must be specifically configured for the<br />

needs of a particular setup.<br />

As the configurability of this tool is large, it is possible to use the tool for more than monitoring consistent<br />

redundant data centers, but such usage is not supported by <strong>FAST</strong>.<br />

1. Copy the directory $<strong>FAST</strong>SEARCH/adminserver/espmonitor/espmonitor to<br />

$<strong>FAST</strong>SEARCH/adminserver/webapps.<br />

2. Copy $<strong>FAST</strong>SEARCH/adminserver/espmonitor/monitor.xml into $<strong>FAST</strong>SEARCH/etc/monitor.xml.<br />

3. Modify the monitoring configuration.<br />

In monitor.xml, rule sets are defined. A rule set is a set of pre-programmed rules, which monitors the<br />

state of a service in <strong>ESP</strong>. There are two rule sets pre-defined in the example monitor.xml provided in<br />

<strong>ESP</strong> - "search" and "feeding". See Rule options for rule sets in monitor.xml and the comments in the<br />

provided monitor.xml file for documentation on the different rules you can add in a rule set.<br />

4. Configure the HTTP interface.<br />

Monitoring tool<br />

117


<strong>FAST</strong> Enterprise Search Platform<br />

118<br />

You will integrate with the monitoring tool via an HTTP REST web interface. This interface is enabled in<br />

the tag in monitor.xml.<br />

The attributes for the " " tag are:<br />

• enabled - true/false. This attribute must be set to true to enable the http interface.<br />

• username - A username for HTTP authentication. If the username is blank, HTTP authentication is not<br />

used.<br />

• password - A password used in HTTP authentication.<br />

5. Restart the adminserver: nctrl restart adminserver<br />

The monitor logs to $<strong>FAST</strong>SEARCH/var/log/adminserver/monitor/espmonitor.log.<br />

6. Query and integrate the monitor into your clustering solution.<br />

If the http interface is enabled, you can query the status of a rule set on<br />

http://:baseport+3089/espmonitor/rulesets/<br />

Example: http://esp.example.com:16089/espmonitor/rulesets/search<br />

If the rule set passes successfully, an HTTP query on this URL will result in an HTML page with the status<br />

code 200. If the rule set fails, the status code of the returned HTML page is 503.<br />

Rule options for rule sets in monitor.xml<br />

The following rule options can be added in the rule sets which are defined in monitor.xml. See also the<br />

comments in the provided monitor.xml file.<br />

Option<br />

CountQrServers<br />

CountProcServers<br />

LowOnDisk<br />

ProcessRule<br />

FeedingProxyInSync<br />

Description<br />

This rule will fail if there are less than the given QRServers running in the system.<br />

Example:<br />

<br />

This rule will fail if there are less than the given processing servers running in the system.<br />

Example:<br />

<br />

Fails if one or several indexers are soon to go out of disk space.<br />

Example:<br />

<br />

Checks that a list of processes are running on a <strong>ESP</strong> node.<br />

Example:<br />

<br />

<br />

<br />

This rule fails if the indexed content in this data center is not up to date with the primary data<br />

center.<br />


Option<br />

IndexingSuspended<br />

SearchQuery<br />

FeedingProxyDiskShortage<br />

FeedingProxyErrorQueue<br />

FeedingProxyFeedingQueues<br />

IndexAlwaysGrows<br />

Description<br />

This rule fails if indexing is suspended on one or more node.<br />

Example:<br />

<br />

This rule performs a search for all documents in a collection or view and fails if the result set<br />

count is not in the range given by the attributes minResultSet and maxResultSet.<br />

Attributes:<br />

• minResultSet - The minimum document count in the result set.<br />

• maxResultSet - The maximum document count in the result set.<br />

• qrserverHost - The hostname of the QRServer to use. If not provided, the query will be<br />

performed on all QRServers.<br />

• qrserverPort - The port of the QRServer to use. Must be provided if the QRServer hostname<br />

is given.<br />

• collection - The collection to search in.<br />

• view - The view to search in, can not be set if collection is set.<br />

Example:<br />

<br />

This rule fails if the feeding proxy expects to run out of disk within the given time frame in days.<br />

Example:<br />

<br />

<br />

Fails if the size error-batch queue the the feeding proxy is larger than the attribute<br />

maxErrorBatches.<br />

Example:<br />

<br />

<br />

This rule fails if the size of the queue of not yet indexed document batches is larger than the<br />

attribute maxOutstandingBatches.<br />

Example:<br />

<br />

<br />

Fails if the document count of the index is less than the previous recording of the document<br />

count.<br />

Example:<br />

Monitoring tool<br />

<br />

119


Chapter<br />

12<br />

Deleting documents from an index<br />

Topics:<br />

• Deleting a single document from<br />

the index (option 1)<br />

• Deleting a list of documents in<br />

one operation (option 2)<br />

• Deleting documents from an<br />

index (option 3)<br />

This section describes possible ways to delete documents from an index.


<strong>FAST</strong> Enterprise Search Platform<br />

122<br />

Deleting a single document from the index (option 1)<br />

This procedure is suitable for deleting a single document from the index.<br />

Note: If either option 1 or option 2 is used for a collection configured with a crawler, the crawler might<br />

later re-add the document you removed if the document has changed. Option 3 should be used instead<br />

in this case.<br />

1. Make sure the environment variables are set correctly. On Windows, the environment variables have<br />

already been set.<br />

On UNIX:<br />

cd $<strong>FAST</strong>SEARCH/bin<br />

. setupenv.sh<br />

2. Use the command-line utility called docpush located in the $<strong>FAST</strong>SEARCH/bin directory. For example:<br />

cd $<strong>FAST</strong>SEARCH/bin<br />

./docpush -c -d -U http://www.xyz.com/<br />

The document ID you use when deleting is the same you used when adding the document. A search result<br />

will contain a field called "contentid" that contains this ID<br />

Deleting a list of documents in one operation (option 2)<br />

This procedure is suitable for deleting a list of documents in one operation.<br />

Note: If either option 1 or option 2 is used for a collection configured with a crawler, the crawler might<br />

later re-add the document you removed if the document has changed. Option 3 should be used instead<br />

in this case.<br />

1. Make sure the environment variables are set correctly. On Windows, the environment variables have<br />

already been set.<br />

On UNIX:<br />

cd $<strong>FAST</strong>SEARCH/bin<br />

. setupenv.sh<br />

2. Create a text file containing all the internal document IDs of the documents you want to delete, one line<br />

per document ID. The internal document ID can be found by performing a search.<br />

The result field 'internalid' will contain the internal ID for the document. An example of an internal ID is<br />

c29904ed59ba5bbbd6c84a08a672e1af_generic.<br />

If you use the default search front-end (Search view from the <strong>FAST</strong> <strong>ESP</strong> administrator interface), select<br />

Advanced Controls and enable Show All Fields before searching.<br />

3. Use the indexeradmin command to submit the delete operation:<br />

$<strong>FAST</strong>SEARCH/bin/indexeradmin rdocs <br />

<br />

For example:<br />

indexeradmin rdocs /home/fast/docids.txt generic 1<br />

Refer to the indexeradmin tool chapter.


Deleting documents from an index (option 3)<br />

This procedure should be used when deleting documents that were added by the <strong>FAST</strong> Enterprise Crawler<br />

Refer to the Crawler <strong>Guide</strong> for detailed information on the crawleradmin and postprocess commands.<br />

1. Change the crawler configuration. Add any URIs or hosts you wish to remove to Exclude URIs or Host<br />

Excludes, respectively.This is to prevent the crawler from re-adding the documents after you have deleted<br />

them<br />

2. Apply the configuration changes. Do one of the following:<br />

• Click Apply in the administrator interface, if you changed the crawler configuration in the GUI.<br />

• Run crawleradmin -f if you changed the crawler configuration in<br />

an XML file.<br />

3. Stop the crawler by issuing the command:<br />

nctrl stop crawler<br />

4. Verify that all crawler processes have stopped by issuing the command:<br />

ps -auxwww | grep crawl<br />

5. Run the following command:<br />

postprocess -x -X -I master -R <br />

6. Start the crawler by issuing the command:<br />

nctrl start crawler<br />

Deleting documents from an index<br />

123


Chapter<br />

13<br />

Real-time search tuning<br />

Topics:<br />

• About real-time search tuning<br />

• Real-time search tuning<br />

configuration file<br />

• Optimizing for query performance<br />

• Reducing memory footprint<br />

• Reducing index latency<br />

This section provides information on how to tune RTS.


<strong>FAST</strong> Enterprise Search Platform<br />

126<br />

About real-time search tuning<br />

The default configuration for the search engine represents a balance between indexing latency, search<br />

performance and resource usage (disk/memory). Certain applications require the search installation to be<br />

optimized in one of these directions.<br />

Real-time search tuning configuration file<br />

The rtsearchrc.xml configuration file provides many low-level configuration parameters for tuning search<br />

engines. Each search engine cluster in the system has its own configuration file. A search engine cluster<br />

consists of a set of search rows/columns that share the same index profile. The default search engine cluster<br />

is named webcluster. It should also be noted that some of the real-time search tuning can be made while the<br />

search engine is up an running through the indexeradmin and searchadmin tools.<br />

The rtsearchrc.xml file is located on the server node where the configuration server is running, in the following<br />

directory:<br />

$<strong>FAST</strong>SEARCH/etc/config_data/RTSearch//rtsearchrc.xml<br />

where is the name of the search engine cluster.<br />

Caution! This configuration file contains many low-level configuration parameters that should normally not<br />

be modified. Do not change any other parameters than those described in this chapter without consulting<br />

<strong>FAST</strong> Solution Services.<br />

If you change this configuration file, it is necessary to restart all the search nodes within your installation.<br />

If you have more extensive tuning needs than described here, contact <strong>FAST</strong> Solution Services.<br />

Optimizing for query performance<br />

Parameter<br />

docsDistributionPst<br />

docsDistributionMax<br />

docsDistributionMaxMB<br />

Recommended value<br />

"100,100,90,80"<br />

""<br />

"-1"<br />

Description<br />

Refer to the detailed description in the Reducing index latency<br />

section. The indicated recommended value will imply slightly<br />

reduced indexing latency, but may imply a slight query performance<br />

improvement for large indices (million documents or more).<br />

Refer to docsDistributionPst in Reducing memory footprint.<br />

If set, this configures a maximum number of documents for each<br />

partition. The configuraiton is given as a comma-separated string,<br />

use "-" to signify no limit. For example, the value "-,1000,1000" will<br />

limit partitions 1 and 2 to at most 1000 documents each. When the<br />

limit is reached for all partitions, no more documents will be<br />

indexed.<br />

If set, this will limit the amount of documents in a single partition,<br />

based on the memory used by the indexing and search processes.<br />

The indexer measures how much memory is used per document<br />

during indexing and search, on average. This value is then used<br />

to calculate a maximum number of documents per partition, based<br />

on the configured max MB limit set by this parameter. For example,<br />

setting this parameter to 1000, will limit each partition to max 1000


Parameter<br />

fsearchCachePstDist<br />

indexActivationDelay<br />

partitionCachePstDist<br />

blacklistInterval<br />

maxBlacklistInterval<br />

Recommended value<br />

Description<br />

MB. If search uses 1000 bytes per document, this will limit the<br />

number of documents to 1 million. When the limit is reached for<br />

all partitions, no more documents will be indexed.<br />

"1,13,27,13,1,13,7,5,5,5,5,5"<br />

Use to adjust each cache size that reside within fsearch. The 12<br />

numbers adjust the following caches: BitVectorCacheSize,<br />

BooloccCacheSize, DictCacheSize, DocumentInfoCacheSize,<br />

FilteroccCacheSize, IntoccCacheSize,<br />

IntRangeBitVectorCacheSize, PhraseCacheSize, resultcachesize,<br />

resultattributescachesize, PosoccCacheSize and<br />

PhraseIdxCacheSize.<br />

"0"<br />

""<br />

"20"<br />

"600"<br />

Reducing memory footprint<br />

Parameter<br />

docsDistributionPst<br />

docsDistributionMax<br />

Recommended<br />

value<br />

Description<br />

This parameter is used to introduce an artificial delay before<br />

activating the search process for a newly created index on a search<br />

node. This delay is done during the startup of the new fsearch<br />

process, thus providing a means to ensure that this startup stage<br />

takes the same time on all search nodes. When this parameter is<br />

zero, no such delay is used. Care should be taken to ensure that<br />

the delay is longer than the time it usually takes to start fsearch.<br />

A warning will be logged when a non-zero delay is shorter than<br />

the time it takes for fsearch to start up.<br />

This parameter can be used to adjust the percent of<br />

maxMBCacheSize to dedicate to each partition. Enter integer<br />

numbers in a comma separated string. The numbers represent<br />

the percentage per partition, starting with the smallest index on<br />

the left.<br />

The interval (in seconds) to check the blacklist dirty bit and rebuild<br />

the blacklist index, for one partition at a time. The minimum value<br />

is 5 seconds.<br />

The maximum number of seconds to wait between a complete<br />

rebuild of the blacklist index, irrespective of the blacklist dirty bit.<br />

"100,100,90,80"<br />

Refer to the detailed description in the Reducing index latency section. This is<br />

mainly related to applications with large amount of deep navigators. In such<br />

applications the memory usage will have a non-linear growth related to index<br />

size. Hence, two more evenly sized partitions will consume less memory than<br />

one large partition.<br />

""<br />

Real-time search tuning<br />

The indicated recommended value will imply slightly reduced indexing latency.<br />

If set, this configures a maximum number of documents for each partition. The<br />

configuraiton is given as a comma-separated string, use "-" to signify no limit.<br />

For example, the value "-,1000,1000" will limit partitions 1 and 2 to at most<br />

1000 documents each. When the limit is reached for all partitions, no more<br />

documents will be indexed.<br />

127


<strong>FAST</strong> Enterprise Search Platform<br />

128<br />

Parameter<br />

docsDistributionMaxMB<br />

lowMemoryIndexing<br />

indexerSwapDetect<br />

maxQueueSize<br />

maxMBCacheSize<br />

maxStaticPartitions<br />

minPartitions<br />

maxDynamicPartitions<br />

safetyMemoryPool<br />

docIndexType<br />

Recommended<br />

value<br />

"-1"<br />

"true"<br />

"-a N -t 1000"<br />

"20971520"<br />

"10"<br />

"1" "1" "1"<br />

"1 MB"<br />

"filehash"<br />

Description<br />

If set, this will limit the amount of documents in a single partition, based on the<br />

memory used by the indexing and search processes. The indexer measures<br />

how much memory is used per document during indexing and search, on<br />

average.This value is then used to calculate a maximum number of documents<br />

per partition, based on the configured max MB limit set by this parameter. For<br />

example, setting this parameter to 1000, will limit each partition to max 1000<br />

MB. If search uses 1000 bytes per document, this will limit the number of<br />

documents to 1 million. When the limit is reached for all partitions, no more<br />

documents will be indexed.<br />

If set to true, the indexing sub processes will not be allowed to use large buffer<br />

sizes. Typically, it should use around 15 MB of memory, instead of 70 MB. This<br />

will have some impact on indexing performance.<br />

The -a option specifies the fixed memory allocation for the indexer.<br />

"-a N" where (N*1000) indicates the maximum number of documents that may<br />

be handled per partition. The standard value is 10000, but it may be reduced<br />

to save memory footprint if you know that you will not reach more than `n'<br />

documents within this column (more precisely within the largest partition).<br />

Example: To obtain support for up to 2 million documents within the largest<br />

partition:<br />

indexerSwapDetect="-a 2000 -t 1000"<br />

Specify the input queue size in bytes for the internal Search Engine API<br />

operations.<br />

Note that lower value will increase the risk for congestion. Congestion will be<br />

reported via the Content API Callback mechanism.<br />

Default: 268435456 (250 MB)<br />

Maximum megabytes of memory to allow for search engine caching. The<br />

indicated value will reduce the cache from 100 to 10 MB. This will have impact<br />

on search performance.<br />

This change will reduce the number of incremental indexing partitions to 1.This<br />

will have certain impact on latency, and does only have an effect on memory<br />

footprint in smaller data volume installations.<br />

Note that this change implies that for new/updated documents to become<br />

searchable all the previous content will need to be re-indexed. Additionally,<br />

sending in even 1 document will trigger a re-index of all the documents. Hence,<br />

if considering this option it is recommended to use manual indexing<br />

(manualIndexLargerPart="1") or use suspend/resume indexing to prevent the<br />

indexer from starting to index new data before all changes are ready for<br />

indexing.<br />

Memory pool that will be freed if we run out of memory. Used to notify users<br />

and do a controlled shutdown of the Indexer.<br />

Which type of document index to use. Memory-based document index will store<br />

all document ids with accompanying information in memory (in a hash). filehash<br />

is the default, and is an internally developed disk-based hash. gigabase<br />

docindex is not longer supported.


Reducing index latency<br />

Parameter<br />

latency<br />

indexActivationDelay<br />

numberPartitions<br />

Recommended<br />

Value<br />

"normal"<br />

"0"<br />

"3"<br />

Description<br />

This parameter indicates how important latency is for the particular<br />

installation. "low" latency results in an overall increase in the system<br />

resources used to index content, so the system load will be higher.<br />

Valid values: "low", "normal", or "high"<br />

This parameter introduces an artificial delay before activating the<br />

search process for a newly created index on a search node. This<br />

delay is done during the startup of the new fsearch process, thus<br />

providing a means to ensure that this startup stage takes the same<br />

time on all search nodes.When this parameter is zero, no such delay<br />

is used. Be sure that the delay is longer than the time needed to start<br />

fsearch. A warning is logged if a non-zero delay is shorter than the<br />

time it takes for fsearch to start up.<br />

This parameter lists the number of partitions to distribute data across.<br />

Trade-off between freshness, disk size, and QPS. The maximum<br />

number of partitions a node can handle is 8.<br />

docsDistributionPst "100,100,100,100"<br />

This parameter controls the partition-based indexing scheme. In this<br />

scheme, a given percentage of all remaining documents is allocated<br />

to each partition. The largest partition receives a given percentage<br />

of all the documents in this search engine instance, while the second<br />

largest partition calculates its percentage based on the remaining<br />

documents after the largest partition has taken its share.<br />

normalizeDictionary<br />

indexerPriority<br />

normalizeMode<br />

"true"<br />

"high"<br />

"periodic"<br />

Real-time search tuning<br />

The recommended value for highest freshness is "100,100,100,100".<br />

This causes the search engine to perform aggressive incremental<br />

indexing, to try to move documents to the larger index partitions as<br />

fast as possible. This ensures that the smallest partition is kept as<br />

small as possible, and improves latency.<br />

This parameter disables normalization of the Index term dictionaries<br />

between partitions.This parameter provides faster indexing, but may<br />

have substantial impact on dynamic ranking.<br />

Set this parameter to "true" if you are using dynamic ranking. If you<br />

only need static ranking and/or sorting on field values, set it to false<br />

(default).<br />

This parameter increases the operating system priority for the indexer<br />

process. This may in some cases imply improved latency, but the<br />

effect depends on deployment scenario.<br />

Normalization mode. When set to "periodic", new normalized<br />

dictionaries will be generated at periodic intervals, outside of the<br />

normal indexing cycle. This sacrifices correct ranking (it will still be<br />

consistent) for no impact on indexing latency. If set to "synchronous",<br />

a new normalized dictionary will be generated every time a new index<br />

set is activated. This ensures correct ranking scores, but will impact<br />

index latency.<br />

129


Chapter<br />

14<br />

Configuring logging<br />

Topics:<br />

• About configuring logging<br />

• Log levels<br />

• Log destinations<br />

This section describes how to configure log levels in <strong>FAST</strong> <strong>ESP</strong>.


<strong>FAST</strong> Enterprise Search Platform<br />

132<br />

About configuring logging<br />

The <strong>FAST</strong> <strong>ESP</strong> loggers can be configured to direct messages to various destinations, depending on the log<br />

level of the messages or the programs generating them.<br />

The logging configuration file $<strong>FAST</strong>SEARCH/etc/LoggerConfig.xml controls how much logging output is<br />

produced and where. The default LoggerConfig.xml defines a few standard log destinations:<br />

• "server": The system log, which is collected by the log server on the admin node and viewable through<br />

the <strong>FAST</strong> <strong>ESP</strong> administrator interface.<br />

• "file": Local log files in $<strong>FAST</strong>SEARCH/var/log, with log files rotated (archived) based on a size threshold.<br />

• "dailyfile": Local log files as above, but rotated once each night.<br />

• "stdout": The standard output of the process.<br />

The section directs the messages generated by the <strong>FAST</strong> <strong>ESP</strong> components to particular log<br />

destinations. The entry specifies log destinations and log level thresholds that<br />

apply to all programs. Other entries apply to the named "program" only, and those settings override those in<br />

the default entry.<br />

For example:<br />

<br />

<br />

<br />

<br />

<br />

This specifies that the "fsearch" program logs to the named destinations "server", "file" and "stdout". Only<br />

warning, error and critical messages are logged to the log server, while the two other destinations receive all<br />

messages regardless of level.<br />

To use daily log rotation instead of size-based rotation for the local log files, replace with .<br />

To control the amount of space consumed by logs, adjust the log rotation settings in the <br />

entries.<br />

Note: If logs are rotated by size (the "file" destination), there is an absolute bound on the size consumed<br />

by the log. If logs are rotated daily, individual log files could grow arbitrarily large.<br />

To use alternate settings for some programs, create new log destinations with the new settings. For example,<br />

to keep fewer archived log generations for programs generating high volumes of log messages:<br />

. . .<br />

<br />

$<strong>FAST</strong>SEARCH/var/debuglog<br />

1<br />

500000000<br />

<br />

. . .<br />

<br />

<br />

<br />

<br />

. . .<br />

This will log info, warning, error, and critical level messages to "dailyfile" logger, ensuring that (with the default<br />

settings) a 10 day record of the operation of the component is kept. Debug and verbose level messages are<br />

logged to an alternate log which is limited in size.


Log levels<br />

Log levels used in <strong>FAST</strong> <strong>ESP</strong>.<br />

The following table lists log levels (CRITICAL being the most severe) with a brief description.<br />

Log level<br />

CRITICAL<br />

ERROR<br />

WARNING<br />

INFO<br />

VERBOSE<br />

DEBUG<br />

Log destinations<br />

Description<br />

Critical is only used for persistent fault conditions that require immediate operator attendance.<br />

Critical messages indicate that a component fails to provide service or misses the required service<br />

level.<br />

Error is used for persistent fault conditions that the operator should look at within a few hours.<br />

Errors are faults that may have an impact on system performance or service level, but do not stop<br />

the component from providing service.<br />

Warning is used for persistent fault conditions that indicate problems with the system installation<br />

that the operator should know about.Typical usage of Warning is to inform a system operator about<br />

a system condition that over time may degrade system performance or cause the system to fail,<br />

or that indicates a faulty configuration.<br />

Info is used for logging significant and stable state changes in components and services, for instance<br />

start, stop or reconfiguration of components, resources or services.<br />

Verbose is used for logging low level information for component and services that is needed for<br />

tracing and analyzing service and component execution. Verbose gives high level information on<br />

state of processing logic, sessions and jobs as well as content data being processed.<br />

Debug is used for logging component or service level information that has value for developer and<br />

tech-support for analyzing a faulty system, understanding fault conditions or abnormal system<br />

behavior.<br />

Debug is normally disabled in a production system.<br />

Log destinations and options available in <strong>FAST</strong> <strong>ESP</strong>.<br />

filedestination<br />

Stores log messages into local files.<br />

Parameter<br />

directory<br />

backups<br />

rotatesize<br />

rotatetime<br />

Description<br />

The base directory where the log files are stored. For each named "program" producing<br />

log messages, there is a distinct subdirectory holding its log file. Log file names have the<br />

form program/program.log.<br />

The number of archive copies of the log file to save when log files are rotated.<br />

The size in bytes that the log file will grow to before it is rotated.<br />

The time of day when the log file will be rotated.<br />

Configuring logging<br />

133


<strong>FAST</strong> Enterprise Search Platform<br />

134<br />

The default "dailyfile" log destination looks like this:<br />

<br />

$<strong>FAST</strong>SEARCH/var/log<br />

9<br />

0100<br />

<br />

This specifies that logs are created in $<strong>FAST</strong>SEARCH/var/log, that 9 old generations are<br />

kept and the logs are rotated at 0100 each night.<br />

netdestination<br />

Forwards log messages to a remote log server.<br />

Parameter<br />

hostname<br />

port<br />

timeout<br />

retrycount<br />

retryperiod<br />

For example:<br />

Description<br />

The name of the host where the log server is running.<br />

The port number where the log server is listening for connection.<br />

Timeout (seconds) when connecting to log server.<br />

Number of times to retry if attempt to connect fails.<br />

Delay (seconds) before retrying to connect.<br />

<br />

admin.example.domain.com<br />

16010<br />

10<br />

10<br />

20<br />

<br />

stdoutdestination<br />

Sends log messages to the standard output of the process<br />

This log destination has no configurable parameters.<br />

For example:<br />


Chapter<br />

15<br />

nctrl tool<br />

Topics:<br />

• nctrl tool<br />

This section describes the node controller (nctrl) tool.


<strong>FAST</strong> Enterprise Search Platform<br />

136<br />

nctrl tool<br />

Node controller tool.This tool is used to control the nodecontroller that holds the esp processes and to perform<br />

general operation on the components (stop/start/kill/add/remove/suspend/resume).<br />

$<strong>FAST</strong>SEARCH/bin/nctrl [options] [commands]<br />

nctrl options<br />

Option<br />

-h<br />

-v<br />

-l <br />

-C <br />

nctrl commands<br />

Command<br />

start [process 1]...[process n]<br />

stop [process 1]...[process n]<br />

kill [process 1]...[process n]<br />

restart [process 1]...[process n]<br />

sysstatus<br />

add [process]<br />

Description<br />

Displays help information.<br />

Displays version information.<br />

32bit hexadecimal loglevel or one of:<br />

debug, verbose, info, warning, error<br />

Specifies config directory.<br />

Default: $<strong>FAST</strong>SEARCH/etc<br />

Description<br />

Start all or selected processes.<br />

Note that when the nctrl daemon is running, the start command can also start<br />

(resume) suspended processes.When the nctrl daemon is not running, nctrl start<br />

without arguments will not start any processes.<br />

Stop all (including nctrl daemon) or selected processes.<br />

Note that when the nctrl daemon is running, the stop command behaves identically<br />

to the suspend command. The processes will therefore remain stopped<br />

(suspended) even if the nctrl daemon is restarted.<br />

Example: To stop search on all indexer and search nodes:<br />

$<strong>FAST</strong>SEARCH/bin/nctrl stop search-1<br />

Kill (SIGKILL/TerminateProcess) selected processes.<br />

Restart selected processes.<br />

Display services running on the node including their status.<br />

Add another instance of type "process". The process must be configured for<br />

dynamic multiplication.


Command<br />

remove [process]<br />

suspend [process 1]...[process n]<br />

resume [process 1]...[process n]<br />

reloadcfg<br />

Description<br />

nctrl sysstatus output example<br />

Remove a process from configuration. The process must support dynamic<br />

multiplication.<br />

Suspends (stops) the specified processes. The processes must be resumed to<br />

be restarted.<br />

Resumes (starts) the previously suspended processes.<br />

Reloads the configuration for the running daemon from<br />

$<strong>FAST</strong>SEARCH/etc/NodeConf.xml.<br />

The following is a sample of nctrl sysstatus output for a single node installation:<br />

./bin/nctrl sysstatus<br />

Connecting to Node Controller at localhost:16015..<br />

Issuing 'sysstatus' request to Node Controller..<br />

Status for node : test.fast.no<br />

<strong>FAST</strong>SEARCH : /usr/local/datasearch<br />

Disk status : 79% used - 27.22GB free - 97.17GB used - 124.39GB total<br />

Module Name Process Name PID Status<br />

---------------------------- -------------------- -------- -------<br />

Adminserver adminserver 17193 Running<br />

Cache Manager cachemanager 17243 Running<br />

Query Completion Server completionserver 17350 Running<br />

Config Server configserver 17147 Running<br />

Content Distributor contentdistributor 17229 Running<br />

Enterprise Crawler crawler 17652 Running<br />

FDMWorker fdmworker 17239 Running<br />

Web Server httpd 17142 Running<br />

RTS Indexer indexer 17251 Running<br />

Indexing Dispatcher indexingdispatcher 17391 Running<br />

Log Server logserver 17146 Running<br />

Log Transformer logtransformer 17610 Running<br />

Name Service nameservice 17137 Running<br />

Node Controller nctrl 17680 Running<br />

Document Processor procserver_1 20169 Running<br />

QRServer qrserver 20145 Running<br />

Resource Service resourceservice 17206 Running<br />

RTS Search search-1 20095 Running<br />

Storage Service storageservice 17158 Running<br />

WaLinkStorerReceiver walinkstorerreceiver 20077 Running<br />

WALookupDB walookupdb0 20050 Running<br />

WebAnalyzer webanalyzer 17711 Running<br />

nctrl tool<br />

137


Chapter<br />

16<br />

psctrl and doclog tools<br />

Topics:<br />

• psctrl tool<br />

• doclog tool<br />

This section describes the processor controller (psctrl) tool and the document<br />

log (doclog) tool.


<strong>FAST</strong> Enterprise Search Platform<br />

140<br />

psctrl tool<br />

Processor controller tool. This tool is used to control the processor servers.<br />

$<strong>FAST</strong>SEARCH/bin/psctrl [options] [commands]<br />

psctrl options<br />

Option<br />

-C <br />

-P <br />

-v<br />

-h<br />

psctrl commands<br />

Command<br />

doctrace on<br />

doctrace off<br />

debug on<br />

debug off<br />

ping<br />

status<br />

statistics<br />

reset<br />

stop<br />

memprofile on<br />

memprofile off<br />

leakdetect<br />

flushstate<br />

Description<br />

Configuration server host name and port number.<br />

Default: localhost:16005<br />

Only execute commands for this processor server.<br />

Turn on verbose processing.<br />

Displays help information.<br />

Description<br />

Enable document tracing.<br />

Disable document tracing.<br />

Log at debug level.<br />

Log at status level.<br />

Ping the processor server to check if it is alive.<br />

Get the status from the processor server.<br />

Get the statistics from the processor server.<br />

Reset the container and reload modules.<br />

Shutdown processor server.<br />

Enable memory profiling for processors and pipelines.<br />

Disable memory profiling.<br />

A memory status/leakage report is written to stderr.<br />

Flush internal state in document processors.


doclog tool<br />

Document log. Get the status and the log of recently processed documents. By default, the logs from all<br />

processor servers registered with the configuration server are aggregated.<br />

$<strong>FAST</strong>SEARCH/bin/doclog [options] [commands]<br />

doclog options<br />

Option<br />

-C <br />

-P <br />

doclog commands<br />

Command<br />

-l<br />

-a<br />

-b<br />

-e<br />

-h<br />

Description<br />

Description<br />

Configuration server host name and port number.<br />

Default: default is loaded from $<strong>FAST</strong>SEARCH/etc/CSLocation.xml with<br />

fallback to localhost:16005<br />

Poll this processor server only.<br />

List IDs for which a document log is available per server. An ID may appear on several<br />

servers.<br />

Show all available document logs. The most recent log per ID is shown.<br />

Show all available batch logs.<br />

Show all document logs with errors.<br />

Displays help information.<br />

doclog and psctrl usage example<br />

To force reprocessing on all collected documents and logging of document processor activity, the crawler is<br />

stopped and debugging information is logged:<br />

psctrl status<br />

psctrl doctrace on<br />

psctrl debug on<br />

nctrl stop crawler<br />

postprocess –I master –R –v > ..\pp.log<br />

doclog -a<br />

psctrl and doclog tools<br />

141


Chapter<br />

17<br />

collection-admin tool<br />

Topics:<br />

• About collection-admin tool<br />

• collection-admin tool usage<br />

• Add or create collection<br />

• Modify collection<br />

• View collection<br />

• List collections<br />

• Delete collection<br />

• View pipeline stages<br />

• List all pipelines<br />

• List all modules<br />

• List all datasources<br />

• List all clusters<br />

• Clear collection<br />

• Global options for<br />

collection-admin<br />

This section describes the collection-admin tool.


<strong>FAST</strong> Enterprise Search Platform<br />

144<br />

About collection-admin tool<br />

This administration tool can be used to perform <strong>FAST</strong> <strong>ESP</strong> administrative tasks regarding collections from a<br />

UNIX or Windows command-line.<br />

collection-admin tool usage<br />

This tool can be executed on any <strong>FAST</strong> <strong>ESP</strong> node. The collection-admin tool reads<br />

$<strong>FAST</strong>SEARCH/etc/esp4j.properties to find the location of the Adminserver and the default user/password<br />

for logging in to the Adminserver.<br />

The general command syntax for collection-admin is collection-admin <br />

[option]<br />

where indicates the requested operation, such as listing collections<br />

(listcollections). Some operations require options such as providing a collection name or<br />

pipeline. All available options (preceded with a single ‘-’) are listed for each operation. The<br />

operation is specified with the -m option. The available operations are listpipelines,<br />

viewpipeline, listmodules, listclusters, listdatasources, modcollection, addcollection,<br />

listcollections, viewcollection, and delcollection.<br />

Commands are case-sensitive.<br />

collection-admin tool example<br />

To list all collections:<br />

collection-admin -m listcollections<br />

Add or create collection<br />

addcollection Options<br />

$<strong>FAST</strong>SEARCH/esp4j/bin/collection-admin -m addcollection [options] [common-options]<br />

Option<br />

-n <br />

-s <br />

-p <br />

Description<br />

Required. Collection name.<br />

Associate a data source with the specified collection.<br />

You would only associate a crawler, not a DB connector or other push API as they do<br />

not run as a service. The crawler port can be found on the System Overview screen.You<br />

can also use the ‘listdatasources’ option to list all data source modules.<br />

Required. Associate the collection with the specified document processing pipeline<br />

(pipeline name).<br />

The cluster must always be part of the pipeline name. For example:<br />

-p "SiteSearch (webcluster)"


Option<br />

-d <br />

-c <br />

Modify collection<br />

Description<br />

Create a collection example<br />

Set an optional description for the collection.<br />

Required. Associate a search engine cluster with the collection.<br />

Create a collection named mycollection using the SiteSearch pipeline and the default<br />

Search Cluster (webcluster):<br />

bin$ ./collection-admin -m addcollection -n mycollection -p "SiteSearch<br />

(webcluster)" -d "MyCollection" -c webcluster<br />

19.418[--------------]100% Successfully deployed collection: mycollection<br />

modcollection Options<br />

$<strong>FAST</strong>SEARCH/esp4j/bin/collection-admin -m modcollection [options] [common-options]<br />

Option<br />

-n <br />

-s <br />

-p <br />

-d <br />

View collection<br />

viewcollection Options<br />

Description<br />

Required. Collection name.<br />

Associate a data source with the specified collection.<br />

You would only associate a crawler, not a DB connector or other push API as they do not<br />

run as a service. The crawler port can be found on the System Overview screen.You can<br />

also use the ‘listdatasources’ option to list all data source modules.<br />

Associate the collection with the specified document processing pipeline (pipeline name).<br />

The cluster must always be part of the pipeline name. For example:<br />

-p "SiteSearch (webcluster)"<br />

Set an optional description for the collection.<br />

$<strong>FAST</strong>SEARCH/esp4j/bin/collection-admin -m viewcollection -n [common-options]<br />

Option<br />

-n <br />

Description<br />

View collection information example<br />

Required. Collection name.<br />

bin$ ./collection-admin -m viewcollection -n mycollection<br />

Name: mycollection<br />

collection-admin tool<br />

145


<strong>FAST</strong> Enterprise Search Platform<br />

146<br />

List collections<br />

Valid: yes<br />

Description: My Collection<br />

Cluster: webcluster<br />

Pipeline: SiteSearch (webcluster)<br />

Datasource: N/A<br />

listcollections Options<br />

$<strong>FAST</strong>SEARCH/esp4j/bin/collection-admin -m listcollections [-o] [common-options]<br />

Option<br />

-o<br />

Delete collection<br />

Description<br />

List all collections example<br />

Sort collections by name.<br />

bin$ ./collection-admin -m listcollections<br />

Collections:<br />

# Name<br />

- ------------<br />

1 mycollection<br />

2 anothercollection<br />

delcollection Options<br />

$<strong>FAST</strong>SEARCH/esp4j/bin/collection-admin -m delcollection -n <br />

Option<br />

-n <br />

Delete collection example<br />

Description<br />

Required. Collection name.<br />

bin$ ./collection-admin -m delcollection -n mycollection<br />

72.646 [----------------------------------->]100% Successfully undeployed<br />

collection: mycollection<br />

View pipeline stages<br />

viewpipeline Options<br />

$<strong>FAST</strong>SEARCH/esp4j/bin/collection-admin -m viewpipeline -p [options]<br />

[common-options]


Option<br />

-p <br />

-o<br />

List all pipelines<br />

listpipeline Options<br />

Description<br />

Required. Pipeline name.<br />

The cluster must always be part of the pipeline name. For example:<br />

-p "SiteSearch (webcluster)"<br />

Sort by pipeline name.<br />

$<strong>FAST</strong>SEARCH/esp4j/bin/collection-admin -m listpipelines [options] [common-options]<br />

Option<br />

-o<br />

List all modules<br />

listmodules Options<br />

Description<br />

Sort by pipeline name.<br />

$<strong>FAST</strong>SEARCH/esp4j/bin/collection-admin -m listmodules [options] [common-options]<br />

Option<br />

-a<br />

-l<br />

-t <br />

-o<br />

Description<br />

List all modules (default).<br />

List all module types.<br />

List only modules of the specified type.<br />

Sort by module name.<br />

The following module types are defined in a standard installation:<br />

• SearchDispatcher - search dispatcher<br />

• IndexingDispatcher - indexing dispatcher<br />

• NodeControl - node controller<br />

• CacheManager - cache manager<br />

• ResourceService<br />

• ProcessorServer - processor server module (document processing)<br />

• FilterAlerter - alert engine<br />

• ContentDistributor - content distributor module<br />

• WebAnalyzer - analysis linking<br />

• DataSource - Data sources (the Enterprise crawler is listed for this module type)<br />

• DeploymentManager - deployment manager<br />

• Search Engine - search engine and search dispatcher<br />

• RelBench<br />

collection-admin tool<br />

147


<strong>FAST</strong> Enterprise Search Platform<br />

148<br />

• FilterInterface<br />

List all datasources<br />

listdatasources Options<br />

$<strong>FAST</strong>SEARCH/esp4j/bin/collection-admin -m listdatasources [options] [common-options]<br />

Option<br />

-o<br />

List all clusters<br />

listclusters Options<br />

Description<br />

Sort by module name.<br />

$<strong>FAST</strong>SEARCH/esp4j/bin/collection-admin -m listclusters [options] [common-options]<br />

Option<br />

-o<br />

Clear collection<br />

Description<br />

Sort by cluster name.<br />

The clearcollection option removes all documents in a collection from the index. While documents are being<br />

removed it will not be possible to submit documents to the content API or content distributor.<br />

$<strong>FAST</strong>SEARCH/esp4j/bin/collection-admin -m clearcollection -n <br />

Option<br />

-n <br />

Clear collection example<br />

Description<br />

Required. Collection name.<br />

bin$ ./collection-admin -m clearcollection -n mycollection<br />

65.513 [--------------------------------------] 100% Successfully cleared<br />

collection mycollection<br />

Global options for collection-admin<br />

Use these options when invoking collection-admin.<br />

Option<br />

-B <br />

Description<br />

Baseport for <strong>FAST</strong> <strong>ESP</strong> installation.


Option<br />

-D<br />

-h<br />

-H <br />

-L<br />

-O <br />

-U <br />

-P <br />

-v<br />

Description<br />

Debug mode, DEBUG level logging to CONSOLE.<br />

Print the help message.<br />

Host for <strong>FAST</strong> <strong>ESP</strong> Adminserver.<br />

Verbose mode, INFO level logging to CONSOLE.<br />

Port for <strong>FAST</strong> <strong>ESP</strong> Adminserver.<br />

Username for <strong>FAST</strong> <strong>ESP</strong> Adminserver.<br />

Password for <strong>FAST</strong> <strong>ESP</strong> Adminserver.<br />

Version of collection-admin program.<br />

collection-admin tool<br />

149


Chapter<br />

18<br />

indexeradmin, indexerinfo and searchadmin tools<br />

Topics:<br />

• indexeradmin tool<br />

• indexerinfo tool<br />

• searchadmin tool<br />

This section describes the indexer configuration and action (indexeradmin) tool,<br />

the indexer information (indexerinfo) tool, and the searchcontroller configuration<br />

and action (searchadmin) tool.


<strong>FAST</strong> Enterprise Search Platform<br />

152<br />

indexeradmin tool<br />

Indexer configuration and action tool.<br />

$<strong>FAST</strong>SEARCH/bin/indexeradmin [options] [command options]<br />

Note: Changes made to the configuration are not persisted to the configuration file, which means that<br />

they are lost when restarting the indexer. For permanent indexer configuration changes, refer to the real<br />

time search tuning documentation.<br />

indexeradmin options<br />

Option<br />

-a<br />

-h or --help<br />

-v or --version<br />

--clustername<br />

--subsystem<br />

--columnid=<br />

--row=<br />

Default<br />

webcluster<br />

indexing<br />

indexeradmin commands<br />

Command<br />

blacklistinterval <br />

cleancollection <br />

defragfixml<br />

disabledebug<br />

disableft<br />

enabledebug<br />

enableft<br />

0<br />

0<br />

Description<br />

Description<br />

Run commands for all indexers (columns) in cluster.<br />

Print help.<br />

Display version information and exit.<br />

Identifies the name of the current search cluster.<br />

Identifies the name of the subsystem.<br />

Identifies the indexer column (column id), starting with 0 (zero).<br />

The rowid and columnid can be found from the Matching Engines screen<br />

in the administrator interface. Select the appropriate Search Column<br />

and select Status Details. The row/column ID is displayed.<br />

Identifies the indexer row (row id), starting with 0 (zero).<br />

The number of seconds to wait between sending information about deleted<br />

documents to the search processes. Low values mean better latency for remove<br />

operations, but higher system load.<br />

This will remove all documents of the collection given as argument.<br />

Compacts the data_fixml folder, but during normal operations, the regular periodic<br />

cleanup should be sufficient.<br />

Disables debug logging.<br />

Disables fault-tolerance for a specific indexer. Can be used to temporarily remove<br />

an indexer from an indexing column for maintenance.<br />

Enables debug logging for troubleshooting.<br />

Re-enables fault-tolerance for an indexer inside an indexing column.


Command<br />

flushsparequeues<br />

forcecleanup<br />

forceftstoragecleanup<br />

ftmaxstoragesize <br />

ftmaxfailures <br />

indexdelay <br />

makedynamic <br />

makestatic <br />

nextindextrigger <br />

purgedata<br />

purgeerrors<br />

rdocs <br />

<br />

reprocessft<br />

resetindex<br />

resume<br />

resumedocapi<br />

resumeheartbeat<br />

resumeindexing<br />

reindex <br />

selfcheck<br />

Description<br />

Empties all operation queues from indexer, should normally never be necessary.<br />

Forces an immediate cleanup cycle (the normal cleanup interval is 3-5AM), which<br />

flushes the errors&warnings data to disk, and compacts the data_fixml folder. Will<br />

potentially take a while to complete, and introduce a latency penalty while ongoing.<br />

Forces a fault tolerant cleanup. Per default, the storage is cleaned with one hour<br />

intervals.<br />

Sets the size of the fault-tolerant operation store, which determines how much<br />

downtime the system can survive. Value in MBs.<br />

Sets the number of failures from indexer rows that the system will tolerate and still<br />

proceed.<br />

The number of seconds to wait after there are un-indexed documents, before starting<br />

indexing. Low values mean better latency, but more indexing activity, thus more<br />

load on the machine.<br />

Opens up a partition for indexing, if it is static.<br />

Blocks indexing for a partition, and all partitions above it. Partition will never be<br />

re-indexed.<br />

Deprecated. Not used in default configuration.<br />

Deletes all content from the indexer.<br />

Flushes all document errors and warnings to disk, to var/document_errors.txt and<br />

var/document_warnings.txt.<br />

Not used for <strong>FAST</strong> <strong>ESP</strong>.<br />

If fault-tolerance is used, this command forces the indexer to replay all stored<br />

operations from the disk storage.<br />

Note: This is a reserved command, only intended for internal testing purposes.<br />

Re-indexes all content from raw data (fixml), resulting in a distribution of documents<br />

equal to the distribution percentage specified in the configuration.<br />

Resumes a suspended indexer.<br />

Enables content feeding if suspended.<br />

Resumes the periodic check for a master indexer.<br />

Resumes indexing on a suspended indexer.<br />

Reindex the partition given as argument.<br />

Performs an indexer status and content consistency check.<br />

indexeradmin, indexerinfo and searchadmin tools<br />

153


<strong>FAST</strong> Enterprise Search Platform<br />

154<br />

Command<br />

setdistpercent <br />

<br />

setdoctrigger <br />

<br />

setftstoragecleanupinterval<br />

setsilothreshold<br />

stop<br />

suspend<br />

suspenddocapi<br />

suspendheartbeat<br />

suspendindexing<br />

tracemode {enable,disable}<br />

indexeradmin commands<br />

indexerinfo tool<br />

Bulk loading example<br />

Description<br />

Sets the percentage of documents within a partition.<br />

Set the doc count trigger within for a partition.<br />

Changes the fault tolerant cleanup interval. Default is 3600 seconds.<br />

Sets the threshold for the creation of a silo index. Not supported.<br />

Use nctrl stop indexer instead of this command.<br />

This command halts the processing, the persistence to disk (causing fixml generation<br />

also to halt, refer to Content ), and the indexing of documents.<br />

Additionally, the data/data_fixml folder is prepared for backup. It does not flush the<br />

document queue. The documents that are not yet persisted by the indexer will stay<br />

in the queue, and they will be processed when the indexer is resumed.<br />

Suspends the docapi queue (disallows new content).<br />

Suspends the periodic check for a master indexer. This command makes the<br />

shutdown order of indexers in a fault tolerant system irrelevant, as the ability of a<br />

backup indexer to become a master is disabled.<br />

Suspends indexing (while fixml generation continues).<br />

A suspended indexer will not start any new indexing jobs, and will not accept any<br />

operations.<br />

The indexer continues to receive and persist documents while indexing is suspended.<br />

This command is useful when backing up the data/data_index folder and for saving<br />

system resources with massive document submits.<br />

Enabling tracemode makes the indexer produce a detailed trace log of all activities.<br />

Contact <strong>FAST</strong> Technical Support before using this command.<br />

Since the indexeradmin commands are asynchronous, nder heavy content load<br />

indexeradmin commands make take some time before actually taking effect. This can<br />

sometimes be useful, as in the case of bulk loading:<br />

indexeradmin ... suspendindexing filetraverser<br />

... indexeradmin ... resumeindexing<br />

In this case the indexer is guaranteed not to resume indexing until after the filetraverser<br />

finishes pushing data.<br />

Indexer information tool. This tool is used to retrieve information the indexer holds.<br />

$<strong>FAST</strong>SEARCH/bin/indexerinfo [options] [command options]


indexerinfo options<br />

Option<br />

-h or --help<br />

-v or --version<br />

-V<br />

--clustername<br />

--subsystem<br />

--columnid<br />

--row<br />

Default<br />

indexerinfo commands<br />

Command<br />

doccount [collection]<br />

apiqueuesize<br />

reportcontents [collection]<br />

fixmlfillrate<br />

listcontrollers<br />

hasdocument [document]<br />

webcluster<br />

indexing<br />

0<br />

0<br />

Description<br />

Description<br />

Print help.<br />

Displays version level of information.<br />

Provides verbose level of information.<br />

Identifies the name of the current search cluster.<br />

Identifies the name of the subsystem.<br />

Identifies the indexer column (column id), starting with 0 (zero).<br />

The rowid and columnid can be found from the Matching Engines screen<br />

in the administrator interface. Select the appropriate Search Column and<br />

select Status Details. The row/column ID is displayed.<br />

Identifies the indexer row (row id), starting with 0 (zero).<br />

Returns the number of documents. If a collection is specified, return the document count<br />

for that collection.<br />

Example: To get the number of indexed documents in a collection,<br />

./indexerinfo doccount User1Test<br />

There are 46 docs in the collection<br />

User1Test. SUCCESS.<br />

Returns the number of batches in the indexer API queue, i.e. unprocessed batches.<br />

Example: To get indexer API queue size,<br />

./indexerinfo apiqueuesize The<br />

indexer reports 0 items in the api<br />

queue.<br />

SUCCESS.<br />

Returns a list of all documents, either for the indexer as a whole, or for a specific collection.<br />

Contents are reported as internal ids.<br />

Example: To dump all internal ids in a collection,<br />

./indexerinfo reportcontents<br />

User1Test<br />

Identifies the amount of valid (active) documents vs. the amount of invalidated<br />

(deleted/updated) documents. When a document is removed or updated, the old version<br />

is not removed immediately. Very low fill rates can impact indexing performance.<br />

Lists all search nodes connected to the indexer.<br />

indexeradmin, indexerinfo and searchadmin tools<br />

Checks if an indexer contains a specific document. Document identifier is the internal _ id.<br />

155


<strong>FAST</strong> Enterprise Search Platform<br />

156<br />

Command<br />

activeindexset<br />

sparequeuesize<br />

searchadmin tool<br />

Description<br />

Reports the current active index set on the indexer .<br />

Example: To get active index set<br />

./indexerinfo activeindexset Active<br />

index set on indexer is 0_0,1_0,2_1<br />

Returns the number of operations in the spare queue.<br />

Searchcontroller configuration and action tool.The searchcontroller configuration should be looked at. Changes<br />

made to the configuration are not persisted to the configuration file, which means that they are lost when<br />

restarting the searchcontroller. Some commands are asynchronous and use the same operation queue as<br />

the indexer.<br />

$<strong>FAST</strong>SEARCH/bin/searchradmin [options] [command options]<br />

searchadmin options<br />

Option<br />

-a<br />

-h or --help<br />

-v or --version<br />

--clustername<br />

--subsystem<br />

--columnid<br />

--row<br />

Default<br />

webcluster<br />

indexing<br />

searchadmin commands<br />

Command<br />

restartfsearches<br />

setfsearchcachedistribution<br />

<br />

0<br />

0<br />

Description<br />

Description<br />

Run commands for all searchcontrollers (columns) in cluster.<br />

Print help.<br />

Display version information and exit.<br />

Identifies the name of the current search cluster.<br />

Identifies the name of the subsystem.<br />

Identifies the indexer column (column id), starting with 0 (zero).<br />

The rowid and columnid can be found from the Matching Engines screen<br />

in the administrator interface. Select the appropriate Search Column and<br />

select Status Details. The row/column ID is displayed.<br />

Identifies the indexer row (row id), starting with 0 (zero).<br />

This will restart the fseaches already running on the active index set. Note: This means<br />

that there will be some downtime no search.<br />

This will set the fsearch cache distribution. Used to adjust each cache size that reside<br />

within fsearch. The 12 (ex: "1,13,27,13,1,13,7,5,5,5,5,5") numbers adjust the following<br />

caches: BitVectorCacheSize, BooloccCacheSize, DictCacheSize,<br />

DocumentInfoCacheSize, FilteroccCacheSize, IntoccCacheSize,


Command<br />

setpartitioncachedistribution<br />

<br />

blacklist <br />

blacklist <br />

<br />

makestandalone<br />

connecttoindexer<br />

Description<br />

IntRangeBitVectorCacheSize, PhraseCacheSize, resultcachesize,<br />

resultattributescachesize, PosoccCacheSize and PhraseIdxCacheSize.<br />

Example: Set the fsearch cache distribution,<br />

./searchadmin setfsearchcachedistribution<br />

5,20,5,20,4,20,6,4,4,6,4,2<br />

This will set the partition cache distribution. Used to adjust the percent of<br />

maxMBCacheSize to dedicate to each partition. Enter integer numbers in a comma<br />

separated string.The numbers represent the percentage per partition, starting with the<br />

smallest index on the left.<br />

Example: Set the partition cache distribution,<br />

./searchadmin setpartitioncachedistribution 1,1,98<br />

This will blacklist the documents listed in the inputfile.<br />

indexeradmin, indexerinfo and searchadmin tools<br />

This will blacklist the document with docid for a given partition and generation.<br />

This will be the searchcontroller standalone (will not be connected to the indexer).<br />

This will make searchcontroller connect to the indexer (this is the opposite of<br />

makestandalone).<br />

157


Chapter<br />

19<br />

boostbt tool<br />

Topics:<br />

• boostbt tool<br />

• boostbt tool command line<br />

options<br />

• Commands with arguments<br />

• Output commands<br />

• Administrative commands<br />

• boostbt examples<br />

This section describes the boost bulk tool named boostbt.


<strong>FAST</strong> Enterprise Search Platform<br />

160<br />

boostbt tool<br />

The boost bulk tool, boostbt, allows you to read boost information from XML files in the legacy format, or in<br />

the <strong>FAST</strong> <strong>ESP</strong> format, which is aware of views and search profiles. It also allows you to download (export)<br />

or convert boosts to the <strong>FAST</strong> <strong>ESP</strong> format, and upload the boosts in both formats to the Boosts and Blocks<br />

Service in <strong>FAST</strong> <strong>ESP</strong>, with optional deployment or publishing. Information on views and collections (or search<br />

profiles) can be read from the input file, or be overridden with command-line options.<br />

boostbt tool command line options<br />

boostbt: [options] upload|deploy|publish|convert|validate|download|delete|reset|dtd <br />

... <br />

Option<br />

--espbaseport or -B<br />

<br />

--debug or -D<br />

--help or -E<br />

--esphost= or -H <br />

--verbose or -L<br />

--espport or -O <br />

--pass or -P <br />

--user= or -U <br />

--version or -v<br />

--collection or -c<br />

--legacy or -l<br />

--searchprofile or -s<br />

<br />

--type or -t<br />

--view or -V<br />

Description<br />

Specify the baseport for the <strong>FAST</strong> <strong>ESP</strong> installation. In a multi node<br />

installation, this is the base port of the admin node (the node running<br />

Configserver and Adminserver).<br />

Print debug output to the console.<br />

Print the help text.<br />

Specify the host running the <strong>FAST</strong> <strong>ESP</strong> Adminserver.<br />

Print verbose output to the console.<br />

Specify the port of the <strong>FAST</strong> <strong>ESP</strong> Adminserver. Use this option instead of<br />

the --espbaseport option if the Adminserver is using a non-standard port.<br />

The standard port for the Adminserver is +3089. If the <strong>FAST</strong> <strong>ESP</strong><br />

installation uses 13000 as its base port, --espbaseport=13000 and<br />

--espport=16089 are the same.<br />

Specify the password for the <strong>FAST</strong> <strong>ESP</strong> Adminserver. Used for<br />

authentication.<br />

Specify the username for the <strong>FAST</strong> <strong>ESP</strong> Adminserver. Used for<br />

authentication.<br />

Print the version number.<br />

Select collection, overrides any collection information in input.<br />

Specify that the input is in the legacy format.<br />

Specify the search profile; overrides any search profile information in input.<br />

doc (document boosts) or query (query boosts).<br />

Select view, overrides any view information in input.


Commands with arguments<br />

Description of command options for boostbt<br />

Command<br />

publish<br />

upload<br />

deploy<br />

convert<br />

validate<br />

delete<br />

Argument<br />

--force or -f<br />

Output commands<br />

boostbt output commands<br />

Command<br />

convert<br />

validate<br />

download<br />

dtd<br />

Description<br />

Administrative commands<br />

boostbt administrative commands<br />

Upload boosts and publish them (deploy to both preview and published view).<br />

Upload boosts into boost database. If the -s (--searchprofile) option is specified, deploy to<br />

preview view of the specified profile. Otherwise, do not deploy to any view.<br />

Deploy uploaded boost and blocks to the views, or to the selected views/search profiles<br />

given by --view or --searchprofile.<br />

Convert legacy boosts to the new format. Use the --output option to specify the output<br />

filename.<br />

Validate input by parsing it, and applying set collection or view/search profile. Useful for<br />

inspecting what will be shipped to the <strong>FAST</strong> <strong>ESP</strong> Adminserver.<br />

Mark boosts defined in the input file for deletion. Use the deploy command to deploy the<br />

deletes.<br />

Deploy all boosts in view, collection or search profile, possibly redeploying any boosts that<br />

may already be deployed.<br />

Description<br />

Prints input in <strong>FAST</strong> <strong>ESP</strong> format. Implies --legacy.<br />

Prints the validated input.<br />

Download either all boosts, or boosts from the selected search profile, collection or<br />

view.<br />

Prints the DTD for the <strong>FAST</strong> <strong>ESP</strong> format.<br />

boostbt tool<br />

161


<strong>FAST</strong> Enterprise Search Platform<br />

162<br />

Command<br />

reset<br />

boostbt examples<br />

Input file examples<br />

Description<br />

Converting legacy files to an output file:<br />

Undeploys all boosts in the published view of the search profile, and removes them<br />

from the database.<br />

boostbt convert ... --output <br />

Converting to inspect on the console:<br />

boostbt convert ...<br />

Importing boosts to database:<br />

boostbt upload ...<br />

Validating the input and printing the resulting boosts when they are changed to target a<br />

different view and collection (for query boosts and document boosts respectively):<br />

boostbt validate --view --collection ...<br />

Importing query boosts to a view:<br />

boostbt upload --type query --view ...<br />

Importing legacy boosts, setting the search profile for the query boosts and putting the<br />

document boosts in a different collection:<br />

boostbt upload --legacy --searchprofile --collection<br />

...<br />

Importing only the old query boosts, putting them in a search profile:<br />

boostbt upload --legacy --searchprofile --type query<br />

...<br />

Deploy/Deployment examples<br />

For all importing examples, deploy can be used instead of upload, or deployment can be<br />

done afterwards.<br />

Deploying to a view after uploading query boosts:<br />

boostbt deploy --view <br />

Deploying to the preview view after uploading query boosts:<br />

boostbt deploy --searchprofile <br />

Publishing examples<br />

For importing query boosts, the publish command is applicable:<br />

Publishing boosts in files as-is:<br />

boostbt publish ...<br />

Publishing boosts in files to a different search profile:<br />

boostbt publish --searchprofile ...


Exporting examples<br />

If download is the new export:<br />

Exporting query boosts from a search profile, print to a file:<br />

boostbt download --searchprofile --output <br />

Exporting document boosts from a collection:<br />

boostbt download --collection --output <br />

Exporting all boosts, and print them to the console:<br />

boostbt download<br />

Administration examples<br />

Print the DTD to a file for reference:<br />

boostbt dtd --output boostsandblocks.dtd<br />

Or to the console:<br />

boostbt dtd<br />

boostbt tool<br />

163


Chapter<br />

20<br />

rc tool<br />

Topics:<br />

• rc tool<br />

This section describes the rc tool.


<strong>FAST</strong> Enterprise Search Platform<br />

166<br />

rc tool<br />

The rc tool is a command-line utility that works with <strong>FAST</strong> <strong>ESP</strong> to display information about runtime resources<br />

used by various components in the system. This utility is used to diagnose the system in a running <strong>FAST</strong><br />

<strong>ESP</strong> installation. Use it if content feeding hangs, or logs do not include all the information needed to track<br />

down the cause of the problem. The rc tool allows you to query components in the system for low-level<br />

information about the running state.<br />

In contrast to the <strong>FAST</strong> <strong>ESP</strong> monitoring tool, understanding the output of an rc query frequently requires<br />

knowledge of the component implementation, and is therefore most useful to <strong>FAST</strong> <strong>ESP</strong> developers as a<br />

debugging tool.<br />

The rc tool can be used with all components in <strong>FAST</strong> <strong>ESP</strong> that export information, and the following query<br />

parameters: components (all, subset), and fields (scopes, allocs, values by type, version). It is possible to<br />

choose to report only scopes with active threads (typical for process hangs).<br />

The rc tool can be run against the nameserver(s) in the installation (default) or against explicitly specified<br />

ones (for remote diagnostics).<br />

The rc tool is located in $<strong>FAST</strong>SEARCH/bin/rc.<br />

How the rc tool works<br />

• For all middleware interfaces, code must be generated that stores method scope information (number of<br />

active threads, timing information).<br />

• C++, Java and Python APIs are used to monitor variables, allocations and setting named values.<br />

• C++, Java and Python libraries are used in which a middleware servant exports information on method<br />

scopes, variables and named values.<br />

• The rc tool calls the relevant middleware servants and present the information to the user.<br />

Main concepts<br />

The main concepts displayed by the rc tool are:<br />

• Scopes, which set various function scope information<br />

• Allocs, which set the number of allocations of a named resource<br />

• Values, which set a named resource to a given value<br />

Usage<br />

For example invocations and usage information, issue:<br />

$<strong>FAST</strong>SEARCH/bin/rc –h


Chapter<br />

21<br />

exportsearchprofile, importsearchprofile and view-admin<br />

tools<br />

Topics:<br />

• exportsearchprofile tool<br />

• importsearchprofile tool<br />

• view-admin tool<br />

This section describes the exportsearchprofile, importsearchprofile, and<br />

view-admin tools.


<strong>FAST</strong> Enterprise Search Platform<br />

168<br />

exportsearchprofile tool<br />

The exportsearchprofile tool will export all configuration and data (except indexed documents) that are<br />

associated with a search profile to a file in the zip format. In combination with the importsearchprofile tool, it<br />

allows you to move all or parts of a search profile configuration from one <strong>FAST</strong> <strong>ESP</strong> installation to another.<br />

It can also be used to take backups of search profiles.<br />

Usage:<br />

Note: This tool is not intended for reconfiguring search profiles. To reconfigure search profiles, use the<br />

Search Business Center or the view-admin, boostbt and esp4jtool-dictman command line tools.<br />

$<strong>FAST</strong>SEARCH/bin/exportsearchprofile [options]<br />

Option<br />

--espbaseport= or -B <br />

--debug or -D<br />

--help or -h<br />

--esphost= or -H <br />

--verbose or -L<br />

--espport= or -O <br />

--pass= or -P <br />

--user= or -U <br />

--version or -v<br />

--ignoreboostsandblocks<br />

--ignoresynonyms<br />

--filename= or -f <br />

--ignoredocumentsummaries<br />

--includereporting<br />

--searchprofile= or -s<br />

<br />

Description<br />

Specify the baseport for the <strong>FAST</strong> <strong>ESP</strong> installation. In a multi-node<br />

installation, this is the base port of the administration node (the node<br />

running config server and admin server).<br />

Print debug output to the console.<br />

Print the help text.<br />

Specify the host running the <strong>FAST</strong> <strong>ESP</strong> admin server.<br />

Print verbose output to the console.<br />

Specify the port of the <strong>FAST</strong> <strong>ESP</strong> admin server. Use this option instead<br />

of the --espbaseport option if the admin server is using a non-standard<br />

port.<br />

The standard port for the admin server is +3089. If the <strong>FAST</strong><br />

<strong>ESP</strong> installation uses 13000 as its base port, --espbaseport=13000 and<br />

--espport=16089 are the same.<br />

Specify the password for the <strong>FAST</strong> <strong>ESP</strong> admin server. Used for<br />

authentication.<br />

Specify the username for the <strong>FAST</strong> <strong>ESP</strong> admin server. Used for<br />

authentication.<br />

Print the version number.<br />

Select if you do not want to export boosts and blocks.<br />

Select if you do not want to export synonyms.<br />

Specify the output file.<br />

Select if you do not want to export document summaries.<br />

Export query statistics data.<br />

Specify the search profile to export.


Option<br />

--includeuserdata<br />

--ignorewatchedqueries<br />

Description<br />

Select if you do not want to export users and groups.<br />

Select if you do not want to export watched queries.<br />

In most cases, you can omit the --esphost, --espbaseport, --espport, --user, and --pass options. You only<br />

need to specify these options on the command-line if you want to override the default values. The default<br />

values are stored in:<br />

$<strong>FAST</strong>SEARCH/etc/esp4j.properties<br />

Exporting a search profile example<br />

To export a search profile named mysearchprofile to a file named exportedsearchprofile.zip:<br />

exportsearchprofile -f exportedsearchprofile.zip -s mysearchprofile<br />

importsearchprofile tool<br />

The importsearchprofile tool can import configuration and data (except indexed documents) that are associated<br />

with a search profile from a file. In combination with the exportsearchprofile tool, it allows you to move all or<br />

parts of a search profile configuration from one <strong>FAST</strong> <strong>ESP</strong> installation to another. It can also be used to<br />

restore backups of search profiles.<br />

Usage:<br />

Note: This tool is not intended for reconfiguring search profiles. To reconfigure search profiles, use the<br />

Search Business Center or the view-admin, boostbt and esp4jtool-dictman command line tools.<br />

$<strong>FAST</strong>SEARCH/bin/importsearchprofile [options]<br />

Option<br />

--espbaseport= or -B <br />

--debug or -D<br />

--help or -h<br />

--esphost= or -H <br />

--verbose or -L<br />

--espport= or -O <br />

--pass= or -P <br />

Description<br />

Specify the baseport for the <strong>FAST</strong> <strong>ESP</strong> installation. In a multi-node<br />

installation, this is the base port of the administration node (the node<br />

running config server and admin server).<br />

Print debug output to the console.<br />

Print the help text.<br />

exportsearchprofile, importsearchprofile and view-admin tools<br />

Specify the host running the <strong>FAST</strong> <strong>ESP</strong> admin server.<br />

Print verbose output to the console.<br />

Specify the port of the <strong>FAST</strong> <strong>ESP</strong> admin server. Use this option instead<br />

of the --espbaseport option if the admin server is using a non-standard<br />

port.<br />

The standard port for the admin server is +3089. If the <strong>FAST</strong><br />

<strong>ESP</strong> installation uses 13000 as its base port, --espbaseport=13000 and<br />

--espport=16089 are the same.<br />

Specify the password for the <strong>FAST</strong> <strong>ESP</strong> admin server. Used for<br />

authentication.<br />

169


<strong>FAST</strong> Enterprise Search Platform<br />

170<br />

Option<br />

--user= or -U <br />

--version or -v<br />

--ignoreboostsandblocks<br />

--ignoresynonyms<br />

--filename= or -f <br />

--onlyinfo or -i<br />

--overwritegroups<br />

--ignoredocumentsummaries<br />

--mergegroups<br />

--overwritesearchprofile<br />

--overwriteusers<br />

--ignorereporting<br />

--ignoreuserdata<br />

--mergeusers<br />

--ignorewatchedqueries<br />

--overwritesynonyms<br />

Description<br />

Specify the username for the <strong>FAST</strong> <strong>ESP</strong> admin server. Used for<br />

authentication.<br />

Print the version number.<br />

Select if you do not want to import boosts and blocks.<br />

Select if you do not want to import synonyms.<br />

Specify the input file.<br />

Print the information from the import file.<br />

Overwrite existing groups.<br />

Select if you do not want to import document summaries.<br />

Merge existing groups.<br />

Overwrite the existing search profile.<br />

Overwrite existing users.<br />

Export query statistics data.<br />

Select not to import users and groups.<br />

Merge existing users.<br />

Select not to import watched queries.<br />

Overwrite synonyms (not merge).<br />

In most cases, you can omit the --esphost, --espbaseport, --espport, --user, and --pass options. You only<br />

need to specify these options on the command-line if you want to override the default values. The default<br />

values are stored in:<br />

$<strong>FAST</strong>SEARCH/etc/esp4j.properties<br />

view-admin tool<br />

Importing a search profile examples<br />

To import a search profile from a file named mysearchprofile.zip:<br />

importsearchprofile -f mysearchprofile.zip<br />

To import and overwrite a search profile from a file named mysearchprofile.zip:<br />

importsearchprofile -f mysearchprofile.zip -o<br />

Use this managing tool to create, edit, delete and deploy views from the command-line.


Search profiles in the Search Business Center use views to realize their features. With view-admin, you can<br />

access features of the views currently not available through the Search Business Center.You can export the<br />

views to XML files and edit these manually, or you can create scripts to manipulate views/search profiles<br />

automatically.<br />

You can also use the import and export operations to backup and restore views, and to transfer views from<br />

one system to another.<br />

view-admin can not be used to export and/or import complete search profiles. Use the importsearchprofile<br />

and exportsearchprofile tools instead.<br />

Usage:<br />

$<strong>FAST</strong>SEARCH/bin/view-admin [general options] [options]<br />

where indicates the requested operation, such as creating or deleting a view. The operation is<br />

always specified with the -m option.<br />

General options<br />

--espbaseport= or -B<br />

<br />

--debug or -D<br />

--help or -h<br />

--esphost= or -H <br />

--verbose or -L<br />

--espport= or -O <br />

--pass= or -P <br />

--user= or -U <br />

--version or -v<br />

Description<br />

Specify the baseport for the <strong>FAST</strong> <strong>ESP</strong> installation. In a multi-node<br />

installation, this is the base port of the administration node (the node running<br />

config server and admin server).<br />

Print debug output to the console.<br />

Print the help text.<br />

Specify the host running the <strong>FAST</strong> <strong>ESP</strong> admin server.<br />

Print verbose output to the console.<br />

Specify the port of the <strong>FAST</strong> <strong>ESP</strong> admin server. Use this option instead of<br />

the --espbaseport option if the admin server is using a non-standard port.<br />

The standard port for the admin server is +3089. If the <strong>FAST</strong><br />

<strong>ESP</strong> installation uses 13000 as its base port, --espbaseport=13000 and<br />

--espport=16089 are the same.<br />

Specify the password for the <strong>FAST</strong> <strong>ESP</strong> admin server. Used for<br />

authentication.<br />

Specify the username for the <strong>FAST</strong> <strong>ESP</strong> admin server. Used for<br />

authentication.<br />

Print the version number.<br />

In most cases, you can omit the --esphost, --espbaseport, --espport, --user, and --pass options. You only<br />

need to specify these options on the command-line if you want to override the default values. The default<br />

values are stored in:<br />

$<strong>FAST</strong>SEARCH/etc/esp4j.properties<br />

view-admin operations<br />

$<strong>FAST</strong>SEARCH/bin/view-admin [general options] [operation] [options]<br />

Name<br />

Create<br />

Operation<br />

-m create<br />

exportsearchprofile, importsearchprofile and view-admin tools<br />

Description<br />

Create a view and specify which collection(s) it should search.<br />

171


<strong>FAST</strong> Enterprise Search Platform<br />

172<br />

Name<br />

Createmissing<br />

Delete<br />

Deploy<br />

Export<br />

Import<br />

Info<br />

List<br />

Refresh<br />

Regenerate<br />

Status<br />

Undeploy<br />

Validate<br />

Operation<br />

-m createmissing<br />

-m delete<br />

-m deploy<br />

-m export<br />

-m import<br />

-m info<br />

-m list<br />

-m refresh<br />

-m regenerate<br />

-m status<br />

-m undeploy<br />

-m validate<br />

Description<br />

Ensure that the system is consistent with respect to default views<br />

for collections and clusters.<br />

Delete one or more views.<br />

Deploy one or more views to make them available for searching.<br />

Export view specifications to XML files.<br />

Import view specifications from one or more XML files.<br />

Show information about one or more views.<br />

List all views.<br />

Make changes in qtf-config.xml take effect without redeploying<br />

any views.<br />

Delete and then recreate all views.<br />

Show deployment status for one or more views.<br />

Undeploy one or more views to make them unavailable for<br />

searching. The views are not deleted, and can be redeployed.<br />

Validate the format of one or more view specification XML files.<br />

Create operation<br />

Use this operation to create a view and specify which collection(s) it should search.<br />

view-admin [options] -m create -v -c [-d]<br />

Operation option<br />

--view= or -V <br />

--collection= or -c <br />

--collections= or -k <br />

--deploy or -d<br />

Create a view example<br />

Description<br />

Specify the name of the view to create.<br />

Specify the collection that the view will search in.<br />

Specify a list collections that the view will search in.<br />

Deploy the view immediately.<br />

To create a view myview that uses the collections collection1 and collection2:<br />

view-admin -m create -V myview -k collection1 collection2<br />

Createmissing operation<br />

Use this operation to ensure that the system is consistent with respect to default views for collections and<br />

clusters:<br />

• For every collection, there should be a default view with the same name as the collection.<br />

• For every cluster, there should be a default view named espsystem.<br />

This operation will create any missing default views, and optionally deploy them. Normally, you should not<br />

have to use this operation.<br />

view-admin [options] -m createmissing [-d]


Operation option<br />

--deploy or -d<br />

Description<br />

Deploy the created views.<br />

Create any missing default views example<br />

To create any missing default views and deploy them:<br />

view-admin -m createmissing -d<br />

Delete operation<br />

Use this operation to delete one or more views from the Adminserver. The views are deleted permanently.<br />

To make views unavailable for searching without deleting them, use the undeploy operation.<br />

view-admin [options] -m delete -V [-x]<br />

Operation option<br />

--view= or -V <br />

--views= or -w <br />

--allviews or -a<br />

--undeploy or -x<br />

Description<br />

Specify the name of the view to delete.<br />

Specify a list of views to delete.<br />

Delete all views.<br />

Undeploy and delete operation example<br />

To undeploy the view myview and then delete it:<br />

view-admin -m delete -v myview -x<br />

Undeploy views before deleting them. Without this option views<br />

that are deployed can not be deleted.<br />

Deploy operation<br />

Use this operation to deploy one or more views to make them available for searching.<br />

view-admin [options] -m deploy -V <br />

Operation option<br />

--allviews or -a<br />

--view= or -V <br />

--views= or -w <br />

Deploy views example<br />

To deploy the views myview and otherview:<br />

Description<br />

view-admin -m deploy -w myview otherview<br />

Deploy all existing views.<br />

Export operation<br />

Use this operation to export view specifications to XML files.<br />

exportsearchprofile, importsearchprofile and view-admin tools<br />

Specify the name of the view to deploy. The view must already<br />

exist in the system.<br />

Specify a list of views to deploy. The views must already exist in<br />

the system.<br />

173


<strong>FAST</strong> Enterprise Search Platform<br />

174<br />

view-admin [options] -m export -V [-f ]<br />

Operation option<br />

--view= or -V <br />

--views= or -w<br />

<br />

--allviews or -a<br />

--file= or -F <br />

Export view example<br />

Description<br />

Specify the name of the view to export.<br />

The exported view specification will be stored in a file named .xml<br />

in the current directory.<br />

Specify a list of view names to export.<br />

Each exported view specification will be stored in a file named .xml<br />

in the current directory.<br />

Export all views.<br />

Each exported view specification will be stored in a file named .xml<br />

in the current directory.<br />

The option can be used to control the names of the saved files. It should specify<br />

a list of files of the same length as the number of views being exported.<br />

For example:<br />

view-admin -m export -w view1 view2 -F v1.xml v2.xml<br />

will store view1 as v1.xml and view2 as v2.xml. If the list of views to export is<br />

longer than the list of files, the remaining views will be stored as .xml.<br />

To export the view myview to a file named myview.xml:<br />

view-admin -m export -V myview<br />

Import operation<br />

Use this operation to import view specifications from one or more XML files.<br />

view-admin [options] -m import -V [-o] [-d]<br />

Operation option<br />

--view= or -V <br />

--views= or -w <br />

--overwrite or -o<br />

--deploy or -d<br />

--file= or -F <br />

Description<br />

Specify the name of the XML file containing the view specification to<br />

import.<br />

Specify a list of the XML files containing the view specifications to import.<br />

Overwrite the view(s) if they already exist.<br />

If you attempt to import a view that already exists, you will receive an<br />

error message, unless you specify the --overwrite option.<br />

Deploy the view(s) immediately after import.<br />

This option is synonymous with the --views/-w option.


Import view example<br />

To import the view specified in myview.xml, overwrite it if it already exists, and then deploy<br />

it:<br />

view-admin -m import -V myview.xml -o -d<br />

Info operation<br />

Use this operation to show information about one or more views. For each view you will see display name,<br />

created and last modified time, and collections references.<br />

Note: If you do not specify the -V or -w options, information about all views are shown.<br />

view-admin [options] -m info -V <br />

Operation option<br />

--view= or -V <br />

--views= or -w <br />

--allviews or -a<br />

Info views example<br />

To show information about the view myview:<br />

view-admin -m info -V myview<br />

Description<br />

List operation<br />

Use this operation to list all views in a <strong>FAST</strong> <strong>ESP</strong> installation.<br />

view-admin [options] -m list<br />

This operation has no options.<br />

Specify the name of the view to show information about.<br />

Specify a list of views to show information about.<br />

Show information about all views.<br />

Refresh operation<br />

Use this operation to update all views with new settings from a configuration file, in most cases qtf-config.xml.<br />

Note that the changes made to qtf-config.xml will not take effect until you run this command. This will ensure<br />

that the changes take effect on all QR servers at the same time.<br />

view-admin [options] -m refresh<br />

This operation has no options.<br />

Regenerate operation<br />

Use this operation to first delete and then recreate all views.The existing information about which collection(s)<br />

a view uses, is carried over from the deleted views to the new views.<br />

view-admin [options] -m regenerate [-d]<br />

Operation option<br />

--deploy or -d<br />

exportsearchprofile, importsearchprofile and view-admin tools<br />

Description<br />

Deploy the regenerated views.<br />

175


<strong>FAST</strong> Enterprise Search Platform<br />

176<br />

Regenerate views example<br />

To regenerate and deploy all views:<br />

view-admin -m regenerate -d<br />

Status operation<br />

Use this operation to show the deployment status for a view.<br />

For each view you can see if the:<br />

• View is deployed.<br />

• Deployed version of the view is up to date with the version stored in the Adminserver. A view is not up to<br />

date if it has been changed after deployment. The view must then be redeployed to be up to date.<br />

• Last deployment of the view was completed successfully.<br />

Note: If you do not specify the -V or -w options, deployment status for all views are shown.<br />

view-admin [options] -m status -V <br />

Operation option<br />

--view= or -v <br />

--views= or -w <br />

--allviews or -a<br />

Show status example<br />

Description<br />

To show the deployment status for the view myview:<br />

view-admin -m status -V myview<br />

Specify the name of the view to show the deployment status.<br />

Specify a list of views to show the deployment status.<br />

Show deployment status for all views.<br />

Undeploy operation<br />

Use this operation to undeploy one or more views to make them unavailable for searching. The views are<br />

not deleted, and can be redeployed.<br />

view-admin [options] -m undeploy -V <br />

Operation option<br />

--view= or -V <br />

--views= or -w <br />

--allviews or -a<br />

Undeploy views example<br />

To undeploy the views myview and otherview:<br />

view-admin -m undeploy -w myview otherview<br />

Property Description<br />

Specify the name of the view to undeploy.<br />

Specify a list of views to undeploy.<br />

Undeploy all views.<br />

Validate operation<br />

Use this operation to validate the format of one or more view specification XML files.<br />

view-admin [options] -m validate -V


Operation option<br />

--view= or -V <br />

--views= or -w <br />

--file= or -F <br />

Validate format view example<br />

Description<br />

To validate the format of the view specification in myview.xml:<br />

view-admin -m validate -V myview.xml<br />

exportsearchprofile, importsearchprofile and view-admin tools<br />

Specify the name of the XML file containing the view specification<br />

to validate.<br />

Specify a list of the XML files containing the view specifications<br />

to validate.<br />

This option is synonymous with the --views/-w option.<br />

177


Chapter<br />

22<br />

qrserver-admin tool<br />

Topics:<br />

• qrserver-admin tool<br />

• qrserver-admin tool usage<br />

This section describes the qrserver-admin tool.


<strong>FAST</strong> Enterprise Search Platform<br />

180<br />

qrserver-admin tool<br />

The qrserver-admin tool is used to control how the Adminserver and QRServers work together to deploy<br />

views.<br />

The Adminserver maintains an internal list of all QRServers in the system. This list is used when views are<br />

deployed, to ensure that all QRServers receive the updated views. It also prevents the system from entering<br />

an inconsistent state if one or more QRServers are down.<br />

The qrserver-admin tool allows you to control how views are deployed to these QRServers, and enables you<br />

to register and unregister QRServers.<br />

In <strong>ESP</strong> 5.0 the list of QRServers was contained in the $<strong>FAST</strong>SEARCH/etc/esp4j.properties config file. It<br />

is no longer necessary to edit this file to add and remove QRServers, and there is neither any need to restart<br />

the Adminserver when a QRServer has been added or removed.<br />

qrserver-admin tool usage<br />

$<strong>FAST</strong>SEARCH/bin/qrserver-admin [general options] [operation options]<br />

qrserver-admin takes an operation argument, specified with the -m option. Each operation can in turn be<br />

modified by additional arguments.<br />

Name<br />

Register<br />

Remove<br />

Offline<br />

Standalone<br />

Down<br />

Up<br />

List<br />

Status<br />

Find<br />

General options<br />

Operation<br />

-m add<br />

-m remove<br />

-m offline<br />

-m standalone<br />

-m down<br />

-m up<br />

-m list<br />

-m status<br />

-m find<br />

--espbaseport= or -B<br />

<br />

--debug or -D<br />

Description<br />

Description<br />

Register a QRServer with the adminserver.<br />

Remove a registered QRServer.<br />

Notify the Adminserver that a QRServer is in offline mode.<br />

Notify the Adminserver that a QRServer is in standalone mode.<br />

Notify the Adminserver that a QRServer is down.<br />

Notify the Adminserver that a QRServer is working normally.<br />

List registered QRServers.<br />

Show status of registered QRServers.<br />

Find QRServers that aren't registered.<br />

Specify the baseport for the <strong>FAST</strong> <strong>ESP</strong> installation. In a multi node<br />

installation, this is the base port of the admin node (the node running<br />

Configserver and Adminserver).<br />

Print debug output to the console.


General options<br />

--help or -h<br />

--esphost= or -H <br />

--verbose or -L<br />

--espport= or -O <br />

--pass= or -P <br />

--user= or -U <br />

--version or -v<br />

Description<br />

Print the help text.<br />

Specify the host running the <strong>FAST</strong> <strong>ESP</strong> Adminserver.<br />

Print verbose output to the console.<br />

Specify the port of the <strong>FAST</strong> <strong>ESP</strong> Adminserver. Use this option instead of<br />

the --espbaseport option if the Adminserver is using a non-standard port.<br />

The standard port for the Adminserver is +3089. If the <strong>FAST</strong> <strong>ESP</strong><br />

installation uses 13000 as its base port, --espbaseport=13000 and<br />

--espport=16089 are the same.<br />

Specify the password for the <strong>FAST</strong> <strong>ESP</strong> Adminserver. Used for<br />

authentication.<br />

Specify the username for the <strong>FAST</strong> <strong>ESP</strong> Adminserver. Used for<br />

authentication.<br />

Print the version number.<br />

In most cases, you can omit the --esphost, --espbaseport, --espport, --user, and --pass options. You only<br />

need to specify these options on the command-line if you want to override the default values. The default<br />

values are stored in:<br />

$<strong>FAST</strong>SEARCH/etc/esp4j.properties<br />

Register operation<br />

Use this option to register a QRServer with the Adminserver. When a QRServer has been added to the<br />

system, this will ensure that views are correctly deployed to the QRServer. Any active views will be<br />

automatically deployed to the QRServer when it is added.<br />

qrserver-admin -m add -n -o -p -c <br />

Operation option<br />

--nsname= or -n <br />

--hostname= or -o <br />

--port= or -p <br />

--cluster=or -c <br />

Register QRServer example<br />

Description<br />

The name of the QRServer as registered in the name<br />

service.<br />

The host name of the QRServer.<br />

The HTTP-port of the QRServer.<br />

The name of the cluster the QRServer belongs to.<br />

To register a QRServer with address qrnode.example.com:15100 and name service name<br />

esp/searchservice/qrnode_15100 that has been added to the webcluster cluster:<br />

qrserver-admin -m add -n esp/searchservice/qrnode_15100 -o<br />

qrnode.example.com -p 15100 -c webcluster<br />

qrserver-admin tool<br />

181


<strong>FAST</strong> Enterprise Search Platform<br />

182<br />

Remove operation<br />

Use this option to unregister a QRServer from the Adminserver. When a QRServer has been removed from<br />

the system, this will ensure that the Adminserver doesn't attempt to deploy views to the QRServer anymore.<br />

qrserver-admin -m remove -n <br />

Operation option<br />

--nsname= or -n <br />

Unregister QRServer example<br />

Description<br />

The name of the QRServer as registered in the name<br />

service.<br />

To register a QRServer with name service name esp/searchservice/qrserver_15100:<br />

qrserver-admin -m add -n esp/searchservice/qrserver_15100<br />

Offline operation<br />

Use this option is used to tell the Adminserver that a QRServer is in "offline" mode. A QRServer is in offline<br />

mode when it is running and accepting configuration changes, but its HTTP interface is not available to serve<br />

queries.<br />

qrserver-admin -m offline -n <br />

Operation option<br />

--nsname= or -n <br />

Set QRServer offline example<br />

Description<br />

The name of the QRServer as registered in the name<br />

service.<br />

To tell the Adminserver that a QRServer named esp/searchservice/qrserver_15100 is<br />

offline:<br />

qrserver-admin -m offline -n esp/searchservice/qrserver_15100<br />

Standalone operation<br />

Use this option is used to tell the Adminserver that a QRServer is in "standalone" mode. A QRServer is in<br />

standalone mode when it is running and serving queries, but not accepting configuration changes.<br />

qrserver-admin -m standalone -n <br />

Operation option<br />

--nsname= or -n <br />

Set QRServer standalone example<br />

Description<br />

The name of the QRServer as registered in the name<br />

service.<br />

To tell the Adminserver that a QRServer named esp/searchservice/qrserver_15100 is<br />

standalone:<br />

qrserver-admin -m standalone -n esp/searchservice/qrserver_15100


Down operation<br />

Use this option is used to tell the Adminserver that a QRServer is down. This will cause the Adminserver not<br />

to deploy views to the QRServer. This option is typically used if a QRServer has been taken down for<br />

maintenance, but you still want to be able to deploy views to the other QRServers in the system.<br />

qrserver-admin -m down -n [-s]<br />

Operation option<br />

--nsname= or -n <br />

--stop or -s<br />

Set QRServer down example<br />

Description<br />

The name of the QRServer as registered in the name service.<br />

Stop the QRServer if it is running.<br />

To tell the Adminserver that a QRServer named esp/searchservice/qrserver_15100 is<br />

down:<br />

qrserver-admin -m down n esp/searchservice/qrserver_15100<br />

Up operation<br />

This operation tells the Adminserver that a QRServer is in normal operating mode, i.e. it is taken up from<br />

either offline, standalone or down mode. All views are immediately deployed to the QRServer when it is taken<br />

up from either standalone or down mode.<br />

qrserver-admin -m up -n [-S]<br />

Operation option<br />

--nsname= or -n <br />

--start or -S<br />

Set QRServer up example<br />

Description<br />

The name of the QRServer as registered in the name service.<br />

Start the QRServer if it isn't running.<br />

To tell the Adminserver that a QRServer named esp/searchservice/qrserver_15100 is up:<br />

qrserver-admin -m up n esp/searchservice/qrserver_15100<br />

List operation<br />

List all QRServers known to the Adminserver<br />

qrserver-admin -m list<br />

List QRServers example<br />

List all known QRServers:<br />

qrserver-admin -m list<br />

Status operation<br />

Show status of QRServers known to the Adminserver. This will show whether the QRServers are running<br />

and whether their CORBA and HTTP interfaces are responding.<br />

qrserver-admin -m status<br />

qrserver-admin tool<br />

183


<strong>FAST</strong> Enterprise Search Platform<br />

184<br />

Show QRServer status example<br />

Show status of all known QRServers:<br />

qrserver-admin -m status<br />

Find operation<br />

Find and list QRServers that are installed but not registered with the Adminserver. A QRServer must be<br />

registered with the Adminserver for view deployment to work.<br />

qrserver-admin -m find [-a]<br />

Operation option<br />

--add or -a<br />

Find QRServers example<br />

Description<br />

Automatically register any found QRServers that aren't already registered.<br />

Show all installed QRServers and register those that aren't registered with the Adminserver:<br />

qrserver-admin -m find -a

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!