WEBSPHERE INTERVIEW QUESTIONS COVERING ALL TOPICS
Interview questions and also find the realtime usage commands link at the end of the blog. Which will be helpful during the interview.
- In a Web-based architecture, if you try to hit the URL, it shows an error like page cannot be displayed, How to troubleshoot this issue?
Ans:
The Flow of Request happens from
Load
Balancer >> Webserver >> Appserver >> DBso the
investigation for such issues should also follow the same routes .. (
well thats how i follow )
Try
to check if the url is responding from your end. (This will eliminate
if its specific to a user or its error for every one)
Check
the Webserver if its running or not, If it’s not running start it
Check
if the application server and application is running.. if not start
it
Try
to access the Application directly from the Appserver .. ie using the
http transport port. ie wc_defalut .. ( this will identify if the
error is due to App server or is with the Webserver/plugin)
check
for the errors in the Appserver and web server logs
Check
for the config in the plugin file to ensure that the url which is
being hit is avaliable in the plugin-xml.cfg ( If it is not then it
could be possible that the plugin was not regeneraed ad propagated
after the deployment)
Enable
the trace in the plugin-xml.cfg to understand in the plugin logs
whether the plugin is forwarding the req to the appservers or not
Lastly
also check if the page which you are requesting is avaliable within
the web modules.
- Suppose in a cluster environment one of the servers is about to reach 100% CPU utilization, remaining servers are in normal utilization If this is a scenario then how it will occur and what is the reason for that case and how to resolve these kind things?
When
i looked at the System out log , there are lot of threads are in hung
state.
Solution:
Take
the 3 thread dumps in interval of 1-2 mins. (Kill -3 PID)
Kill
the that process ( kill -9 PID)
Restart
the server/JVM
Analyze
the dumps.
- If client is complaining that app is slow, then wat is the steps which need to be followed up to resolve the issue?
Well
there are many reasons for the slow behaviour
Check
the CPU utilisation of the appserver and the entire server to see if
there are cpu bottleneck(top command)
Check
the Memory utilisation of the appserver and the entire server to see
if there are memory bottleneck(Free -m)
Check
the systemout.log to check if there are any hung threads or OOM
Check
the heap allocated to the JVM
Check
the connection to the DB , it could be possible that the connections
to the DB has got MAXED out
Check
the Plugin and webserver logs to see if its connection to has maxed
Take
the thread dump for further analysis(kill -3)
- Suppose we have 10 applications in our environment? How the request goes to particular application?
A
request wills generally goto an exact application by the context
root
of that application.
- What is the difference between the Generate Plug in and Propagate Plug in?
generate
plugin:-if any changes are done in websphere environment then we have
to do generate plugin(changes like:-change in virtual host, creating
or deleting servers or clusters, deploying or deleting new
application)to create the plugin we have a cmd
bin/genplugincfg.bat->dmgr/bin directory) then it will be
generated in the DMGR cell level.
Propogate
plugin - It transfers the generated plugin to it respective remote
webserver config path : <WEBSERVER_HOME>/Plugins/config.
- When we synchronize node from cmd mode, why do we need to stop node agent. ?
To
make sure no changes to the master configuration while performing
full sync via cmd. If node agent Is up and someone else saving
configuration which conflict to the full sync...
if
did not stop node agent, then changes made by sync is not recognize
and in next auto sync all these changes are overridden. because node
agent sync is done only from dmgr. so it identifies only changes
known by dmgr, if u do manually sync without stopping nodeagent ,then
dmgr doesn't come to know these changes and those are overridden in
next sync.
- What is the difference between deploying an EAR File and WAR File?
- In ear files no need to give the context root...in war files u have to give
- EAR menace Enterprise application and WAR menace web application
- In WAR Auto Deployment is possible where else in EAR auto deployment is not possible
- WAR contains Web.xml file where EAR contain web.xml and Application.xml file
- What is node group?
A
node group is a collection of managed nodes. Nodes that you organize
into a node group need to be similar in terms of installed software,
available resources, and configuration to enable servers on those
nodes to host the same applications as part of a server cluster
.A
default node group called DefaultNodeGroup is automatically created
for you when the deployment manager is created, based on the
deployment manager platform. New nodes on similar platforms are
automatically added to the default group. A node must belong to at
least one node group, but can belong to more than one.
As
long as you have nodes in a cell with similar platforms, you do not
need to do anything with node groups. New nodes are automatically
added to the node group. However, before adding a node on a platform
that does not have the same capabilities as the deployment manager
platform, you will need to create the new node group.
- What is plug-in configuration file?
The
web server plug-in configuration file controls whether an application
server or the web server handles user requests. You must regenerate
this global plug-in configuration file whenever you change the
configuration settings for an application server, cluster, web
container transport, or virtual host alias that is contained in the
cell. You must also regenerate this file whenever you add a new
application server, cluster, web container transport, or virtual host
alias to the cell. The global plugin-cfg.xml file is placed in the
%was_profile_home%/config/cells directory. This configuration file
includes the URIs for all of the applications that are deployed in
this cell. If your web server is located on a remote machine, you
must manually move this plug-in configuration file to that machine.
- What is Node Agent?
The
node agent process serves as an intermediary between the application
servers on the node and the deployment manager. The node agent
process runs on every node and is specialized to perform
node-specific administration functions, such as server process
monitoring, configuration synchronization, file transfer, and request
routing.
We
can stop node agent , Retstart nodeagent and restart all servers on
node from the console but we can't start from the console if it is
stopped.
- What is Deployment manager?
The
deployment manager provides a single, central point of administrative
control for all elements of the distributed cell.
we
can stop the deployment manager from console but can't start if from
the console.
- Difference between Managed node and Unmanaged node ?
A
managed node contains an application server process that runs within
the deployment manager cell. The managed node is associated with a
node agent process that maintains the configuration for the node and
controls its operation. Choosing this option results in running the
add node utility to federate an existing stand-alone application
server.
An
unmanaged node represents a node in the topology that does not have
an application server process or a node agent process. Unmanaged
nodes are for other server processes, such as web servers that exist
on their own node in the topology.
- Can you start node from the console?
no
- What will happen if you stop the node from console?
It
will stop all the process which are running under the node ( servers
& nodeagent).
- What is Buses
A
service integration bus supports applications using message-based and
service-oriented architectures. A bus is a group of interconnected
servers and clusters that have been added as members of the bus.
Applications connect to a bus at one of the messaging engines
associated with its bus members.
- What is application server?
An
application server is a server that provides services required to run
enterprise applications.
- JMS providers
A
JMS provider enables messaging based on the Java Message Service
(JMS). It provides J2EE connection factories to create connections
for JMS destinations.
- Connection factories
A
connection factory is used to create connections to the associated
JMS provider. These connection factories can be used for accessing
JMS Queue and JMS Topic destinations.
- Queue connection factories
A
queue connection factory is used to create connections to the
associated JMS provider of the JMS queue destinations, for
point-to-point messaging.
- Topic connection factories
A
topic connection factory is used to create connections to the
associated JMS provider of JMS topic destinations, for publish and
subscribe messaging.
- Queues
A
JMS queue is used as a destination for point-to-point messaging.
- Topics
A
JMS topic is used as a destination for publish/subscribe messaging.
- Activation specifications
A
JMS activation specification is associated with one or more
message-driven beans and provides configuration necessary for them to
receive messages.
- What are the differences between Queue and Topic ?
Queue:
•Point-to-point
model
•Only
one consumer gets the message
•Messages
have to be delivered in the order sent
•A
JMS queue only guarantees that each message is processed only once.
•The
Queue knows who the consumer or the JMS client is. The destination is
known.
•The
JMS client (the consumer) does not have to be active or connected to
the queue all the time to receive or read the message.
•Every
message successfully processed is acknowledged by the consumer.
Topic:
•Publish/subscribe
model
•Multiple
clients subscribe to the message
There
is no guarantee messages have to be delivered in the order sent
•There
are no guarantees that each message is processed only once. -- As
this can be sensed from the model
•The
Topic, have multiple subscribers and there is a chance that the topic
does not know all the subscribers. The destination is unknown.
•The
subscriber / JMS client needs to the active when the messages are
produced by the producer, unless the subscription was a durable
subscription.
•No,
Every message successfully processed is not acknowledged by the
consumer/subscriber.
- What is the use of garbage collector?
You
can check the verboseGC report to determine:
How
much time the JVM is spending performing garbage collection.
Ideally,
you want the JVM to spend less than 5 percent of its processing time
doing garbage collection. To determine the percentage of time the JVM
spends in garbage collection, divide the time it took to complete the
collection by the length of time since the last AF and multiply the
result by 100. For example:
83.29/3724.32
* 100 = 2.236 percentIf you are spending more than 5 percent of your
time in garbage collection and if garbage collection is occurring
frequently, you might need to increase your Java heap size.
Two
main technologies used to remove the garbage:
Mark
Sweep Collector and Copy Collector
IBM
uses a mark sweep collector (or) a combination for generational
(gencon)
Garbage
Collection can be broken down into 3 steps
a)
Mark: Find all live objects in the system
b)
Sweep: Reclaim objects that are no longer referenced
c)
Compact: Converts many small holes into fewer large ones to avoid
fragmentation
The
first thing to notice here is the “action=” figure. Seven
different actions can occur for an allocation failure:
action=0
means the pinnedFreeList was exhausted.
action=1
means a preemptive garbage collection cycle.
action=2
means a full allocation failure.
action=3
means that a heap expansion takes place.
action=4
means that all known soft references are cleared.
action=5
means that stealing from the transient heap is done.
action=6
means that free space is very low.
- What is SSL?
The
Secure Sockets Layer (SSL) is a protocol that provides secure
communications between remote server processes or endpoints. SSL
security can be used for establishing communications inbound to and
outbound from an endpoint.
- What are the siner certificates?
Signer
certificates are used by Java Secure Socket Extensions (JSSE) to
validate certificates sent by the remote side of the connection
during a Secure Sockets Layer (SSL) handshake
- What are the different GC policy algorithms in IBM WebSphere Application Server V8 ?
IBM
WebSphere Application Server V8 (on supported platforms) provides
four different GC policy algorithms:
-Xgcpolicy:optthruput
-Xgcpolicy:optavgpause
-Xgcpolicy:gencon(
Default)
-Xgcpolicy:balanced
IBM
WebSphere Application Server V7 (on supported platforms) provides
four different GC policy algorithms:
-Xgcpolicy:optthruput
( Default)
-Xgcpolicy:optavgpause
-Xgcpolicy:gencon
-Xgcpolicy:subpool
- What are the plugin parameters?
ConnectTimeout,
ServerIOTimeout, RetryInterval, IgnoreAffinityRequests,
LoadBalanceWeight, MaxConnections.
ConnectTimeout
identifies how long (in seconds) the plugin will wait to get connect
to WebSphere Application Server (WAS). If the plugin waits longer
than the value, it will mark the server unavailable.
By
default (without the parameter set in the plugin-cfg.xml) or setting
the value to 0, it represents a blocking connect, that is, the thread
will keep waiting to obtain a connection until the operating system
time out the request.
ServerIOTimeout
identifies how long (in seconds) the plugin will wait for the server
to response to the request. If the plugin waits longer than the value
before the response is completed, it will time out.
By
default, the plugin uses blocked I/O. So basically it will block wait
until TCP connection times out.
RetryInterval
is the time that the plug-in will wait before trying again to use an
appserver that was marked down.
MaxConnections
: Max no. of pending connections/requests for App server ,When the
MaxConnections limit is reached, the plug-in will stop sending
requests to that appserver, but it is not marked down
Please
note that if the MaxConnections limit has been reached the plug-in
will not send ANY more requests to that server until responses come
back for the current PENDING requests, and the pendingRequests count
drops back down below the MaxConnections limit.
- How do you Determining whether OOM is a Java OOM or Native OOM ?
If
the stdout/stderr message says that this is a
java.lang.OutOfMemoryError, then this is a Java OOM.
If
the stdout/stderr message says that it failed to acquire memory, then
this is a Native OOM.
- What is the effect of changing max heap and min heap size of a jvm same?
Using
the same values is not usually a good idea, because it delays the
start of garbage collection until the heap is full
Compaction
moves objects closer and further down in the heap, creating larger
free areas near the top of the heap
Max
memory used should be about 55-75% of the max heap size.
- What is nursery heap?
The
nursery is a part of the heap reserved for allocation of new objects.
- Why and when to perform name space binding?
Name
space binding is used to provide fixed qualified names for server
application objects.
A
deployed application requires qualified fixed names if the
application is accessed by thin client applications or by J2EE client
applications or server applications running in another server
process.
When
you configure a name space binding, you create a qualified fixed name
for a server object. A fixed name does not change if the object is
moved to another server. A qualified fixed name with a cell scope has
the form: cell/persistent/fixedName
- Name space Binding types ?
1)
String 2) EJB 3) CORBA 4) indirect
- What is Heap dump ?
A
heap dump is a snapshot of the memory of a Java process at a certain
point of time. It shows live objects in the memory and references
between them.
You
can use this option to debug conditions such as memory leaks, heap
fragmentation or to investigate what objects are consuming the
largest part of the memory
- What is Thread dump ?
A
thread dump is a list of all the Java threads that are currently
active in a Java Virtual Machine (JVM).
- What is core dump and How to enable Core Dump function in linux?
A
core dump is the printing or the copying to a more permanent medium
(such as a hard disk ) the contents of random access memory ( RAM )
at one moment in time.
A
core dump is taken mainly for the purpose of debugging a program
enable
core dump
If
you enter “ulimit -c” command and get the result value as 0, it
indicate that core dump is disabled by default, it would not generate
core dump file.
We
can use the command “ulimit -c unlimited” to enable the core dump
function, and does not limit the core dump file size; if you need to
restrict the size of the file, change the “unlimited” as you want
to generate the core file maximum size, pay attention to the unit is
blocks (KB).
Using
the above command will only effective for terminal current
environment,
if
you want to be permanent, you can modify the file
/etc/security/limits.conf file. add the below one line:
#
/etc/security/limits.conf
#
#Each
line describes a limit for a user in the form:
#
#<domain>
<type> <item> <value>
<span
style="color: #008000;"> * soft core
unlimited</span>
- What is the use of generic JVM arguments?
The
generic JVM arguments are used to configure and adjust how the JVM
executes. Once changes are made and saved to the master
configuration, the JVM requires a restart for the arguments to take
effect. Each JVM argument is separated by a space. This is also
called it's delimiter
or
Generic
JVM arguments Specifies command line arguments to pass to the Java
virtual machine code that starts the application server process.
Add
the generic Jvm Arguments using the WebSphere Admin Console or by
editing the server.xml file:
Application
Server
- In the Administration Console select Servers
- Expand Server Type and select WebSphere application servers
- Click on the name of your server
- Expand Java and Process Management and select Process Definition.
- Under the Additional Properties section, click Java Virtual Machine.
- Scroll down and locate the textbox for Generic JVM arguments.
1.Open
the following file:
install_root/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/<cellName>/nodes/<nodeName>/servers/server/server.xml
2.Find
the jvmEntries element.
3.Add
the following JVM options to genericJVMArguments in server.xml and
save the file:
genericJvmArguments="-Djava.awt.headless=true
-DamCryptoDescriptor.provider=IBMJCE
-DamKeyGenDescriptor.provider=IBMJCE
-Djavax.management.builder.initial= /-Dcom.sun.management.jmxremote"
- What is core group?
A
core group is a grouping of WebSphere(R) Application Server cell
processes. A core group can contain stand-alone servers, cluster
members, node agents, and the deployment manager. A core group must
contain at least one node agent or the deployment manager.
DefaultCoreGroup
is a core group that is created by default at installation time and
can be used out-of-the-box; that is, all processes will know about
each other.
Note:
1.
A core group cannot extend beyond a cell
2.
All JVMs in a core group must able to communicate (they use heartbeat
messages to know each other
A
core group must be empty before it can be deleted. The default core
group cannot be deleted.
Each
core group contains a core group coordinator to manage its high
availability relationships, and a set of high availability policies
that are used to manage the highly available components within that
core group. You can move processes from one core group to another.
The
following rules govern the core group membership:
•Every
process is a member of exactly one core group.
•All
members of a cluster must be members of the same core group.
•Each
core group must contain at least one node agent or the deployment
manager.
Core
group coordinator: The core group coordinator is responsible for
coordinating high availability activities between the core group
members for which View Synchrony Protocol is established.
We
can change the default core group coordinator by going to:
servers
–>coregroups->coregroup settings->Default Coregroup
->preferred coordinator servers.
When
a member becomes active coordinator, you can see the following
messages in the SystemOut:
[3/3/10
18:00:37:758 CET] 00000013 CoordinatorIm I HMGR0206I: The Coordinator
is an Active Coordinator for core group DefaultCoreGroup
If
a new member joins the core group, you can see the following message
[3/3/10
18:17:13:245 CET] 00000026 RoleMember I DCSV8051I: DCS Stack
DefaultCoreGroup.TestRepln at Member Test-Cell\node01\server01: Core
group membership set changed. Added: [Test-Cell\node02\server02]
- How do you decide which WebSphere Application Server process should be a core group bridge?
Any
WebSphere Application Server process (dmgr, node agent, application
server) can be a core group bridge process for a core group. However,
a process that you choose to be a core group bridge should have
production activities or response times that will not be affected by
the core group bridge workload. Node agents or application servers
that do not host any applications can be used as bridges, but it is
best to use dedicated non-clustered application servers that do not
host applications, if available system resources permit.
The
dmgr process is similar to node agents in that it does not handle
real-time production traffic. However, because dmgr represents a
single point of failure and likely administers a large number of
servers in a topology with multiple core groups, it is best for it
not to have the added task of being a core group bridge.
- What happens when coordinator went down?
When
the active coordinator is not available (stopped/crashed), the HA
manager will elect the first inactive server in the preferred
coordinator servers list. If preferred list is not specified, it will
select lexically lowest named server.
The
newly selected coordinator initiates a state rebuild by sending a
message to all core group members to report their states.
- Which servers need to be restarted after making core group bridge configuration changes?
Core
group bridge configuration changes are not dynamic, and any time a
bridge configuration change is made, all of the affected bridges need
to be restarted. Also, bridges can only communicate with other
bridges that have the same access point group configuration. Consider
this topology under different scenarios:
DefaultAccessPointGroup
contains:
CoreGroup1:
Bridges:
bridgeServer1,bridgeServer2
Servers:
cluster1Member1, cluster1Member2
CoreGroup2:
Bridges:
bridgeServer3,bridgeServer4
Servers:
cluster2Member1, cluster2Member2
CoreGroup3:
Bridges:
bridgeServer5,bridgeServer6
Servers:
cluster3Member1, cluster3Member2
Scenario
A: CoreGroup4 and bridges bridgeServer7 and bridgeServer8 are added
to DefaultAccessPointGroup
The
other six bridges (bridgeServer1, bridgeServer2, bridgeServer3,
bridgeServer4, bridgeServer5, and bridgeServer6) will need to be
restarted to recognize the new bridges in CoreGroup4. Otherwise,
CoreGroup1, CoreGroup2, and CoreGroup3 will continue to communicate
and exclude CoreGroup4, because CoreGroup4’s bridges have a
different access point group configuration defined.
Scenario
B: Bridge bridgeServer2 is stopped and removed from CoreGroup1;
Bridge bridgeServer2b is added as a bridge in CoreGroup1 to replace
bridgeServer2
Bridges
bridgeServer1, bridgeServer3, bridgeServer4, bridgeServer5, and
bridgeServer6 will need to be restarted when bridgeServer2b is
brought online. Otherwise, they will not be able to communicate with
bridgeServer2b.
Scenario
C: Cluster1 (cluster1Member1 and cluster1Member2) gets moved from
CoreGroup1 to CoreGroup2
Bridge
configuration was not changed and no bridges were moved, so none of
the bridges need to be restarted. Only the cluster1 members will need
to be restarted when moved to CoreGroup2.
- With regard to server startup sequence, when should the core group bridges be started?
A
core group bridge does a significant amount of work during startup.
Using the proper server startup sequence can reduce the amount of
work that is done. The optimum order is:
1.Core
group coordinators
2.Core
group bridges
3.Clusters
and other servers
Data
is evenly distributed between active core group bridges, and each
time a bridge is started or stopped, the data has to be
redistributed. Therefore, it is more efficient to start the bridges
early on when there is little data (fewer servers started to post
data) in the core group to redistribute.
- How will core gorup identify Core group member Failure detection
HA
manager monitors all the core group members. It uses 2 settings to
detect the failure
1.
Active failure detection
If
the heartbeat from a JVM is failing for specified interval of time,
then it will be marked as failed. When using default settings,
heartbeats are sent every 10sec and 20times (200sec) should be failed
before marking the JVM as failed. When a JVM is marked as failed, a
new view is installed and you can see that in the SystemOut log.
2.
TCP Keep Alive
If
one member is not able to contact other member, and if gets closed
socket error, it will signal the other members to treat that member
as failed. Say, if one jvm is panics or network issue etc, as soon as
the TCP settings allow, the failure will be detected.
Note:
TCP Keep alive setting is of the operating system.
- Difference between Java heap and Native heap memory
Java
heap is the memory that the JVM uses to allocate java objects.
Native
heap is the memory that the JVM uses for its own internal operations.
JVM uses this area to load libraries and for intermediate code
generation.
Not
all addressable memory is available to a process. The operating
system has its own requirements such as
1)
The Kernel and 2) The runtime support libraries
The
addressable memory remaining is often referred to as user space.
We
define the native heap as Native heap ="user space” - maximum
Heap Size
- What is PermGen(Permanent Generation) Area ?
It
is the area where class loading and unloading happens. it stores
metadata about classes , methods,etc.
- What is Old generation area?
The
largest memory pool which should keep the long living objects
- What is inside a WAS plugin configuration file?
Virtual
host information
Cluster
and Cluster member information
URI
mappings
Cluster
loadbalancing algorithm
Plugin
kdb ssl mappings
- What is the WAS plugin configuration file name?
plugin-cfg.xml
- What is the configuration file for IHS?
httpd.conf
- What is the httpd.conf file in IHS ?
This
is the main IBM HTTP server configuration file. It contains the
configuration directives that give the server its instructions.
ServerRoot
"/opt/IBM/HTTPServer"
PidFile
/srv/jas/logs/gpsprod/HTTPServer/prod0/httpd.pid
PidFile:
The file in which the server should record its process identification
number when it starts.
DocumentRoot
"/srv/jas/data/gpsprod/HTTPServer/prod0/htdocs"
DocumentRoot:
The directory out of which you will serve your documents. By default,
all requests are taken from this directory, but symbolic links and
aliases may be used to point to other locations.
- What are the performance tuning parameter for IBM IHS?
ThreadLimit:
maximum setting of ThreadsPerChild
ServerLimit:
maximum setting of StartServers
StartServers:
initial number of server processes to start
MaxClients:
maximum number of simultaneous client connections
MinSpareThreads:
minimum number of worker threads which are kept spare
MaxSpareThreads:
maximum number of worker threads which are kept spare
ThreadsPerChild:
constant number of worker threads in each server process
MaxRequestsPerChild:
maximum number of requests a server process serves
ThreadLimit
256
ServerLimit
4
StartServers
2
MaxClients
600
MinSpareThreads
25
MaxSpareThreads
75
ThreadsPerChild
32
MaxRequestsPerChild
0
- How do you gracefully shut down IHS?
In
IHS 7.0 and later on Unix, apachectl -k graceful-stop will stop
listening for new requests but allow active requests to finish,
waiting forever by default, or until GracefulShutdownTimeout seconds
have elapsed.
Otherwise,
there is no mechanism to shut down the web server yet allow active
requests to gracefully finish. Active requests must finish within
about 7 seconds, or they may be forcefully terminated when the child
process is killed.
- How does IBM HTTP Server determine when a child process should end? Does it have a timeout?
There
is no timeout .If MaxRequestsPerChild is set to non-zero, a child
process will exit once it has handled that many client connections.
While
there are more idle processes than the value of MaxSpareServers, one
child process will exit per second.*
require
starting as root, or changing the ownership or permission of existing
log files, depending on the configuration.
- What happens if I stop IBM HTTP Server using SIG KILL?
Stopping
the server by sending SIGTERM to the parent process
•no
new connections will be accepted, starting almost immediately
•existing
requests will have a short time to finish and log their results
•for
most child processes: ◦the active request will finish normally
◦the
active request will be logged
•for
child processes that don't finish their request in a reasonable
amount of time: ◦the request will be abruptly terminated
◦the
active request won't be logged
Stopping
the server by sending SIGKILL to all of the processes
•no
new connections will be accepted, starting almost immediately
•all
active requests will be abruptly terminated
•no
active requests will be logged
•the
pid file won't be removed, so a warning will be logged when the
server is started again
•no
permanent problems expected
•Note:
Third-party modules could require manual intervention before restart
if they have resources that they must release at termination.
- Why are httpd processes still active when apachectl stop completes?
apachectl
stop sends a signal to the parent process, and then exits. As soon as
the parent process receives the signal, it starts terminating the
child processes. In many cases, by the time you can look for child
processes after the completion of apachectl stop they will have
already exited. Some of the following are reasons why they will
linger for some time:
•high
system load (perhaps caused by many httpd child processes having to
wake up and exit
•active
requests being handled by one or more httpd child processes
- what are the log levels in HIS
LogLevel:
Control the number of messages logged to the error log. Possible
values include: debug, info, notice, warn, error, crit, alert, emerg.
1)
When i uninstall and installing the application it was saying that
application is already exist but it is not there in the installed
path and console .
then
i check in the temp folder the war file was not deleted so i deleted
the war file from the temp and synchronized the nodes then issues
resolved.
2)
when i start the application it was not coming up , then i check the
logs i noticed Class not found error then i checked the shared libs
in the console and in the putty path , some jars files are not there
in the putty path then i asked application team some jars files are
not present in the path.
3)
application team reported that application is not responding when i
check the logs i could see no space left error .when i check whilc
file system one of the file system was 100% then i identified and
removed unwanted files then issue got resolved.
4)
when i try to uninstall the application it was unable to install
1)
Deploy the application
2)
configuration changes like jvm setting , connection pool settings
3)
enabling traces
4)
Generate and propagate the plugin to webserver.
5)
creating the resources like jdbc providers and datasources.
6)
Resolving the issues
- Installing a fix pack with silent install on was 7.
This
will describes how to use the Update Installer for WebSphere Software
to install the fix pack using the silent install option.
Before
you begin
The
most recent version of the Update Installer needs to be installed on
a target system locally.
Use
the Update Installer program from the same user ID that installed the
product that you are updating. Otherwise, the file ownership
mismatches might require correction by the root user.
About
this task
The
most recent version of the Update Installer needs to be installed on
a target system locally.
Procedure
- Download the required fix pack from the official IBM support Web site into< WAS-ROOT>/maintenance directory.
- Ensure that all running processes have been stopped.
- Edit a response file. The one located at the bottom of the pane can be used as an example. There are also sample response files found in the <WAS-ROOT>/responsefiles directory.
- Specify the location of the product to the response file.
- Specify the choice of install maintenance in the response file. For example: -W update.type="install"
- Add the maintenance location where packages can be found to the response file.
When
you install the fix pack, certain logic is used to determine which
packages to install. To find out more, refer to "Logic that the
Update Installer uses for system recommended installations,"
found at the bottom of this topic.
- Run the Update Installer.
For
example:
Windows
update.bat
-silent -options "responsefiles\file_name"
Vista
update.exe
-silent -options "responsefiles\file_name"
AIX, Linux,Solaris
./update.sh
-silent -options "responsefiles/file_name"
- Review the log file to verify maintenance has been installed successfully. The log can be found atapp_server_root/logs/update/maintenance_package.install. If for some reason the maintenance package is not applicable to install, a log file found in <WAS-ROOT>/logs/tempX will list the reason for the failure. The most recent log file, tmpX, where X refers to the first available empty directory, will be created to reflect the status for this attempted install. You might not receive an error message for a failed installation in some cases. If you silently install a maintenance package and you do not receive a response after a short period of time, view the logs. If logs are not generated, then an invalid or missing argument might be causing the installation to fail. Verify the Update Installer syntax for the command line with the response files install.txt and uninstall.txt, located in <WAS-ROOT>/responsefiles
Results
One
of the following results will appear in the log.
INSTCONFSUCCESS
The
operation was a success.
INSTCONFPARTIALSUCCESS
The
operation was partially successful, refer to the log for more
details.
INSTCONFFAILED
The
operation failed; refer to the log for more details.
- What is new in WebSphere 8
1)
Java virtual machine settings
Version
7.0 and previous versions use the optthruput garbage collection
algorithm. In Version 8.0, the default is set to the generational
garbage collector. This garbage collection algorithm can increase
performance. The following JVM option is added to the WebSphere
Application Server startup command: -Xgcpolicy:gencon. If you prefer
to use the optthruput garbage collection alogorithm, you can remove
-Xgcpolicy:gencon and the default optthruput garbage collection
algorithm is used.
2)
Application Server property settings for a web server plug-in
The
Use read/write timeout setting on the administrative console
corresponds to the ServerIOTimeout attribute in the plugin-cfg.xml
file. The default for the setting and the attribute for Version 8 is
900 seconds. For Version 7, the default is 60 seconds. Before Version
7, the default is 0.
3)
Track admin changes
Another
new administrative function is the ability to track administrative
configuration changes. This function leverages the Extended
Repository Checkpoint function from WebSphere Virtual Enterprise,
which writes out a delta repository each time configuration changes
are saved to the WebSphere Application Server configuration
repository. The delta repository lists the “before” and “after”
configuration elements which can then be used to track configuration
changes.
- Installing and uninstalling a fix pack with silent install on WebSphere 8 ?
To
install a fix pack from a service repository, perform the following
actions:a.Log on to your system.
1)
Stop all servers and applications on the WebSphere Application Server
installation that is being updated.
2)
Change to the Installation_Manager_binaries/eclipse/tools directory,
where Installation_Manager_binaries is the installation root
directory for the Installation Manager.
3)Install
the fix pack.
[AIX]
[HP-UX] [Linux] [Solaris] ./imcl install
offering_ID_offering_version,optional_feature_ID
-repositories
source_repository
-installationDirectory
product_installation_location
-keyring
keyring_file -password password
-acceptLicense
example
: /opt/IBM/InstallationManager/eclipse/tools/imcl install
8.0.0.0-WS-WASJavaSDK-LinuxX64-IFPI20798 -installationDirectory
/opt/IBM/WebSphere/AppServer -repositories
/tmp/20140924/base_products/multi/IBM
To
uninstall
root@iedcajcdwia2:/root
: /opt/IBM/InstallationManager/eclipse/tools/imcl uninstall
8.0.0.0-WS-WASJavaSDK-LinuxX64-IFPI19109 -installationDirectory
/opt/IBM/WebSphere/AppServer
- How to copy files from one server to another server?
Use
scp command
To
copy a file from B to A while logged into B:
scp
/path/to/file username@a:/path/to/destination
To
copy a file from B to A while logged into A:
scp
username@b:/path/to/file /path/to/destination
- Is it possible to run IBM HTTP Server as a non-root process on UNIX systems?
It
is possible to run IBM HTTP Server as a non-root process on a UNIX
system, but when doing so, use only nonstandard ports above 1024 and
define user/group in the httpd.conf process.
When
you start Http webserver as a wsadmin(non-root) account we will get
below error
(13)Permission
denied: make_sock: could not bind to address [::]:80
(13)Permission
denied: make_sock: could not bind to address 0.0.0.0:80
No
listening
- What information is available in plugin cfg.xml file ?
Plugin.cfg.xml
file contains detail information about the application server
Plugin.config.xml
contains the below information...
1)
Server configuration,
2)
Cluster configuration,
3)
Server weights,
4)
Application virtual host.
- Why do I need to enable SSO when using form-based login in my WebSphere Application Server application?
By
enabling SSO, WebSphere Application Server maintains user state as an
LTPA cookie across Web requests. If SSO is not enabled, each
individual request requires authentication. If you choose to use
form-based login, once the form completes authenticating, the user
then redirects back to the originally requested URL. Without SSO, the
user's authentication is now lost and the authorization will fail.
This is not seen when using basic authentication because the
authentication information is in every HTTP request and WebSphere
Application Server can use it whenever needed (this does impact both
security and performance).
- What is signer certificates?
A
signer certificate represents a certificate and public key associated
with some personal certificate. The purpose of the signer certificate
is to verify personal certificates
- What is personal certificates ?
A
personal certificate represents the identity of the end point and
contains a public and private key for signing/encrypting data.
- What is a Keystore file ?
The
keystore file is a key database file that contains both public keys
and private keys. Public keys are stored as signer certificates while
private keys are stored in the personal certificates. The keys are
used for a variety of purposes, including authentication and data
integrity. You can use both the key management utility (iKeyman) and
the keytool utility to create.
- What is Truststore file ?
A
truststore file is a key database file that contains the public keys
for target servers. The public key is stored as a signer certificate.
If the target uses a self-signed certificate, extract the public
certificate from the server keystore file. Add the extracted
certificate into the truststore file as a signer certificate. For a
commercial certificate authority (CA), the CA root certificate is
added. The truststore file can be a more publicly accessible key
database file that contains all the trusted certificates
Default
self-signed certificate configuration
By
default, WebSphere Application Server creates a unique self-signed
certificate for each node.
WebSphere
Application Server no longer relies on the default or dummy
certificate that is shipped with the product. The key.p12 default
keystore and the trust.p12 truststore are stored in the configuration
repository within the node directory.
All
of the nodes put their signer certificates in this common truststore
(trust.p12).
Additionally,
after you federate a node, the default SSL configuration is
automatically modified to point to the common truststore, which is
located in the cell directory. The node can now communicate with all
other servers in the cell.
All
default SSL configurations contain a keystore with the name suffix
DefaultKeyStore and a truststore with the name suffix
DefaultTrustStore.
These
default suffixes instruct the WebSphere Application Server runtime to
add the signer of the personal certificate to the common truststore.
If a keystore name does not end with DefaultKeyStore, the keystore
signer certificates are not added to the common truststore when you
federate the server.
You
can change the default SSL configuration, but you must ensure that
the correct trust is established for administrative connections,
among others.
For
more information, see Default self-signed certificate configuration
and Web server plug-in default configuration
The
default password for the keystore is WebAS. You can change the
default keystore password by using either the administrative console
or the appropriate AdminTask command.
- We have some issue with our application server and we tried killing it using kill-9 command, the process disappeared for few seconds but it is back again. We did not start the server but it started. What would be the reason?
Servers
--> Application Servers --> server_name. Then, under Server
Infrastructure,
click
Java and Process Management --> Process Definition --> process
--> Monitoring Policy.
Here
we have an option Automatic Restart, this Specifies whether the
process should restart automatically if it fails. On distributed
systems, the default is to restart the process automatically.
- Why can't we start node agent from console in websphere application server?
Node
agent is a interface, communicator b/w servers and dmgr.. But there
is not interface between dmgr and nodeagent. nodeagent behaves like
manager to itself..once you start the nodeagent you can give commands
like stop, start jvms in the similar way you can stop and restart the
node agent as it is running..if nodeagent stopped, if you are issuing
command like start nodeagent which process is going to receive the
command.
- How to get the password of .kdb file if we forget?
Once
you have create the .kdb file this file related passwords are stored
into .sth file it will be stored into the same directory.in the .sth
file contains the .kdb file password in encrypted format.
- How i can know how many users are hitting the application? If any command is there to find out the hit-counts?
You
have to check in error.log
Using
monitoring tool introscope willy
- How will find out request is static or dynamic by webserver?
The
way it works is first you install web server and copy your static
content such as .js, .css files, images on the web server. Then you
install a plug-in on web server. Plug-in takes a look at the incoming
request and depending on the URL it decides if this is the request
for static content or dynamic content, if it is request for dynamic
content it forwards control to WAS.A web server plug-in is specific
to the type of web server. It is installed on the web server machine
and configured in the web server configuration.
- How we can check application is running or not in websphere by command line utilities ?
grep
the application name in systemout.log.
- Is there a way i can start my server along with nodeagent ?
Servers-->
Application Servers --> server_name. Then, under Server
Infrastructure,
click
Java and Process Management --> Process Definition --> process
--> Monitoring Policy.
Here
we have an option Node Restart State which specifies the desired
behavior of the servers after the node completely shuts down and
restarts.
STOPPED
- node agent does not start the server.
RUNNING
- the node agent always starts the server.
PREVIOUS
- the node agent starts the server only if the server was running
when the node agent stopped.
- How to take the backup of EAR or WAR file using command line?
- What is the DocumentRoot in webserver?
- What is Hybrid horizontal and vertical clustering?
For realtime commands and basic usage commands
https://webspherekarthiknotes.blogspot.com/2019/12/basic-commands-in-real-time-for.html
Thank you Karthik for sharing the enormous information which certainly will help many of us
ReplyDeleteExcellent,thanks alot
ReplyDeletevery nice. Keep it up
ReplyDeleteExcellent document, Thank you so much Karthik
ReplyDelete