Skip to main content

Web Server not starting in SAS 9.4

Recently I faced issue with activemq, because of which the web services were not starting in SAS 9.4. I followed below mentioned steps as workaround to bring up the services for the error I faced.

Follow these steps if only the web server don’t come up, and you notice the error mentioned below:

Error message:

2015-12-03 23:49:54,066 | INFO  | Using Persistence Adapter: KahaDBPersistenceAdapter | org.apache.activemq.broker.BrokerService | main
2015-12-03 23:49:54,187 | INFO  | KahaDB is version 4 | org.apache.activemq.store.kahadb.MessageDatabase | main
2015-12-03 23:49:54,229 | INFO  | Recovering from the journal ... | org.apache.activemq.store.kahadb.MessageDatabase | main
2015-12-03 23:49:54,230 | INFO  | Recovery replayed 1 operations from the journal in 0.026 seconds. | org.apache.activemq.store.kahadb.MessageDatabase | main
2015-12-03 23:49:54,384 | INFO  | Apache ActiveMQ 5.7.0 (localhost, ID:*******-29526-1449204594252-0:1) is starting | org.apache.activemq.broker.BrokerService | main
2015-12-03 23:49:54,606 | INFO  | Listening for connections at: tcp://******-***:61616 | org.apache.activemq.transport.TransportServerThreadSupport | main
2015-12-03 23:49:54,607 | INFO  | Connector openwire Started | org.apache.activemq.broker.TransportConnector | main
2015-12-03 23:49:54,608 | INFO  | Apache ActiveMQ 5.7.0 (localhost, ID:*********-29526-1449204594252-0:1) started | org.apache.activemq.broker.BrokerService | main
2015-12-03 23:49:54,608 | INFO  | For help or more information please see: http://activemq.apache.org | org.apache.activemq.broker.BrokerService | main
2015-12-04 00:08:32,344 | WARN  | Transport Connection to: tcp://182.145.154.124:22162 failed: java.net.SocketException: Connection reset | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///182.145.154.124:22162@61616
2015-12-04 00:08:32,344 | WARN  | Transport Connection to: tcp://182.145.154.124:22161 failed: java.net.SocketException: Connection reset | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///182.145.154.124:22161@61616
2015-12-04 00:08:32,345 | WARN  | Transport Connection to: tcp://182.145.154.124:23668 failed: java.net.SocketException: Connection reset | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///182.145.154.124:23668@61616
2015-12-04 00:08:32,344 | WARN  | Transport Connection to: tcp://182.145.154.124:22163 failed: java.net.SocketException: Connection reset | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///182.145.154.124:22163@61616

Solution:

1) Stop all the SAS web services. It is important to make sure services are down,  if we follow next steps without proper implementation of this step it can make issue worst

Command to use ->    ./sas.servers stop
     
2) Check if all the services has stop using below commands:

Command to use ->   ./sas.servers status (o/p all should be NOT UP)

ps –fu sas  (should not show any process running with this process. Example is shown below)
$ ps -fu sas
UID        PID  PPID  C STIME TTY          TIME CMD
sas      673   672  0 Dec03 pts/1    00:00:00 bash
sas      767 56888  0 Dec03 pts/3    00:00:00 bash
sas     4984  4983  0 Dec03 pts/7    00:00:00 bash
sas    11853  4984  0 00:54 pts/7    00:00:00 ps -fu sas
sas    56888 56887  0 Dec03 pts/3    00:00:00 bash
sas    61502 61501  0 Dec03 pts/5    00:00:00 bash

We use sas user id to start/stop services in our environment. User id will differ in your environment. The above output shows I have opened putty sessions (bash). There shouldn't be any other process running related to SAS web services.

3) Take the backup of location /sas-config-directory/Lev1/Web/activemq/data in some other location.

Command to use ->  cp -a /sas-config-directory/Lev1/Web/activemq/data  <location where space is enough>

4) Delete all the files and folders under the location /sas-config-directory/Lev1/Web/activemq/data using command:

Command to use ->  rm -r  /sas-config-directory/Lev1/Web/activemq/data/*

Use the above command carefully. It is DELETE command.

5) Run the ulimit command

Command to use ->
ulimit -d unlimited
ulimit -m unlimited
ulimit -n 65000
ulimit -s 10240
ulimit -u 65000
ulimit -v unlimited

6) Restart the Web services.

Command to use -> ./sas.servers start ( o/p should show UP)

7) Check the portal is up or not.

Reference SAS KB - http://support.sas.com/kb/52/315.html

Comments

Popular posts from this blog

Insufficient authorization to access PIPE error in SAS EG

Issue: When I tried to run SAS code in SAS Enterprise Guide it throws following errors: ERROR: Insufficient authorization to access PIPE. ERROR: Error in the FILENAME statement. Screenshot of error: Solution: This error occurs when you try to run OS commands in SAS code. To run the OS commands in SAS code you need to enable XCMD option. You check it in SAS Management Console by following below steps.   Open SMC -> Expand Servers -> Expand   In SASApp , expand Logical Workspace Server -> right click on Workspace Server. Click properties -> option tab -> advanced options -> launch properties. Check whether Allow XCMD is checked. The issue arises if the Allow XCMD is not checked. In above image, Allow XCMD option is not checked. It should be checked to run OS commands from SAS code. In Unix /Linux machines, this XCMD option can be enabled by using system option XCMD in sasv9 config file or workspaceserver.sh script f...

The authentication server is not SETUID ROOT error in SAS

Question: When validating the SAS Server from SAS Management Console, I received the following error: The authentication server is not SETUID ROOT.  So, I ran the setuid.sh utility and restarted the services many times. I just checked the elssrv sasauth sasperm setuid bit. There were no error in sasauth-debug.log, sasauth-access.log, sasauth-error.log.  Any suggestions? Answer: Please do the following:    1) Run /<SASConfig>/Lev<X>/ObjectSpawner/ObjectSpawner.sh stop  2) Edit /<SASConfig>/Lev<X>/ObjectSpawner/ObjectSpawner.sh and add the code shown below right after SCRIPT=`basename $0`:  if [ -n ""$TKPATH"" ]; then  unset TKPATH  fi   if [ -n ""$TK_PATHLIST"" ]; then  unset TK_PATHLIST  fi    3) Run /<SASConfig>/Lev<X>/ObjectSpawner/ObjectSpawner.sh start  The above code change in ObjectSpawner.sh should fix the issue.

SAS - CLI error trying to establish connection

Issue: User asked me to make a database connectivity to SQL Server. They provided following details SQL server hostname and ip address Database/DSN name Username Password I made entry in ODBC.ini file. You know, SQL Server entries were made in ODBC.ini and Oracle entries were made in TNS.ora file. Everything went fine, took back up of odbc.ini, made entry and saved the file. So to test this connection I ran the libname statement in SAS Enterprise Guide 6.1. It throwed following error. Error Message: My DB team showed that they are able to login   14 GOPTIONS ACCESSIBLE; 15 LIBNAME test ODBC DATASRC=SGE_DS SCHEMA=VST USER=sales PASSWORD=XXXXXXXXX; ERROR: CLI error trying to establish connection: [SAS/ACCESS to SQL Server][ODBC SQL Server Legacy Driver][SQL Server]Login failed for user 'sales'. Solution: First I suspected that Login failed for user 'sales' meant the password provided by DB team was wrong. They responded that they were able to login wi...