Tomcat/Apache Split Deployment

I’m trying to setup the split deployment in our BI 4.1 SP6 environment, but having some issues.

I’m following all the deployment guides that I’ve found, and am faced with the following problems.

BOE/CMC is working
BOE/BI is not

When I go into the htdocs/BOE folder of Apache, I see CMC, OpenDocument and “portal”, but not BI.

Within CMC there are 9 folders with various date/times, all are the date/time of when I started the compilation. For example, the folders are called
1506251333, 1506251239, 1506252321, 1506260001, 1506260041, 1506260122, 1506260203, 1506250239 and 1506260318. A similar series of folders is there in the OpenDocument and portal folder

When I launch CMC it’s picking up files from the final folder.

All in all, htdocs folder is consuming 33GB of space. It took 378 minutes to compile on the server. AV is disbaled. Due to the time it takes, I build it overnight, and I’ve tried building it 3 times now, and all have failed to create the BI folder; the deploy command reports “Build successful… return code = 0”. I’m using this command to build it

wdeploy.bat tomcat7 -Das_mode=split -Dws_type=apache -DAPP=BOE deployall

adrian.procter :canada: (BOB member since 2006-09-26)

The numbered directories you see are timestamps generated for Equiniox. You will see these numbers in the URL when you log into the CMC.

In a single deployment to Tomcat these do not present a problem since it is generated and interpreted dynamically based on a configuration file. But for a split deployment, the files need to be in an explicitly-named directory. Unfortunately the deployment tool does not do a good job of cleaning up old copies, so they will pile up if you don’t take action.

You can simply delete any old copies of these directories, or nuke the entire BOE directory before you start wdeploy.

You should only see CMC, OpenDocument, and portal. There is no BI directory (the contents of portal make up BI Launch Pad).

What is the problem that you’re having with BOE/BI?


joepeters :us: (BOB member since 2002-08-29)

Very simply:

Windows AD is configured correctly, and I can log into CMC using Windows AD when using
http://server:8080/BOE/CMC

After a split deployment, when I go to http://server/BOE/CMC I can only log in using Enterprise authentication.

http://server:8080/BOE/BI logs me into the launchpad (using AD SSO)
http://server/BOE/BI gives me a 404 Not Found error, after a split deployment

After each build of a split deployment, I was nuking the entire BOE folder. All the timestamps are from the time the wdeploy started working until the time it completed - all 6+ hours. It seems to me that it’s attempting to generate 9 copies each time of folder structure.


adrian.procter :canada: (BOB member since 2006-09-26)

If wdeploy is creating all of those directories each time, then I think it’s either a bug or a problem in the configuration. Although there’s not much that has to be configured other than the directory locations, so I can’t see how that would be.

In wdeploy\workdir\resources\BOE.zip, do you see all nine numbered directories? If so, then that’s proof that wdeploy is generating them.

I’m not sure if that’s causing your other problems, though. Regarding the 404, Apache should be envoking mod_jk for /BOE/BI. wdeploy should have created a file named bobj.BOE.conf in Apache’s conf directory, and updated httpd.conf to include it. The file includes many lines, but the one relevant here is:
JkMount /BOE/BI ajp13

Regarding the Win AD issue in CMC, does it still work via :8080 after the split deployment?

For what it’s worth, I set up a split deployment with Apache2.4. I created two new instances of Tomcat (tomcat7/instances/tomcatb on 8180, tomcatc on 8280). I left the original tomcat (8080) un-split for debugging purposes. I configured wdeploy to point to my tomcatb\webapps directory, then after it runs I copy the content to tomcatc\webapps.

Everything is working well, including manual and SSO logon with Win AD.


joepeters :us: (BOB member since 2002-08-29)

Bizarrely, isteading of issuing a “deployall” command, I issue it as a “predeployall”, it takes 38 minutes. Then issue a “deployonlyall” and it takes 5 minutes.

Now, the CMC works with Win AD logon, but when I go to http://localhost/BOE/BI I get an error:

message com.wedgetail.idm.sso.ProtocolException: com.wedgetail.idm.spnego.server.SpnegoException: com.dstc.security.util.asn1.Asn1Exception: Bad tag encountered: 78

From a client machine, http://server/BOE/CMC works, but I still get a 400 Not Found when I go to http://server/BOE/BI.

Guess I’ll have to log a ticket with SAP Support, though just lately the quality of support has been questionable.


adrian.procter :canada: (BOB member since 2006-09-26)

I was going to suggest predeployall to see what happens :slight_smile:

The wedgetail error means that something is screwy with your SSO configuration. When you ran your setspn commands, did you do it for both port 80 and 8080?


