Introductory "How To" guide for installing TM1 Servers

Ideas and tips for enhancing your TM1 application
Post Reply
User avatar
Alan Kirk
Site Admin
Posts: 6606
Joined: Sun May 11, 2008 2:30 am
OLAP Product: TM1
Version: PA2.0.9.18 Classic NO PAW!
Excel Version: 2013 and Office 365
Location: Sydney, Australia
Contact:

Introductory "How To" guide for installing TM1 Servers

Post by Alan Kirk »

CAUTION: This was written back in the days of 9.0 / 9.5.2, before things like Cognos Configuration came onto the scene. That has changed the way that the installation of services needs to be handled. I wanted to remove the post entirely but given the presence of other posts in the thread the other admins felt that it would be better to keep it in place with a note. Although the procedures below still work, you should regard this post as being of historical interest only. AK Nov 2015.
.....................................................................................................................................................................................................

Since I've just gone through the process of reinstalling some services, I thought I'd offer the annotated (and believe it or not, truncated) version of my own guide to the subject. The guide was intended to cover the needs of anyone down to and including someone who's coming from the Finance rather than IT world and who is therefore only vaguely familiar with the operation of a Windows server, so I trust that experienced Admins will pardon any moments which are, for them, "Well Duh" ones. Martin has already made a post about installing services but this one is a bit broader in scope, so I'd rather not run the risk of threadjacking his one by adding this post to it.

The comments below focus on an install of 9.0 SP3 but have found to be pretty much consistent through other versions between 8.2.12 and 9.4 as well. However it would be unwise to assume that every quirk of behaviour, good or bad, will apply equally to all versions and all operating systems.

Services Vs Applications
A computer program which runs as an Application will normally have some kind of user interface. This may be a window on the desktop (usually with an icon on the task bar), or even an icon in the system tray which launches such a window.

Services are programs which usually run without a user interface. You won't normally see any icons, dialogs or windows with a Service. They're intended to be programs which can start and run and take care of themselves with little to no manual intervention required on the part of an administrator. (Unfortunately some earlier releases of the 9.1 server violated that principle when they crashed, displaying a dialog which had to be cleared by someone who had proxied into the Windows server box. That dialog (relating to a memory error) prevented the Service from automatically restarting in the manner which is discussed later.)

In the case of a TM1 Server which is run as an Application, you'll see a program window on the Windows desktop which will show all of the actions that the server performed when it started. (Loading cubes, dimensions, etc.) You won't see that if the TM1 Server is run as a service.

