When deploying a multiple server FAST Search for SharePoint farm, sometimes you can run into a Configuration Failed error. The SDK has some guidance on this but I wanted to walk you through the troubleshooting steps I used to determine what the issue was and then how to fix it. It all starts with the deployment.xml file that you use to configure your FAST Search for SharePoint farm. The contents of this file have to be absolutely perfect in order for everything to work. On top of that, the file must be UTF-8 encoded and not UTF-16. We’ll talk about that in a bit. Although you specify a deployment.xml file when you configure the Admin server, the configuration wizard will not fail here. This leads you to believe there is nothing wrong with your deployment.xml file.
When the Configuration Wizard failed on my non-admin server, I took a look at the logs. There were numerous errors there, but the one I locked onto and actually found some search results on the Internet for was the following:
"C:\FASTSearch\bin\MonitoringServiceConfig.exe" Output - Error: The file 'C:\FASTSearch\etc\middleware.cfg' was not found.
This led me to a forum post that recommended I run the following PowerShell command on the non-admin server:
This resulted in the following error.
Set-FASTSearchIPSec : XML Validation error: Data at the root level is invalid. Line 1, position 1.
Now we’re getting somewhere. I had seen this error mentioned in the SDK article on troubleshooting Configuration Wizard failures. I had ran across this article before now, but I didn’t really think it applied since I never got an error when I installed my first (admin) server. I was wrong. The issue goes back to when I was editing the deployment.xml file. I opened it up in Visual Studio 2010 so it would be easier to edit. Don’t do that. It saves it in a UTF-16 format which FAST does not like. Edit it with Notepad or any other editor that isn’t going to mess with the encoding.
Now here is what the SDK article doesn’t tell you. How to resolve it. What we need to do is go back to the admin server and reload a deployment.xml file that doesn’t have the offending UTF-16 encoding. Unfortunately, you can’t just run the Configuration Wizard again. Instead you need to log on to your admin server and go to the following folder C:\FASTSearch\etc\config_data\deployment. At this point, I make the standard disclaimer to back up your files and be careful. I then deleted the deployment.xml file in this folder and created a new one with Notepad. Be sure that your file has a .xml extension and not a .txt extension when you do this. Now cut and paste the text of your previous deployment.xml file into Notepad and save it. I’m assuming you have a copy of it somewhere.
When you are done editing deployment.xml, you will need to run the following PowerShell command on the admin server.
This will reload the new deployment.xml file and set this as the configuration for your FAST Search for SharePoint farm. When it completes, take the deployment.xml from this folder and copy it to your non-admin server(s). Run the Configuration Wizard again and specify the path to this new deployment.xml. If everything is correct, you should be able to complete the Configuration Wizard successfully.