joepeters :us: (BOB member since 2002-08-29)

Port 80 and 8080? When I did the SPN all I did was

SETSPN -a HTTP/server serviceaccount
SETSPN -a HTTP/FDQNserver serviceaccount
SETSPN -a HTTP/IPserver serviceaccount


adrian.procter :canada: (BOB member since 2006-09-26)

You should also have
setspn -a BICMS/FQDNserviceaccount serviceaccount

An entry for port 8080 is only required if you want to do SSO on that port (i.e., http://server:8080/BOE/BI)


joepeters :us: (BOB member since 2002-08-29)

Thanks for the pointers, I must have got something wrong with one of the SPNs, as I just tried

http://server/BOE/BI/logonNoSso.jsp

and I was able to log on using Windows AD. Just got figure why I can’t get on using SSO now.


adrian.procter :canada: (BOB member since 2006-09-26)

Did you configure global.properties for Vintela? That’s required for SSO.


joepeters :us: (BOB member since 2002-08-29)

Improving the User Experience in SAP BI Platform - BI 4.1 and Apache 2.4 Supplement

“Now that Apache is installed and running, it is possible to split the static content and deploy it to your web server. It is recommended that you stop your application server, specifically if you’re running Tomcat, as there can be file locking problems during the deploy phase of WDeploy. Furthermore, you should temporarily disable your virus scan software during the WDeploy phase, as there are thousands of files being written and an active virus scan can increase the time needed to complete the process by a large number of hours. In my case, running WDeploy with the virus scan disabled took ~25 minutes, while running it with the virus scan enabled took ~6 hours.”


lmo :luxembourg: (BOB member since 2009-10-28)

First off - thank you all for your feedback. It proved useful in getting through the SAP document (many shortcomings): Quick Step-by-Step Guide to Apache Split Deployment with 4.1

We installed visual studio 2015 C++ redistributable (only one that is compatible with the latest releases of Apache) and everything seems to work (ran into a 6 hours install time for deployall and 3 hours for predeployall). We also routinely cleaned out the files that kept getting created to keep enough drive space.

However, what we do not see are the .war files on there as discussed in this guide as a post deployment check. Is there anyway to access the BI Launchpad or CMC to ensure that the Apache Split has been created the right way?


indy (BOB member since 2004-04-08)

Did wdeploy return a status of success?

You should see a BOE directory (among others) in Apache’s htdocs, and a BOE directory in Tomcat’s webapps.


joepeters :us: (BOB member since 2002-08-29)

We do have it! Good to know this was applied successfully and we did receive the ‘Success’ message. However, during the installation process, we noted that our installation drive kept filling up. Per adrian.procter comments, we created multiple files like the ones he described:

So we would delete the files as they appeared in order for the process to run successfully. We also turned off the anti-virus and ran prewdeployall. This process took approximately 3 hours and the actual deployall took an additional 6 hours.

Should it really take this long with anti-virus off? Is there anything we can do to speed this up?


indy (BOB member since 2004-04-08)

Wow - the longest I’ve seen it take was 90 minutes.


joepeters :us: (BOB member since 2002-08-29)

Ok, so now a very stupid question.

Why does BOE not work after applying Apache Split on port 80 like the documentation suggests? Port 8080 still works, but when we apply SSL to Apache (https://servername/BOE/CMC) we receive an error message. However, when we simply type in https://servername/ we do receive the ‘It works’ message. :hb:

What are we doing incorrectly in our configuration?


indy (BOB member since 2004-04-08)

So the split deployment worked prior to making SSL changes?

What’s the error?


joepeters :us: (BOB member since 2002-08-29)

Actually, not sure if it actually ever worked despite the Apache service displayed as ‘running.’ The message is:

If we use http://servername:8080/BOE/CMC which is using Tomcat, it works.

Typing in http://servername/ and https:/servername/ which is using Apache’s port 80 and 443 respectively, we receive the “It works!” message. However, http://servername/BOE/CMC does not. :crazy_face:


indy (BOB member since 2004-04-08)

That sounds to me like a problem with the jk configuration. The fact that you’re not simply getting a 404 indicates that mod_jk is enabled and is properly recognizing /BOE/BI. I would check your workers.properties file to make sure it’s referencing the correct Tomcat hosts. Also confirm that Tomcat is configured for the correct AJP port.

Joe


joepeters :us: (BOB member since 2002-08-29)

I have the following:

worker.ajp13.type=ajp13
worker.ajp13.host=localhost
worker.ajp12.port=8009

We are using port 8080 for Tomcat, do we use that for the port number?


indy (BOB member since 2004-04-08)