Then We will restart the Node Manager and check for the log file error message again.

Solution :

1 : Log on to the Admin Console of the domain for which we are getting the error ( http://hostname:port/console )

2 : Go to Domain Name (Base_Domain) in my case >>>>> Then to security >>>>

3 : Click on the Advance Option.

4 : Change the username and password values that you want to use with the node manager.

in my case : username is : weblogic

password is : weblogic123

5 : save the changes.

Then each remote host:

Navigate to the folder %DOMAINHOME%\config\nodemanager

Edit the file: nm_password.properties

Content should be set to:

username=weblogic

password=weblogic123

Save

Restart the Weblogic Node Manager

6 : Then go to the Base_Domain/servers/mannaged_server/data/nodemanager/ dir.

7 : open the boot.properties file and enter the below values :

username=weblogic

password= weblogic123

the same values as set on Admin Console.

8: Restart the Admin Server.

9 : Now run the nmEnroll() wlst command for all the machines that has the Managed server.

wlst>connect(‘username’,’password’,’t3://admin_host:admin_port’)

online>>nmEnroll(‘Domain_dir_path’,’NodeManager_Home_Path’)

online>>exit()

Now you can check the node manager status from Admin Console .

left panel >> Machines >> Machine1 >> Monitoring >>

The Status should be reachable.

If the above steps did not resolve the issue the you can still post you issue in the comments below and I can try to help .

Error :

Feb 2, 2012 2:55:02 AM weblogic.nodemanager.server.NMServer main SEVERE: Fatal error in node manager server java.net.BindException: Address already in use at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365) at java.net.ServerSocket.bind(ServerSocket.java:319) at java.net.ServerSocket.<init>(ServerSocket.java:185) at java.net.ServerSocket.<init>(ServerSocket.java:141) at weblogic.nodemanager.server.Listener.init(Listener.java:56) at weblogic.nodemanager.server.NMServer.start(NMServer.java:206) at weblogic.nodemanager.server.NMServer.main(NMServer.java:377) at weblogic.NodeManager.main(NodeManager.java:31)

Reason :

The error message : java.net.BindException: Address already in use at

Shows that the Port number used by the Node Manager process is being already used by some other process .

Solution :

1 : First thing we need to check is whether Node Manager is already running on the machine :

For unix :

ps -ef | grep -v grep | grep -i weblogic.NodeManager

For windows :

netstat -a0 | findstr <NM_PORT_NO>

tasklist | findstr nodemanager

2 : If the process is not running already then, check which process is using the using the port assigned to node manager .

By default Weblogic Node Manager runs on port : 5556

So, to check which process is using this port use the below command .

For unix :

netstat -an | grep 5556

For Windows :

netstat -ao | findstr 5556

3 : If this port is already used by some other process then try to change the Node Manager Port number from file

Error :

Due to above error, Managed Servers cannot be started as the nodemanager is not reachable to Admin Console.

Stack trace from nodemanager.log file :

java.io.IOException: Invalid state file format. State file contents: at weblogic.nodemanager.common.StateInfo.load(StateInfo.java:135) at weblogic.nodemanager.server.ServerMonitor.loadStateInfo(ServerMonitor.java:475) at weblogic.nodemanager.server.ServerMonitor.isCleanupAfterCrashNeeded(ServerMonitor.java:139) at weblogic.nodemanager.server.ServerManager.recoverServer(ServerManager.java:255) at weblogic.nodemanager.server.DomainManager.initialize(DomainManager.java:103) at weblogic.nodemanager.server.DomainManager.(DomainManager.java:55) at weblogic.nodemanager.server.NMServer.getDomainManager(NMServer.java:257) at weblogic.nodemanager.server.Handler.handleDomain(Handler.java:224) at weblogic.nodemanager.server.Handler.handleCommand(Handler.java:108) at weblogic.nodemanager.server.Handler.run(Handler.java:70) at java.lang.Thread.run(Thread.java:619)

Reason :

The state file of the managed server is in an invalid state. Under each managed server directory, there is a NodeManager directory containing a state file <managed_server_name>.state. If this file is empty or corrupt, then the described errors occur.

For example, underE:\oracle\middleware\user_projects\domains\base_domain\servers\soa_server1\data\nodemanager, the soa_server1.state file is empty. The major cause of the corruption of this file is unexpected shutdown of the Machine.

17 Comments

Fred492November 4, 2016

I’m unable to start the nodemanager. I’m getting the following error:

weblogic.nodemanager.common.ConfigException: The domain ‘domain1’ at ‘/var/lib/occas/domains/domain1’ was not registered in the nodemanager.domains file and dynamic domain registration is not supported. Please register the domain in the nodemanager.domains file. at weblogic.nodemanager.server.NMServer.getDomainManager(NMServer.java:257) at weblogic.nodemanager.server.Handler.handleDomain(Handler.java:224) at weblogic.nodemanager.server.Handler.handleCommand(Handler.java:108) at weblogic.nodemanager.server.Handler.run(Handler.java:70) at java.lang.Thread.run(Thread.java:682) But if I look in this file, the domain does exist: cat /opt/occas/wlserver/common/nodemanager/nodemanager.domains #Domains and directories created by Configuration Wizard #Mon Oct 03 15:19:33 EET 2016 domain1=/var/lib/occas/domains/domain1 The error occurred because the system ran out of disk space. How can it be fixed? I tried to remove the lock files, but no change.

java.lang.IllegalStateException: The domain credentials are empty! Please run nmEnroll to properly enroll the domain on this machine or modify/reset the domain credentials. at weblogic.nodemanager.server.UserInfo.load(UserInfo.java:172) at weblogic.nodemanager.server.DomainManager.loadUserInfo(DomainManager.java:139)

Could you please help? I tried Enrolling and also updating Admin password. But no luck

I need to secure webservices, the client will send the username and password in the incoming request.The server needs to maintain the same username and password in teh properties file and validate it against the incomign request value. Can we manage the user name and password from weblogic with out maintaing it in the properties file from teh application..???any suggestions would help

This example shows how to secure a web service with username/password policy and deploy it on WLS. Also, if the web service is secured in this way, there is no need to maintain the username and password in some porperties files. The username and password has to be defined in security realm of weblogic server which is stored in embeded ldap that comes by default with weblogic.

I am using a shared domain`s directory to be able to failover the administration server from one node to another. I also configured node manager to restart all servers after crash or reboot. The Problem is that when I abruptely reboot the admin server node, sometimes lock files of managed servers strangely disappear and then managed servers are not automatically restarted by NM. I have no problem with admin server. Thanks for help.

can you share the error message while node manager is trying to start the Managed Server in such secnarios. As per my understanding there will be a lck file getting creating in : servers/MS1/tmp/MS1.lck which is preventing the server startup. so try to add a command : rm -rf servers/MS1/tmp/MS1.lck in your script and then node manager should be able to start the Managed Server .

In any case please share the error logs for better understanding of the issue .