RSS

Category Archives: SharePoint 2013

Configuring SharePoint 2013 Search Topology on Production Environment


Introduction

When you create Search Service application from central administration , a default search topology will be created automatically where all Search components are assigned to the server which is running the Central Administration but  in multi servers farm scenario you need to change this topology using PowerShell.

Sample Scenario

In the following scenario I’m using 6 search servers. You can change according to your requirement.

  • 2 Front end servers – running the Query Processing component to handle search query requests from user.
  • 4 Back end Servers – running rest of the search components

SearchTopology

Before You Begin

  1. Make sure you have created a Search service application from central admin
  2. Make sure currently logged user is added as admin in Search service application
  3. Make sure index files are empty, Navigate to search service application administration and see Searchable Item appears as 0

Start configuration

Step 1: Prepare the Topology Variables

$hostA = Get-SPEnterpriseSearchServiceInstance -Identity "SERVER1"

$hostB = Get-SPEnterpriseSearchServiceInstance -Identity "SERVER2"

$hostC = Get-SPEnterpriseSearchServiceInstance -Identity "SERVER3"

$hostD = Get-SPEnterpriseSearchServiceInstance -Identity "SERVER4"

$hostE = Get-SPEnterpriseSearchServiceInstance -Identity "SERVER5"

$hostF = Get-SPEnterpriseSearchServiceInstance -Identity "SERVER6"

 

Start-SPEnterpriseSearchServiceInstance -Identity $hostA

Start-SPEnterpriseSearchServiceInstance -Identity $hostB

Start-SPEnterpriseSearchServiceInstance -Identity $hostC

Start-SPEnterpriseSearchServiceInstance -Identity $hostD

Start-SPEnterpriseSearchServiceInstance -Identity $hostE

Start-SPEnterpriseSearchServiceInstance -Identity $hostF

Note: Wait for a while till above instances get started and proceed below to verify status

Step 2: Check Service status

Get-SPEnterpriseSearchServiceInstance -Identity $hostA

Get-SPEnterpriseSearchServiceInstance -Identity $hostB

Get-SPEnterpriseSearchServiceInstance -Identity $hostC

Get-SPEnterpriseSearchServiceInstance -Identity $hostD

Get-SPEnterpriseSearchServiceInstance -Identity $hostE

Get-SPEnterpriseSearchServiceInstance -Identity $hostF
NOTE: Make sure status is online for all instance, then proceed to next

Step3 : Setting up Topology

NOTE: Make sure below mentioned root directory is created manually on all servers including central admin server

$ssa = Get-SPEnterpriseSearchServiceApplication

$newTopology = New-SPEnterpriseSearchTopology -SearchApplication $ssa

NEW-SPENTERPRISESEARCHADMINCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTA

NEW-SPENTERPRISESEARCHCRAWLCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTA

NEW-SPENTERPRISESEARCHCONTENTPROCESSINGCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTA

NEW-SPENTERPRISESEARCHANALYTICSPROCESSINGCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTA

 

NEW-SPENTERPRISESEARCHADMINCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTB

NEW-SPENTERPRISESEARCHCRAWLCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTB

NEW-SPENTERPRISESEARCHCONTENTPROCESSINGCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTB

NEW-SPENTERPRISESEARCHANALYTICSPROCESSINGCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTB

 

 

NEW-SPENTERPRISESEARCHQUERYPROCESSINGCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTC

NEW-SPENTERPRISESEARCHINDEXCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTC -INDEXPARTITION 0 -RootDirectory “E:\SearchIndex”

 

NEW-SPENTERPRISESEARCHQUERYPROCESSINGCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTD

NEW-SPENTERPRISESEARCHINDEXCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTD -INDEXPARTITION 0 -RootDirectory “E:\SearchIndex”

 

NEW-SPENTERPRISESEARCHQUERYPROCESSINGCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTE

NEW-SPENTERPRISESEARCHINDEXCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTE -INDEXPARTITION 1 -RootDirectory “E:\SearchIndex”

 

NEW-SPENTERPRISESEARCHQUERYPROCESSINGCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTF

NEW-SPENTERPRISESEARCHINDEXCOMPONENT -SEARCHTOPOLOGY $NEWTOPOLOGY -SEARCHSERVICEINSTANCE $HOSTF -INDEXPARTITION 1 -RootDirectory “E:\SearchIndex”

Step 4: Activate The Topology

SET-SPENTERPRISESEARCHTOPOLOGY -IDENTITY $NEWTOPOLOGY

Step 5: Verify the Topology

GET-SPENTERPRISESEARCHTOPOLOGY -SEARCHAPPLICATION $SSA

Step 6 : Verify Each Component

GET-SPENTERPRISESEARCHSTATUS -SEARCHAPPLICATION $SSA -TEXT
Advertisements
 

Tags: ,

Sharepoint 2013 Workflow Setup and Configuration Complete Reference


One of the complicated and not well documented feature of SharePoint 2013 is the configuration of new Workflow. I personally struggled a lot to install and configure on my Development and Production environment. Like all i have googled a lot to get bits & pieces of tips and advises from each blog. After successful implementation i thought of consolidate everything and share my experience with you all. Below is a series of post which will focus on Workflow architecture, Configuration, Quality check , Known Issues and Fixes.

Appreciate your valuable comments if you like the series.

Table of contents

Series 1: Overview of SharePoint 2013 Workflow Architecture

Series 2: Setup and Configuration of SharePoint 2013 Workflow

Series 3: SharePoint 2013 troubleshoot checklist

Series 4: SharePoint 2013 Known Issues & Fixes

Series 1: Overview of SharePoint 2013 Workflow Architecture (1 of 4)

  • Workflow is now treated as a service in SharePoint 2013.
  • Workflows now  communicates with Sharepoint via core app model technologies like CSOM / REST.
  • SharePoint 2013 workflows are powered by Windows Workflow Foundation 4, which was substantially redesigned from earlier versions. Windows Workflow Foundation (WF), in turn, is built on the messaging functionality that is provided by Windows Communication Foundation (WCF).
  • It is important to note the relationship between workflow activities and SharePoint actions. Workflow activities represent the underlying managed objects whose methods drive workflow behaviors. Workflow actions, on the other hand, are wrappers that encapsulate the underlying activities and present them in a user-friendly form in SharePoint Designer. Workflow authors interact with the workflow actions, whereas the workflow execution engine acts on the corresponding activities.
  • SharePoint 2010 workflow has been carried forward to SharePoint Server 2013.

High-Level architecture

SharePointJim_WorklowArchitecture_13

Below information is extracted from MSDN article

Workflow Manager Client 1.0 is represented in SharePoint 2013 in the form of the Workflow Manager Client 1.0 Service Application Proxy. This component allows SharePoint to communicate and interact with the Workflow Manager Client 1.0 server. Server-to-server authentication is provided using OAuth.
SharePoint events for which a workflow is listening, like itemCreated, itemUpdated, and so on, are routed to Workflow Manager Client 1.0 using the Microsoft Azure service bus. For the return trip, the platform uses the SharePoint Representational State Transfer (REST) API to call back into SharePoint.
There are also additions to the SharePoint workflow object model, called collectively the Workflow Services Manager, which allow you to manage and control your workflows and their execution. The primary zones of interaction for the services manager are deployment, messaging, instance control, and (for backward compatibility) interoperability with SharePoint 2010 workflows.
Finally, there is the workflow authoring component. SharePoint Designer can now create and deploy both SharePoint 2010 and SharePoint 2013 workflows. Visual Studio 2012 not only provides a designer surface for creating declarative workflows, but it can also create SharePoint Add-ins and solutions that fully integrate Workflow Manager Client 1.0 functionality.

Next >>  Series 2: Setup and Configuration of SharePoint 2013 Workflow (2 of 4)

 
Leave a comment

Posted by on February 24, 2016 in SharePoint 2013, Uncategorized, Workflow

 

Tags: ,

Performance tuning tips for SharePoint 2013 Development server


1. Reduce performance of Search (Noderunner.exe)

· Get-SPEnterpriseSearchService if it returns “Maximum” then Set it to “Reduced” using below code.

· Set-SPEnterpriseSearchService -PerformanceLevel Reduced

2. Reduce Memory consumed by search processes

· Open the config file at C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0\noderunner.exe.config and change the value of memoryLimitMegabytes in node to some other value other than 0, say 100 or 200 which sets the cap limit for memory to be used.

· Restart Search service or Server

3. Limit SQL Server’s RAM Maximum usage

· in SQL manager right click the server, properties, memory, change value to small value

4. Set Database Recovery Model

· Right click database > properties > Options> Change Recovery model to “Simple”

 
Leave a comment

Posted by on January 20, 2016 in Development Server, SharePoint 2013

 

Tags: ,

Some useful SharePoint 2013 URL Strings and Tokens


SharePoint provides several tokens that are useful for constructing a context-specific URL.

Token Resolves To
~site Refers to the URL of the current Web site.
~sitecollection Refers to the URL of the parent site collection of the current Web site.
~layouts Refers to _layouts/15 with respect to the Web application.
~sitecollectionlayouts Refers to the layouts folder in thecurrent site collection (such as /sites/mysite/_layouts/15).
~sitelayouts Refers to the layouts folder in the current site (such as site/mysite/mysubsite/_layouts/15)

