Tuesday, July 10, 2012

Resolving ADMR0104E for Application Server


This write up serve to record the resolution for the ADMR0104E error encountered by Websphere Application server during start up. The Application Server eventually is unable to start up.

From "SystemOut.log", we see that the system is unable to read some properties file.

[6/27/12 12:08:35:103 SGT] 00000000 FileDocument  E   ADMR0104E: The system is unable to read document cells/Cell01/nodes/Node01/node-metadata.properties: java.io.IOException: Permission denied
        at java.io.File.checkAndCreate(File.java:1715)
        at java.io.File.createTempFile(File.java:1803)
        at com.ibm.ws.management.repository.FileDocument.createTempFile(FileDocument.java:564)
        at com.ibm.ws.management.repository.FileDocument.read(FileDocument.java:500)
        at com.ibm.ws.management.repository.FileRepository.extractInternal(FileRepository.java:1134)


Some research and checks revealed that the permissions on the temp directory under the application server profile had been changed. The application server would then be no longer able to write to the temp directory for the node in the below directory.

# ls -ltr
total 0
drwxr-xr-x    3 root     system          256 Jun 27 11:54 download


The cause of this is the start up of the application server using root. That's the reason why the above temp directory is owned by root.

Potentially, you should check the ffdc directory as well.

# ls -l //AppSrv01/logs/ | grep ffdc
drwxr-xr-x    2 appusr   appgrp        49152 Jun 27 13:50 ffdc


Research from the internet, the directory owner and the process execution user should be in the same group and be at least of permission 774. TO be fail safe, change the ownership/group as required under //profiles/ and //profiles/.

Once the ownership is reverted back to "appusr", we should see the result as below.

# chown -R appusr:appgrp  download

# ls -ltr
total 0
drwxr-xr-x    3 appusr   appgrp          256 Jun 27 11:54 download


The Application server is able to start up now.

[6/27/12 12:21:56:692 SGT] 00000000 AdminTool     A   ADMU3000I: Server appsrv open for e-business; process id is 4128910{code}

We can also check the process execution of the application server in order to compare to the file system permissions, one can do the following:

1. Open the admin console
2. Open Servers –> Application Servers –>
3. Open Java Process Management –> Server Execution
4. Look for username and group of executing user

Thats all.

No comments: