TroubleShooting: WebSphere Edge Components, Load Balancer, "dsserver" fails to start errors
 Technote (FAQ)
 
Problem
TroubleShooting for problems with the WebSphere® Edge Components. This should help address common issues with this component before calling IBM support and save you time.

When trying to start "dsserver", via the command line, an error is received that the server was not started.

"dsserver" is merely a script that is used to start the Java process that allows the Load Balancer's user space functionality to communicate with the kernel space functionality, thus allowing us to issues commands (formerly ndcontrol, in current versions, dscontrol). Issuing this command not only starts the Java process, but it sets a number of variables for the load balancer environment such as the Java PATH, RMI port (for the above mentioned communication), the configuration that will be loaded, etc. You can view this file to get a better understanding of the variables set and for troubleshooting as outlined in this tech-note.
Windows OS C:\WINNT\system32\dsserver.cmd
Unix OS usr/bin/dsserver

When starting dsserver, the output is written to the server.log
Windows OS: C:\Program Files\IBM\edge\lb\servers\logs\dispatcher
UNIX OS: <install root>/IBM/edge/lb/servers/logs/dispatcher.
Sometimes this file will provide a lot of insight, but many times the loglevel is set to 1 and there may not be much useful information.
 
Cause
There are a number of possible causes for this failure;
the Java version is not supported
the Java process has already been started
the RMI port is already in use
the Java PATH is set incorrectly and points to a different version of Java on the machine
the hostname or IP address resolved by Java is incorrect (usually experienced with a multi-NIC machine)
the admin keys used by Load Balancer are corrupted
 
Solution
Follow these steps to eliminate the above mentioned causes. Should error continue after attempting these corrections, a MustGather list has been provided:
1.) Try issuing java -fullversion and confirm that it matches the prerequisites outlined on our site:
http://www-306.ibm.com/software/webservers/appserv/doc/latest/prereq.html

2.) Check to see if the Java process has already been started
Windows OS: check the task manager for javaw, if it exists, "End Task" and try again.
UNIX OS: ps -ef|grep Java
If the output indicates the RMI port of 10099, then that is the Java process in question. Then issue kill <pid> on that process. Try dsserver again. If the process is not listed, then it has not been started.

3.) Check to see if the RMI port is already in use (usually this means that the process is already started as not many programs use this port):
Windows OS: netstat -an (search for 10099)
UNIX OS: netstat -an|grep 10099
If the port is in use by another program then you must either stop that process, or change the default RMI Port in the dsserver script by changing this variable:
set LB_RMIPORT=10099
(see above "Abstract" for dsserver script location)

4.) Confirm that the Java PATH points to the correct version
Windows OS: issue "path" via the command line
UNIX OS: echo $JAVA_HOME
If you require two versions of Java on your machine you can force Load Balancer to use the required version of Java by editing the dsserver script to point to the correct version by changing this variable:
Windows OS: set PATH=%PATH%;c:\progra~1\ibm\java142\bin;
If the dsserver script is already correct, you may want to make sure that the bin directory is listed first (see example below):
set PATH=c:\progra~1\ibm\java142\bin;%PATH%

5.) It is quite possible that the hostname that is resolved by Java is incorrect for whatever reason. To force the RMI server to use the correct IP address, you can edit the following lines in the dsserver script file to include the "-Djava.rmi.server.hostname=w.x.y.z" where"w.x.y.z" is the IP address of the Load Balancer machine.

javaw %LB_ENCODING% -Djava.rmi.server.hostname=w.x.y.z -Xrs -cp %LB_CLASSPATH% %LB_INSTALL_PATH% %LB_CLIENT_KEYS% %LB_SERVER_KEYS% -Djava.protocol.handler.pkgs=com.ibm.net.ssl.internal.www.protocol com.ibm.internet.nd.server.SRV_KNDConfigServer %LB_RMIPORT% %LB_LOGDIR% %LB_SAVEDIR% %LB_BINDIR% %LB_CONFIGFILE% %LB_RMISERVERPORT%
&
java %LB_ENCODING% -Djava.rmi.server.hostname=w.x.y.z -cp %LB_CLASSPATH% %LB_INSTALL_PATH% %LB_CLIENT_KEYS% %LB_SERVER_KEYS% com.ibm.internet.nd.server.SRV_KillServer KNDServer
NOTE: even though the variable use the term "hostname, you should specify the IP address.
Save the changes and start dsserver again

6.) The admin keys are created when dsserver is executed for the first time. Sometimes these files are corrupted or resolve the wrong hostname or IP and need to be deleted after the above steps have been finished. Please go to the following directory and delete the keys and try dsserver again:
Windows OS: C:\Program Files\IBM\edge\lb\admin\keys\
UNIX: <install root>/IBM/edge/lb/admin/keys/

What to do Next?

If the above steps did not solve your problem, please see the MustGather for WebSphere Edge Components Load Balancer "dsserver" fails to start.

 
 
Cross Reference information
Segment Product Component Platform Version Edition
Application Servers WebSphere Application Server Edge Component AIX, HPUX, Linux, Solaris, Windows 6.0 Base, Network Deployment
 
 


Document Information


Product categories: Software > Application Servers > Edge Servers > WebSphere Edge Server > Load Balancer
Operating system(s): HP-UX
Software version: 6.0.1
Software edition:
Reference #: 1210874
IBM Group: Software Group
Modified date: Jun 30, 2005