To learn more about URL strings and tokens, see the Microsoft Development Center

 
Leave a comment

Posted by on January 8, 2015 in SharePoint 2013, Token, URL

 

Tags: ,

Noderunner.exe is taking too much memory in SharePoint 2013 Server


In SharePoint 2013 farm noderunner.exe is taking too much memory.

The issue is related to new Search service

“There is one node runner process for each engine in the SharePoint search service application. E.g. Query, index, content processing, etc will all have an individual node runner.”

About New Search Service

The architecture of search has undergone lot of changes in SharePoint 2013. Many of the core components are replaced by the FAST Search components. Below are a few new components which are added in the new architecture.

  1. Crawl Component
  2. Content Processing Component
  3. Query Processing Component
  4. Index Component
  5. Analytic Processing Component

All these components run as a process called ‘noderunner.exe‘. On a default single server installation of SharePoint there will five instances of noderunner.exe (one for each of the component listed above). There is another process called ‘Host Controller’, which monitors the noderunner processes. If any of the noderunner.exe fails, the host runner will restart that process.

Production Server Tip
If this is a production SharePoint infrastructure, then you should scale your farm appropriately to suit both the business requirements of your organisation and the technical requirements to meet those business demands.

Development Server Tip (How to Optimize Memory?)
If this is Development server, then follow below steps. By default the performance level for a Search Service is set to Maximum. Using the below powershell cmdlet we can reduce the performance level to Reduced

  1. Open SharePoint Management PowerShell window and execute the below command
    Set-SPEnterpriseSearchService -PerformanceLevel Reduced
  2. Open the config file at C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0\noderunner.exe.config and change the value of memoryLimitMegabytes in node to some other value other than 0, say 100 or 200 which sets the cap limit for memory to be used.
  3. Restart the machine or service.
 
Leave a comment

Posted by on November 11, 2014 in SharePoint 2013, Tips & Tricks

 

Tags: , ,

The username is invalid. The account must be a valid domain account – SharePoint 2013 Setup Error


When configuring SharePoint 2013 Development Virtual server in “Complete” mode you get below issue.

Error

1

“The username is invalid. The account mist be a valid domain account” when using a local account to configure the farm”

NOTE: Out of the box SharePoint only supports “Stand-alone” mode for non domain environments, but this forces you to use SQL Server 2008 R2 Express Edition which is most cases is unacceptable.

Solution
Use a PowerShell command to create the initial configuration of the farm with a local account:

  1. Start the SharePoint Management PowerShell
  2. Run “New-SPConfigurationDatabase” from the command line and follow the instructions
    Database Name: Sharepoint_Config
    DatabaseServer: Name of your SQL Server
    Farm Credentials : localservername\username
    Passphrase : Must contain at 8 character with one Caps,one number,& special character
    2
  3. This will create the farm and configure the necessary accounts.
  4. Rerun the configuration wizard
  5. After it finishes start the Config Wizard and configure your server with all components
  6. Select “Do not disconnect from this server farm

    3

  7. Done!

 

 

 

 
Leave a comment

Posted by on September 20, 2014 in SharePoint 2013

 

Tags: ,

Windows Server App Fabric is not correctly configured – SharePoint 2013 Setup Errors


When installing SharePoint 2013 SP1 prerequisites on Windows Server 2008 R2, the prerequisite installer fails with the following error

Error

image_thumb

“Windows Server App Fabric is not correctly configured. You should uninstall Windows Server Appfabric and reinstall it using the Sharepoint Products Preparation Tool.”

Cause
This occurs when u try to run “PREREQUISITEINSTALLER.exe” as standalone installation.

Resolution
The resolution is to run “prerequisiteinstaller.exe” with command line parameters to directly specify the file name for each prerequisite.

  1. Uninstall exisiting installation of AppFabric
  2. Delete “PSModulePath” from system environment variables entry.
  3. Restart server
  4. Open command prompt
  5. Navigate to SharePoint 2013 setup files folder (eg: D:\)
  6. Type following line
    prerequisiteInstaller.exe /appfabric:Z:\Softwares\Sharepoint 2013PreRequisite\WindowsServerAppFabricSetup_x64.exe
    (NOTE:  Z: is my Prerequisite files folder location. replace with you path)
    MAKE SURE THERE IS NO SPACE FOR FOLDER NAME
    sp2013-prereq
  7. image_thumb_6
  8. Done! Continue installation…
 
3 Comments

Posted by on September 20, 2014 in Bug, SharePoint 2013, Tips & Tricks

 

Tags: ,