Both types of programs will be visible in the Processes list of Windows Task Manager, but only programs which are running as applications will be visible on the Applications tab (as you'd expect).

TM1 servers are run using one of two different executable files; tm1s.exe is used to run a TM1 server as an Application, and tm1sd.exe is used to run it as a Service. It is possible to run some TM1 Servers as Applications and some as Services on the same Windows server.

Similarly, the TM1 Admin Server program (the program that TM1 Servers need to register themselves with so that users can see them in Server Explorer) can be run as either an Application or a Service, though the latter is more typical. Since the service is automatically created during the installation of any modern version (certainly from 8.2 onwards, probably earlier) there is seldom any need to run the Admin Server program as an application. The only advantage in doing so is that you can see which TM1 servers are registered with the Admin Server. Again two different executables can be used; tm1admsrv.exe to run it as an Application and tm1admsd.exe to run it as a Service.

Caution: TM1 Servers which are run as Applications will quite happily register themselves with an Admin Server which is running as either an Application or a Service. TM1 Servers which are run as a Service, however, will not register themselves with an Admin Server which is running as an Application. They'll generate an error stating that the service can't be started. This is because when the services are created they're defined as being dependent on the Admin Server service, which can't start if the Admin Server application is running. A further indication of this dependency is that if you're running the Admin Server as a Service and stop it via the Computer Management Console, the Console will tell you that any TM1 Servers which are also running will have to be stopped as well.

Running A TM1 Server As An Application
To manually start an Application, you normally do so via an icon on the Windows desktop, or in the Start menu. Applications can also be scheduled to start using various scheduling tools, and can be started automatically when Windows does by (amongst other things) placing their icon in the Startup folder of the Windows Start menu.

Note: To launch a TM1 server as an Application it's not enough to double click on a shortcut to the tm1s.exe executable file, since that gives the application no information about where the data directory is or other critical parameters. That information can be provided via switches which can be added to a shortcut to the tm1s.exe file. Based on trial and error, I would regard the following switches as being necessary for the application to start correctly:
-z which specified the path to the tm1s.cfg file;
-d which specifies the data directory where the cube, dimension etc files are stored (typically the same as the above);
-v which specifies the name of the Admin Host box (the computer on which the Admin Server program is running);
-s which specifies the port number that the TM1 Server will use; and
-n which specifies the name of the server.

The Target line of the shortcut's properties would therefore be something like:

Code: Select all

"C:\Program Files\Applix\bin\tm1s.exe" –z C:\Perspectives90\sData -d C:\Perspectives90\sData -v PCS09080011 -s 12344 -n sData1
Running A TM1 Server As A Service
Unlike Applications, Services don't use icons. If you need to manually start or stop one, you do so via the Services list in the Computer Management Console. This is accessed by right clicking on the My Computer icon on the Windows server and selecting "Manage". You can choose whether services automatically start (and restart) via that Console as well. (Discussed later.)

Open the Services And Applications node of the console and look at the Services list to see this in action.

How Are Services Created? Part 1: During Installation of TM1
The Admin Server service is created automatically by the installation program when you install TM1 on your Windows server.

Assuming that you do a Custom install, you also have the option of installing up to three TM1 Server services during the installation process. Each service created in this way will point to the same executable file (tm1sd.exe), but to a different TM1 database folder.

Note: A folder which contains all of your cube, dimension and other TM1 object data files is sometimes called a "database". A TM1 server instance loads the files in the designated database folder into memory when it starts, and saves data back to the same folder when it ends. Databases are therefore separate from the TM1 server program itself. You can have multiple instances of the TM1 server program running, with each instance referring to a different "database". You cannot, however, have multiple instances of the TM1 server program referring to the same database, since (for one thing) the transaction log file (tm1s.log) will be locked by whichever instance of the program grabs it first. Strictly speaking the folder that you identify when you create a service is the one which contains the tm1s.cfg file rather than the data files, and the tm1s.cfg file could (in theory at least) point the program to a different database directory. I've never tried that, and recommend that you don't either unless you're the sort of person who sticks their hand in a blender "just to see what happens". Note that when you look at the service in the Computer Management Console you can see the executable's path and name, but not that of the database directory. (See Figure 3, below.) The database directory for a service can't be changed via the Computer Management Console; it would need to be done by hacking the Registry, which is another thing that I don't recommend. If you've created the service pointing to the wrong database directory, it's better to uninstall the service and reinstall it correctly.

Unfortunately the installation of databases/services during program installation is done via one of the most annoying dialogs ever created.
ServerConfig1.jpg
ServerConfig1.jpg (36.1 KiB) Viewed 23346 times
Figure 1 - TM1 Server Configuration
Choose Database allows you to select from:
(a) The Planning Sample database;
(b) The Sample database or
(c) A Custom database.

The first two are predefined example sets of cubes, dimensions and other TM1 objects which are referred to in some training materials. If you're a new TM1 user it's recommended that you install at least one of these, if only to have a tm1s.cfg server configuration file created which you can then copy and modify for your own databases.

"Custom database" refers to a folder in which you can create your own cubes. I tend not to install custom databases via this dialog and prefer to do it via the command line after installation. That's partly because I find this dialog seriously annoying and finicky to work with, but mostly because I prefer to give each server a unique process name (as will be discussed later), thus allowing me to identify the processor and memory usage of each one in Windows Task Manager.

Server Name is obviously the server name that will be seen in Server Explorer when the TM1 Server is running. Each database that you specify will have a separate service created in the services list of the Computer Management Console; the service will appear under the name TM1 Server - ServerName. This is equivalent to the -n parameter when installing the service from a command line, and in the application shortcut that was discussed earlier.

In most cases the Admin Server host machine name will be the name of the Windows sever that you're installing TM1 onto. (It's the name of the machine on which the Admin Server that you want the TM1 Server to register itself with will be running, but as often as not that's the same machine.) This entry doesn't affect the creation of the TM1 Server service. (If you create the service outside of the installation package, that is, via the command line, then this isn't a value that you need to (or can) can specify.) I believe that this value is only used in creating the tm1s.cfg file that will be placed in the database directory by the installation package.

The Port Number is the Windows port number that the TM1 Server will use in communications. Each TM1 Server needs to use a unique port number. If you're creating multiple servers, plan in advance which port numbers you're going to use because if you have two TM1 servers running which are using the same port numbers, you'll have problems connecting to them. The default one recommended by the installation package is 12345. If you define more than one server here, the next one will have a default port of 12346, and so on. The range of valid port numbers is 5001 to 49151. (5000 is used by Local servers which run on your own computer rather than on a Windows server.) As with the Admin server, this information doesn't need to be supplied when you're creating a service outside of the installation package. (Nor is it stored with the service definition in the Registry.) Accordingly I again believe that this information will only be used to create your tm1s.cfg file, not the service.

You can change the directory in which the cubes, dimensions etcetera will be stored in via the [Change Data Directory] button. By default this goes into a "Custom" folder under the TM1 Application folder. CAUTION! You must change this folder location if you're working on Vista (and presumably Server 2008 at some point in the future when it becomes supported), since Vista will not allow you to store data files in a folder in the Program Files path. Instead it redirects some data files off to some obscure location (without telling you) which will cause you a great deal of frustration and confusion. The folder that you specify here will be the one that the service will look to to find the tm1s.cfg configuration file. It's equivalent to the -z parameter when you're installing the service from a command line, or when creating a shortcut to the application executable.

Tip: Do NOT click on the [Apply] button after you change the data directory, or it will bounce back to the default folder. (Hence, "one of the most annoying dialogs ever created".)

If you are creating only one TM1 server service, you can click on the [Next] button to move on to the next installation dialog. Alternatively, if you wish to create a second or third TM1 server service you need to click on the Configure another TM1 Server box before you do that.

Tip: If you're already on the second service and you don't want to configure any more services, the [Next] button will be ghosted until you click the [Apply] button. At which time, as noted above, the data directory will reset to the default one. (Hence again, "one of the most annoying dialogs ever created".) Change your data directory again if you need to, or avoid the problem by entering every setting except the data directory one, clicking on [Apply], then changing the directory followed by clicking the [Next] button.

If you do a Standard install rather than a Custom one, only the Planning Sample database is installed. You then need to create your own database and service manually, as discussed later.

How Are Services Created? Part 2: After the Installation of TM1
The alternative to creating the services during installation is to use the command line to create them, as discussed further down in this post and in Martin's post referred to in the introduction.

Windows Accounts And Services
When you log on to Windows and run a program (say, Excel or Word) on your own computer, it's running under the account that you log in with. The program therefore relies on the permissions that your login has to access the system and any external resources like printers or shared drives.

Similarly a TM1 Server Service (as well as the TM1 Admin Server service) need to run under an account even though this is something that a new user might not think about.

When you're doing the installation you will be asked to specify a user name and password for TM1 services as shown in the dialog below.
UserNamePwd.jpg
UserNamePwd.jpg (38.56 KiB) Viewed 23346 times
Figure 2 - User Name / Password

Caution: Do not be tempted to skip these entries. If you do so in 9.0 at least, the installation won't fail despite the warning shown at the top of the dialog. However the Admin Server will be installed to run under no account at all and will not start. Also, if you uninstall TM1 without rectifying that, the uninstall script won't be able to remove the Admin Server service though it will flag it for deletion. It takes a reboot of Windows to get rid of it. (Any subsequent attempt to install TM1 prior to that reboot will fail given that the Admin Server service is still there.) It's possible to change the account that a Service runs under as discussed later, but it's best to get it right in the first place and avoid the aggravation.

The Admin Server Service, and any TM1 servers that you created during installation will all run under the account that you specify in the Figure 2 dialog. It's therefore important to specify an account which will have access to all system resources that TM1 requires.

When you create a service using a command line as discussed below, you have the option of setting a user name and password which are equivalent to the ones that you specify in Figure 2.

Installing A Service Via The Command Line / Command Prompt
Caution: If doing this under Vista (and presumably Windows Server 2008 in the future), make sure that you right click on the Command Prompt icon and select Run As Administrator.

As noted in Martin's post, you first change to the folder containing the tm1sd.exe program. Typically something like:

Code: Select all

CD C:\Program Files\Cognos\TM1\Bin
or

Code: Select all

CD C:\Program Files\Applix\TM1\Bin
depending on your version.

Tip: When you're running TM1 servers as Applications and you have more than one session running on the Windows server, you can easily see which TM1 Server application is chewing up processor usage or memory by right clicking on the application's name in the Applications tab of Windows Task Manager, then selecting Go To Process. In Vista you can do something similar from the list of Services. (That's the list of services in Windows Task Manager, not the list in the Computer Management Console; Windows Task Manager in Vista has more tabs than its predecessor, including one for Services.) However in Windows XP and Windows Server (up to 2003) there isn't an equivalent list, so you could have multiple processes named tm1sd and no way to tell which one is which. What I therefore do before installing my TM1 server services is to make a copy of the tm1sd.exe file for each TM1 server that I want to run, and rename the copy / copies as tm1sdxxx where xxx is a code that allows me to tell which TM1 server it's referring to. (For example, if I plan to create two server services then I'll have three files. tm1sd.exe (the original, which is used for any services created by the TM1 installation program) is copied twice. The two copies are renamed (say) tm1sdProd.exe and tm1sdDev.exe, which are intended to run the production and development servers (respectively) that I plan to create via the command line.)

You use the program file itself to install the Service that will run it. This is done by passing it the -install parameter. (If you're not following the tip above it will be the original tm1sd.exe file rather than the appropriate variation on tm1sdxxx.exe.)

Code: Select all

tm1sdxxx.exe -install [Parameters as discussed below]
My preference is to pass the parameter flags (eg, -n) as well as the parameters themselves (eg ProdServer) when installing a service, though it isn't always necessary. Some Applix documents that I've seen in the past (specifically TM1 Registration and Maintenance of Windows Services) have stated that you need to avoid having spaces between the parameter flags and the parameters, but more recent manuals (eg, page 3-6 of the 9.4 TM1 Operations Guide) have shown examples with spaces between the parameter flags and the arguments. I've found that it doesn't make a difference, at least in any version that I've tested between 8.2.12 and 9.4.1.

The four parameters are:
Required
-n The name of the TM1 Server. This is equivalent to the -n argument in the application shortcut described earlier. This will become the name shown in Server Explorer and will also form part of the name of the service when shown in the Services list of the Computer Management Console.

-z The directory that will contain the TM1 database, including all of your cubes, dimensions and most importantly of all, the tm1s.cfg file. This is the same as the -z parameter in the application shortcut.

Important: Unlike creating a TM1 Server service via the installation package, this command line method will not create a tm1s.cfg file for you. You need to have already created one, making sure that it contains (at the very minimum) the correct data directory, log file directory, port number and server name settings (especially if you're copying the tm1s.cfg file from another database), and placed it in the directory that you specify here.

Optional But IMHO Highly Recommended
-u A valid user name for the computer on which you have installed the TM1 Server program. This will typically be in the format Domain or Computer Name\User Name.

-w The password for the above account.

The 9.4 Operations Manual states that "If you do not provide a user name, the current user
account is used by default." While I'd be reluctant to make a categorical statement for all versions of Windows or TM1, I can say that that's not my experience. Rather, the TM1 server will be installed to run under the Local System account. (Though you can change this later as discussed in the next section.)

Some claim that this is unimportant, and indeed in most cases, on most systems and most versions it seems that the server will run under the Local System account without any problems. On a Windows server which is largely self contained and doesn't access any external resources it probably doesn't matter. However my own experience is that some network resources will not be accessible when the server is running under the Local System account and you won't discover this until something that you expected to work (such as a TI process which accesses an ASCII file on a network share), doesn't. My preference is therefore to create all services under a domain account which is known to have the correct permissions. After all, why take the risk?

The final command line would therefore look something like:

Code: Select all

tm1sd_Prod.exe -install -n Prod -z C:\Perspectives90\Prod -u PCS0908011\Administrator -w AdminPassword
Uninstalling A Service
Again there are two ways of doing this. Before doing either one, I'd suggest doing a manual data save first (if the server is running), waiting for the save to end, then shutting down the service manually via the Computer Management Console. This will ensure that you don't lose any data if you want to later use the database with a different service.

Option 1 is to uninstall TM1 from the Windows server. This should uninstall all of the TM1 services including the servers, and the Admin Server. (Subject to the caution earlier about what happens if you don't specify a valid account and password during install.)

Option 2 is again by the command line. This time only one argument is passed, that being the name of the server.

Code: Select all

tm1sd.exe -remove -n ServerName
If you followed the tip that I gave earlier, you'll use the renamed copies of the tm1sd.exe file rather than the original one.

What Options Do You Have For Services?
You can change several of a Service's properties by right clicking on the service in the Services list of the Computer Management Console, and selecting Properties. The dialog that you'll see will be similar to the one below.
Service.jpg
Service.jpg (38.13 KiB) Viewed 23342 times
Figure 3 - Configuring a Service via the Computer Management Console

Things to note:
(a) You can see the TM1 Server name that was specified in the -n parameter in both the "Service name", and the "Display name"
(b) Note that the "Path to executable" shows the path to the copy of the tm1sd.exe file that I created rather than the original one.
(c) New services that you create from the command line will typically have a startup type of Manual, and a service status of Stopped.

The first thing that you'll want to change is the Startup Type. You'll probably want to set this as Automatic so that the server will load automatically when the Windows server box reboots. (Except for the sample database(s) that were installed by the installation program, anyway. The services created by the installation program are already set to Automatic, and you'll most likely want to change them to Manual since you'll only want them running if you're working through the examples in the manuals.)

I've occasionally had problems with the Automatic setting (on Windows Advanced Server 2000 / TM1 8.2.12) resulting in some services failing to start correctly and needing manual intervention. My best guess is that they're conflicting with something else that's happening during the mad flurry of activity that occurs when a typical Windows box starts up. For future reference (that is, for when the operating systems are supported) both Windows Vista and Windows Server 2008 have an additional option called Automatic (Delayed Start) which waits a short while after the system has finished booting before it starts the services. Were that option available on my servers I'd most likely use it, but in its absence Automatic is still the preferred setting for a production environment.

On the Log On tab you'll find an option to change between running the service under the Local System account, or a domain account. The domain account is specified in the same way as you would have done it had you entered it in the -u parameter of the command line. The password can also be specified.

The Cognos "Proven Practices" document mentioned earlier (TM1 Registration and Maintenance of Windows Services) states that you should change the Service from using the Local System account to using a domain account if you didn't install it using such an account.

On the Recovery tab you can tell Windows what you want the server to do if the TM1 Server crashes. You can specify the action to take on the first crash, the second crash and subsequent crashes, and how long Windows should wait before resetting the crash counter. (In other words, if the system crashes today and you specify that the counter should be reset after 1 day, then a crash that occurs next week will be treated as a "first failure" not a second one.)

The options are to:
(a) Take no action. (If you select that then you would need to manually restart the service);
(b) Restart the program after a specified number of minutes;
(c) Run another program (for example, a program that may send an e-mail notification);
(d) Reboot the Windows server.

Generally you would set at least the first and second failure options to "Restart the service" since this is one of the primary reasons for using a Service rather than an application; if it falls over then it can pick itself back up without you being there.

The "Subsequent failures" option would probably perform a different action (or no action at all) since if a TM1 server falls over more than twice in a single day then you probably have a serious issue that you need to look at.

The Dependencies tab merely shows you that the TM1 Server service depends on the Admin Server service as mentioned earlier.

So Use Services, Or Applications?
I used applications for a very long time because I preferred the greater visibility that they gave me over individual sessions. However making a renamed copy of the tm1sd.exe file gives me almost as much visibility. The great plusses of using services are the automatic restart option, and not needing to be able to access the server to restart a fallen application. (This is important if you have a very "territorial" IT department which doesn't provide you with full access to your server, and lack the mob connections required to have the policy setters of that department "sleep with the fishes". Not that I'm encouraging this, {cough}.)

My own view is that the number of TM1 servers which run as applications will continue to decrease over time, local servers excepted. The advantages of using services outweighs the disadvantages.
"To them, equipment failure is terrifying. To me, it’s 'Tuesday.' "
-----------
Before posting, please check the documentation, the FAQ, the Search function and FOR THE LOVE OF GLUB the Request Guidelines.
sh226
Posts: 30
Joined: Wed Jun 06, 2012 8:59 pm
OLAP Product: TM1
Version: TM1 9.5.2
Excel Version: 2010

Re: Introductory "How To" guide for installing TM1 Servers

Post by sh226 »

Thanks for Detail guide on installing TM1 server however one thing that i am looking is how to change TM1 ServerID (-n which specifies the name of the server). Actually i have installed services and now i want to change my TM1 service name "local test" to "TRNG". Thanks in advance for your help.
User avatar
jim wood
Site Admin
Posts: 3951
Joined: Wed May 14, 2008 1:51 pm
OLAP Product: TM1
Version: PA 2.0.7
Excel Version: Office 365
Location: 37 East 18th Street New York
Contact:

Re: Introductory "How To" guide for installing TM1 Servers

Post by jim wood »

As far as I know (Please correct me if I am wrong) as this is a windows service you have 2 options when it comes to renaming the physical service in windows. 1) Hack it in the registry or 2) remove and re-add it with a different name.

If you are talking about the display name seen in architect etc, then you are looking at a simple change to the CFG file in the data directory,

Jim.
Struggling through the quagmire of life to reach the other side of who knows where.
Shop at Amazon
Jimbo PC Builds on YouTube
OS: Mac OS 11 PA Version: 2.0.7
sh226
Posts: 30
Joined: Wed Jun 06, 2012 8:59 pm
OLAP Product: TM1
Version: TM1 9.5.2
Excel Version: 2010

Re: Introductory "How To" guide for installing TM1 Servers

Post by sh226 »

I changed the name in .CFG file and restarted the services and it is working as i wanted. Thanks for your help
sh226
Posts: 30
Joined: Wed Jun 06, 2012 8:59 pm
OLAP Product: TM1
Version: TM1 9.5.2
Excel Version: 2010

Re: Introductory "How To" guide for installing TM1 Servers

Post by sh226 »

Hello, I am going through a tough situation, Please help me on this. Here is what i am doing and facing issues.
I have installed COGNOS EXPRESS 10.0 in my development server windows 2008 standard full.
I have copied my production Data folder to my development server and when i change default database directory path in .CFG file to my desired path, It wont work however if i keep default folder path in CFG file and copy all my data in default location then it works.
I have changed default location to different location in the past and it worked previously and still working in production but here when i changed "DataBaseDirectory" path to "C:\TM1\ABC\TM1Server\Data" then it does not work but if I keep the default "DataBaseDirectory" path "C:\Program Files (x86)\IBM\Cognos Express\Xcelerator\Custom\TM1Data\CXMD" then it works.
!!!!!One thing i have noticed, after i change directory path and re-start the services and looked in "processes" of task manager and saw it loads the data and right at the end of loading "tm1sd.exe" stops working and disappears.

Please help me to understand why is it not working and if there is any solution to that? Thanks
User avatar
Alan Kirk
Site Admin
Posts: 6606
Joined: Sun May 11, 2008 2:30 am
OLAP Product: TM1
Version: PA2.0.9.18 Classic NO PAW!
Excel Version: 2013 and Office 365
Location: Sydney, Australia
Contact:

Re: Introductory "How To" guide for installing TM1 Servers

Post by Alan Kirk »

sh226 wrote:Hello, I am going through a tough situation, Please help me on this. Here is what i am doing and facing issues.
I have installed COGNOS EXPRESS 10.0 in my development server windows 2008 standard full.
I have copied my production Data folder to my development server and when i change default database directory path in .CFG file to my desired path, It wont work however if i keep default folder path in CFG file and copy all my data in default location then it works.
I have changed default location to different location in the past and it worked previously and still working in production but here when i changed "DataBaseDirectory" path to "C:\TM1\ABC\TM1Server\Data" then it does not work but if I keep the default "DataBaseDirectory" path "C:\Program Files (x86)\IBM\Cognos Express\Xcelerator\Custom\TM1Data\CXMD" then it works.
!!!!!One thing i have noticed, after i change directory path and re-start the services and looked in "processes" of task manager and saw it loads the data and right at the end of loading "tm1sd.exe" stops working and disappears.

Please help me to understand why is it not working and if there is any solution to that? Thanks
The first place that you should check is under the Windows logs. (Right click on Computer -> Manage -> Event Viewer -> Windows Logs -> Application. That's on Win 7 but I believe it's the same in Server 2008.) I'd bet that you'll see an error which reads something along the lines of:
Log Name: Application
Source: tm1sdx64
Date: 5/01/2013 7:43:21 AM
Event ID: 0
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: {Redacted}
Description:
The description for Event ID 0 from source tm1sdx64 cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event:

tm1sdx64 error: 3
Data directory not specified. Aborting server start up.
Why? Probably because rather than installing a new service (which is what this thread is actually about) you used the original one. And if you used the original one, then you will have told it at the time of installation where not the data directory, but rather the config file, is. (That is, tm1s.cfg, the file that the service needs to look at to determine where the data directory is.) By default that file is going to be in the server's data directory so when you move the data directory, the server's service no longer knows where to look for it.

(I no longer keep the config file in the data directory but rather one folder above that (hat tip to Martin for that one), but that's a different conversation.)

The solution is to either re-install the service pointing it to the Config file's new location, or to hack the Registry to re-point it to the new location.

In Windows 7 the relevant Registry entry (ConfigPath) is under HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\NameOfServer

Once the ConfigPath value is changed to the correct location, the service should start. (Confirmed through testing.)

Best to fire up RegEdit and do a search for your server name to determine where your entry is located if you want to follow that path, though.

And I'll give the official disclaimer; don't attempt to edit the Registry unless you know what you're doing, keep backups, reinstalling is the preferred method because it's safer, blah, blah.
"To them, equipment failure is terrifying. To me, it’s 'Tuesday.' "
-----------
Before posting, please check the documentation, the FAQ, the Search function and FOR THE LOVE OF GLUB the Request Guidelines.
sh226
Posts: 30
Joined: Wed Jun 06, 2012 8:59 pm
OLAP Product: TM1
Version: TM1 9.5.2
Excel Version: 2010

Re: Introductory "How To" guide for installing TM1 Servers

Post by sh226 »

Alan Kirk wrote:
sh226 wrote:Hello, I am going through a tough situation, Please help me on this. Here is what i am doing and facing issues.
I have installed COGNOS EXPRESS 10.0 in my development server windows 2008 standard full.
I have copied my production Data folder to my development server and when i change default database directory path in .CFG file to my desired path, It wont work however if i keep default folder path in CFG file and copy all my data in default location then it works.
I have changed default location to different location in the past and it worked previously and still working in production but here when i changed "DataBaseDirectory" path to "C:\TM1\ABC\TM1Server\Data" then it does not work but if I keep the default "DataBaseDirectory" path "C:\Program Files (x86)\IBM\Cognos Express\Xcelerator\Custom\TM1Data\CXMD" then it works.
!!!!!One thing i have noticed, after i change directory path and re-start the services and looked in "processes" of task manager and saw it loads the data and right at the end of loading "tm1sd.exe" stops working and disappears.

Please help me to understand why is it not working and if there is any solution to that? Thanks
The first place that you should check is under the Windows logs. (Right click on Computer -> Manage -> Event Viewer -> Windows Logs -> Application. That's on Win 7 but I believe it's the same in Server 2008.) I'd bet that you'll see an error which reads something along the lines of:
Log Name: Application
Source: tm1sdx64
Date: 5/01/2013 7:43:21 AM
Event ID: 0
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: {Redacted}
Description:
The description for Event ID 0 from source tm1sdx64 cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event:

tm1sdx64 error: 3
Data directory not specified. Aborting server start up.
Why? Probably because rather than installing a new service (which is what this thread is actually about) you used the original one. And if you used the original one, then you will have told it at the time of installation where not the data directory, but rather the config file, is. (That is, tm1s.cfg, the file that the service needs to look at to determine where the data directory is.) By default that file is going to be in the server's data directory so when you move the data directory, the server's service no longer knows where to look for it.

(I no longer keep the config file in the data directory but rather one folder above that (hat tip to Martin for that one), but that's a different conversation.)

The solution is to either re-install the service pointing it to the Config file's new location, or to hack the Registry to re-point it to the new location.

In Windows 7 the relevant Registry entry (ConfigPath) is under HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\NameOfServer

Once the ConfigPath value is changed to the correct location, the service should start. (Confirmed through testing.)

Best to fire up RegEdit and do a search for your server name to determine where your entry is located if you want to follow that path, though.

And I'll give the official disclaimer; don't attempt to edit the Registry unless you know what you're doing, keep backups, reinstalling is the preferred method because it's safer, blah, blah.
Kirk Thanks for replying,
I changed the Data directory path in registry but no success.
I have looked into event viewer of server 2008 and found following three errors: Please see below if you can help on that. Thanks
1.
Log Name: Application
Source: tm1sdx64
Date: 1/7/2013 12:44:14 PM
Event ID: 0
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer:

The following information was included with the event:

tm1sdx64 error: 0
C12) Log file exists. Do you want to recover changes?

2.

Log Name: Application
Source: tm1sdx64
Date: 1/7/2013 12:44:14 PM
Event ID: 0
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer:

The following information was included with the event:

tm1sdx64 error: 0
Corrupt "tm1s.log" transaction log file. Server is coming down

3.
Log Name: Application
Source: Application Error
Date: 1/7/2013 12:44:16 PM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer:
Description:
Faulting application name: tm1sd.exe, version: 10.1.3.23253, time stamp: 0x4f98c6f7
Faulting module name: tm1sd.exe, version: 10.1.3.23253, time stamp: 0x4f98c6f7
Exception code: 0xc0000005
Fault offset: 0x0000000000206e25
Faulting process id: 0xb3c
Faulting application start time: 0x01cdecfe0f698629
Faulting application path: C:\Program Files (x86)\IBM\Cognos Express\bin64\tm1sd.exe
Faulting module path: C:\Program Files (x86)\IBM\Cognos Express\bin64\tm1sd.exe
Report Id: dab74516-58f1-11e2-8794-00155d00f811
User avatar
Alan Kirk
Site Admin
Posts: 6606
Joined: Sun May 11, 2008 2:30 am
OLAP Product: TM1
Version: PA2.0.9.18 Classic NO PAW!
Excel Version: 2013 and Office 365
Location: Sydney, Australia
Contact:

Re: Introductory "How To" guide for installing TM1 Servers

Post by Alan Kirk »

sh226 wrote: I have looked into event viewer of server 2008 and found following three errors: Please see below if you can help on that. Thanks
1.
Log Name: Application
Source: tm1sdx64
Date: 1/7/2013 12:44:14 PM
Event ID: 0
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer:

The following information was included with the event:

tm1sdx64 error: 0
C12) Log file exists. Do you want to recover changes?
This appears whenever you start a server and there is a tm1s.log file in place. It usually means that the server crashed before it could save all of the cube data to disk. (When it does so successfully the tm1s.log file is renamed using a filename which includes a timestamp showing the time and date of the save; for example, it will be renamed as something like tm1s20130107170234.log. If the original tm1s.log file is still in place obviously that renaming didn't occur, and therefore the data save failed.) It was the prompt that you used to get back in the olden days when most servers were run as applications; when you manually re-started the application then you would see a dialog giving you the option of re-loading the unsaved transactions in the transaction log or not, according to your preference. These days when you run it as a service the transaction log is automatically re-loaded but you still see the message above in the Windows logs. It's a badly worded information message (in the sense that it's not really a question, and you can't answer it since there's no dialog) , not an error message.
sh226 wrote: 2.
Log Name: Application
Source: tm1sdx64
Date: 1/7/2013 12:44:14 PM
Event ID: 0
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer:

The following information was included with the event:

tm1sdx64 error: 0
Corrupt "tm1s.log" transaction log file. Server is coming down
Means that when it DID try to reload the transaction log, the server found it to be corrupt and fell over.

Check that you have plenty of disk space where your transaction log is stored, and make sure that it's excluded from any virus scanners that are running on the server box.

Aside from that the only problem that I'm aware of with corrupt transaction logs is the one discussed in this thread, though supposedly it was fixed in 9.5.2 FP1.

You should also refer to Moby91's post in this thread.
sh226 wrote:3.
Log Name: Application
Source: Application Error
Date: 1/7/2013 12:44:16 PM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer:
Description:
Faulting application name: tm1sd.exe, version: 10.1.3.23253, time stamp: 0x4f98c6f7
Faulting module name: tm1sd.exe, version: 10.1.3.23253, time stamp: 0x4f98c6f7
Exception code: 0xc0000005
Fault offset: 0x0000000000206e25
Faulting process id: 0xb3c
Faulting application start time: 0x01cdecfe0f698629
Faulting application path: C:\Program Files (x86)\IBM\Cognos Express\bin64\tm1sd.exe
Faulting module path: C:\Program Files (x86)\IBM\Cognos Express\bin64\tm1sd.exe
Report Id: dab74516-58f1-11e2-8794-00155d00f811
Probably just results from error 2 given how close it follows on from it.
"To them, equipment failure is terrifying. To me, it’s 'Tuesday.' "
-----------
Before posting, please check the documentation, the FAQ, the Search function and FOR THE LOVE OF GLUB the Request Guidelines.
sh226
Posts: 30
Joined: Wed Jun 06, 2012 8:59 pm
OLAP Product: TM1
Version: TM1 9.5.2
Excel Version: 2010

Re: Introductory "How To" guide for installing TM1 Servers

Post by sh226 »

Alan Kirk wrote:
sh226 wrote: I have looked into event viewer of server 2008 and found following three errors: Please see below if you can help on that. Thanks
1.
Log Name: Application
Source: tm1sdx64
Date: 1/7/2013 12:44:14 PM
Event ID: 0
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer:

The following information was included with the event:

tm1sdx64 error: 0
C12) Log file exists. Do you want to recover changes?
This appears whenever you start a server and there is a tm1s.log file in place. It usually means that the server crashed before it could save all of the cube data to disk. (When it does so successfully the tm1s.log file is renamed using a filename which includes a timestamp showing the time and date of the save; for example, it will be renamed as something like tm1s20130107170234.log. If the original tm1s.log file is still in place obviously that renaming didn't occur, and therefore the data save failed.) It was the prompt that you used to get back in the olden days when most servers were run as applications; when you manually re-started the application then you would see a dialog giving you the option of re-loading the unsaved transactions in the transaction log or not, according to your preference. These days when you run it as a service the transaction log is automatically re-loaded but you still see the message above in the Windows logs. It's a badly worded information message (in the sense that it's not really a question, and you can't answer it since there's no dialog) , not an error message.
sh226 wrote: 2.
Log Name: Application
Source: tm1sdx64
Date: 1/7/2013 12:44:14 PM
Event ID: 0
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer:

The following information was included with the event:

tm1sdx64 error: 0
Corrupt "tm1s.log" transaction log file. Server is coming down
Means that when it DID try to reload the transaction log, the server found it to be corrupt and fell over.

Check that you have plenty of disk space where your transaction log is stored, and make sure that it's excluded from any virus scanners that are running on the server box.

Aside from that the only problem that I'm aware of with corrupt transaction logs is the one discussed in this thread, though supposedly it was fixed in 9.5.2 FP1.

You should also refer to Moby91's post in this thread.
sh226 wrote:3.
Log Name: Application
Source: Application Error
Date: 1/7/2013 12:44:16 PM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer:
Description:
Faulting application name: tm1sd.exe, version: 10.1.3.23253, time stamp: 0x4f98c6f7
Faulting module name: tm1sd.exe, version: 10.1.3.23253, time stamp: 0x4f98c6f7
Exception code: 0xc0000005
Fault offset: 0x0000000000206e25
Faulting process id: 0xb3c
Faulting application start time: 0x01cdecfe0f698629
Faulting application path: C:\Program Files (x86)\IBM\Cognos Express\bin64\tm1sd.exe
Faulting module path: C:\Program Files (x86)\IBM\Cognos Express\bin64\tm1sd.exe
Report Id: dab74516-58f1-11e2-8794-00155d00f811
Probably just results from error 2 given how close it follows on from it.
Alan Thanks for your help!
I cleaned up my log folder and re-started the services and it worked.
tm1novice
Posts: 29
Joined: Fri Nov 23, 2012 6:25 am
OLAP Product: TM1
Version: 10.1
Excel Version: 2003

Re: Introductory "How To" guide for installing TM1 Servers

Post by tm1novice »

Hi Alan,

Very detailed explanation. Thanks a lot!

One question.

Q : Is it possible to keep running a already started TM1 server when its TM1 admin server is stopped ?

When I did experiment, When on Box A has a TM1 server and its TM1 admin server installed as services, when you try to stop the Admin server from 'services' panel, it prompts and stops the dependant TM1 server as well.

But at the same time, the TM1 server running on Box B was running without any issues. I checked, as you explained in the dependency part, on Box A, the TM1 server service lists dependency for 'TM1 admin service'. I checked on google - there are ways to remove such dependencies.

Q2 : Is it good to remove such dependency with TM1 admin server. Just to have TM1 server running ,when TM1 admin server service is stopped.

Q3: Further tested, when i kill the admin server process directly from task manager, it does not affect the TM1 server running on the same box, that is Box A. Same with TM1 server on Box B. How so ?

Q4 : Documentation says, when admin server specified in tm1s.cfg is found not running, TM1 server starts admin server on its own machine and connects to it. For that we have to install TM1 admin server components with TM1 server installation right ?

Q5: And as explained in Q3, when Box A admin server stops, the TM1 server on Box B does not start its admin server to connect to it on its local server ? why so ?
Or it starts so, only at the startup of TM1 server and not once it has started with another tm1 admin server ?

Really appreiciate your response.

Thanks and Regards,
tm1novice
Post Reply