Hi everyone,
I am setting up with the 4 following servers to achieve High Availability (HA):
Host 1 : Application Server 1 with Web ServerHost 2 : Application Server 2 with Web ServerHost 3 : Search Server, Data Engines and Data ServerHost 4: Database
Please let me know if my understanding is correct for my case:
1. I need to install Appian and Jboss for Host 1,2,3 ,but I only need k3 and k4 license for host 3.
2. No shared folders have to be built among host 1,2,3
3. Should the command script for host 3 with or without --cluster? (i.e. appian/services/bin/start.sh -p <Service Manager Password> -s all --cluster )
4. Where should I go to Start JBoss? In host1 or 2 and 3?
5. while setting up the redirect in Apache Web Server in host 1,2 , what value should I use for the ServerName and Server Alias? (i.e. I should set host1 and host2 respectively(e.g. host1 & www. host1.com ; host2 & www.host2.com), or both set as the common domain name to be used in load balancer (e.g. www.testing.com)?
Any reply would be much appreciated.
Thanks in advance
Discussion posts and replies are publicly visible
joanneh To add to the excellent points that josep wrote, a few more questions/comments:
Regarding your follow up questions:
Shared-logs: yes, you have to create a new folder on each host, create a symlink from local /logs to /shared-logs/<this-host> and then create symlinks to /shared-logs/<this other hosts logs>
Simultaneous start-up is not necessary but if you want to, you can create a script to do so.
Each web server needs to point to the same domain name, i.e myhost.atmycompany.com. You configure workers to point to a specific host. docs.appian.com/.../Configuring_Apache_Web_Server_with_JBoss.html
Dear Mike Cichy and Thanks a lot! My concepts are clearer and just a small futher question Regarding to the share-logs part, please let me know which of the following approch do you actually means: [A] e.g. currently running in host11. I create the all 3 directories in all 3 hosts/<APPIAN_HOME>/shared-logs/host1/<APPIAN_HOME>/shared-logs/host2/<APPIAN_HOME>/shared-logs/host3 2. I create the symlink for host1's /<APPIAN_HOME>/logs in host1's /<APPIAN_HOME>/shared-logs/host13. I mount host1's /<APPIAN_HOME>/logs to other hosts' /<APPIAN_HOME>/shared-logs/host1 4.repeat step 1-3 for other hosts ==> so that at the end, the 3 directories in all 3 hosts/<APPIAN_HOME>/shared-logs/host1/<APPIAN_HOME>/shared-logs/host2/<APPIAN_HOME>/shared-logs/host3 are actually pointing only to the different host's <APPIAN_HOME>/logs folder, either through the symlink to the local host's <APPIAN_HOME>/logs, or through the mount folders from other host. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [B]e.g. currently running in host11. I create the /<APPIAN_HOME>/shared-logs/host1 directory2. I create the symlink for /<APPIAN_HOME>/logs--> thus the structure now is a /<APPIAN_HOME>/shared-logs/host1 directory containing a link to the local machine's (i.e. "host1" here but would be other value for other host) /<APPIAN_HOME>/logs.3. I mount host1's /<APPIAN_HOME>/shared-logs/host1 directory to other hosts' <APPIAN_HOME>/shared-logs directory.4. repeat step 1-3 for other hosts ==> So at the end, for each host's <APPIAN_HOME>/shared-logs directory, they are containing 3 directories, /<APPIAN_HOME>/shared-logs/host1/<APPIAN_HOME>/shared-logs/host2/<APPIAN_HOME>/shared-logs/host3 however, all the folders are actually pointing only to the localhost's <APPIAN_HOME>/logs folder at that moment (e.g in the host2 env, when I open up the folder link in /<APPIAN_HOME>/shared-logs/host1, the folder I end up seeing would be host2's /<APPIAN_HOME>/logs. This is because the Properties of the <APPIAN_HOME>/logs folders are saying that "Link target: /<APPIAN_HOME>/logs")
Dear Mike Cichy (mike.cichy) and josep ,
Besides that, according to your comment:
-- Take a look at this so you can review which folders to be shared
What I understand from the line “The following directories must be shared across all servers that run that component.“ is that, for example, in my case, if there are two Application servers, the files that need to be shared just between host1 and host2 are:
Component Name Folder Name
Application Server APPIAN_HOME/_admin/accdocs1/
Application Server APPIAN_HOME/_admin/accdocs2/
Application Server APPIAN_HOME/_admin/accdocs3/
Application Server APPIAN_HOME/server/archived-process/
Application Server APPIAN_HOME/_admin/search/
Application Server APPIAN_HOME/server/msg/
Application Server APPIAN_HOME/_admin/mini/
Application Server APPIAN_HOME/_admin/models/
Application Server APPIAN_HOME/_admin/process_notes/
Application Server APPIAN_HOME/_admin/shared/
Is my understanding correct, or there are indeed have to be shared among all servers?
Moreover, some directories (such as archived-process,search,msg) might be absent. Should I create one by my own, or should I skip it directly during mounting?
(e.g. as you may see below, there would be even less folders for an app server which did not run before. If the file sharing step is to be completed before any app server runs, there would be more folder missing from the list above and could not be mount)
host1: App server that already run to set up
host2: new App server to be added
Dear Mike Cichy
Thank you so much for your help :D
The diagram in the question box is indeed my situation. The mounting method I used for the shared files would result in a cross reference between the hosts (i.e. any update of one host would reflect in the mounted directories of others), so does that mean the "real share"?
However, I ran into the problem that the second jboss (host2) fails to run (the first jboss host1 started ok), although the mappings and schema are validated successfully.
Do you have any clues from the server log?
Btw, it looks quite similar to this case you have solved before:
community.appian.com/.../i-m-installing-an-environment-with-2-jboss-2-different-machines-pointing-t
734176.server.log
Dear Mike Cichy (mike.cichy),
I have found the solution!
The problem lies in the ERROR:
Caused by: java.io.FileNotFoundException: /home/user01/appian/_admin/shared/appian.keystore.lock (Permission denied)
indicating that there should be "read and write"permission to the mounted files ( such permission should be set on the TO-mount server, coz it is unable to change the permission of files on the TO-BE-mounted server)
ref:
KB-1103 "Unable to build keystore lock file" error thrown during JBoss startup
community.appian.com/.../kb-1103-unable-to-build-keystore-lock-file-error-thrown-during-jboss-startup
Now my second Jboss is able to start. Thanks for your help!!!