Page History
Sv translation | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
PrerequisiteThere are 2 (or 3) servers fulfilling system requirements for BellaDati installation on Windows . BellaDati is installed on server No1. Server No2 will serve as additional cluster node server. PostgreSQL database engine installed on one of the servers mentioned or on a server No3.
Note for the following example of installation process :
Server No1: IP 172.31.11.239 names: belladati-main, EC2AMAZ-MF3ICV0 Server No2: IP 172.31.8.248 names: node1, EC2AMAZ-CJSA0TO Server No3: not use now - we suppose PostgreSQL database engine installed locally with BellaDati i.e. on server No1 = belladati-main. Servers are in internal private network.
The whole installation process consists of five blocks :Base environment for cluster installationSSH communication environment blockCluster installation blockCluster setting-up & starting blockBellaDati application setting
1 The base environment for cluster installation
(Control Panel/User Accounts...Manage Accounts) example: user xxxxx glassfish / password
Usually done by Control Panel/System and Security/ System/ Advanced system setting/ Environment Variables/ System variables/ Path
It is recommended to install the same java version as one used by BellaDati on server belladati-main. In this example jdk-8u201-windows-x64.exe file is downloaded from web and installed on node1. PATH to Java jre and jdk bin files is set up. ; Test : java -version
To set up tables use notepad application on file C:\Windows\System32\drivers\etc\hosts example for node1 server (the similar host table is for belladati-main) 127.0.0.1 node1 172.31.8.248 node1 172.31.8.248 EC2AMAZ-CJSA0TO 172.31.11.239 belladati-main 172.31.11.239 EC2AMAZ-MF3ICV0
There are many ports used during Cluster operation. We supposed, cluster is installed in an internal network environment. To set up FW rules, Control Panel/System and Security/ Windows Firewall/Advanced settings/Inbound Rules tolls are utilized. All traffic will be allowed now. Test "ping" to hosts table IPs, names.
The cluster environment will utilize database (belladati_db, user belladati_dbuser) running. It is necessary to make possible access to dbs from both belladati-main and node1 servers. The files to check/ modify are pg_hba and postgresql; The pg_hba : connections allowed from both servers to belladati database for belladati user. Example : host all all 0.0.0.0/0 md5 (Because of internal private network, we have allowed access to all databases for all users from all IPs) The postgresql : listen_addresses= define IP addresses to listen on; example : listen_addresses = '*' It is recommended to test connectivity to database belladati_db for user belladati_dbuser from both belladati_main and node1 servers.
The file application.properties can serve also for making possible clustering; file is located in .... domains\domain1\applications\belladati\WEB-INF\classes\conf\application.properties example : C:\Program Files\BellaDati\glassfish5\glassfish\domains\domain1\applications\belladati\WEB-INF\classes\conf\application.properties Two nodes cluster for belladati-main and node1 on port 2335 the next lines are added to the file: application.actor.server.port=2335 tapestry.clustered-sessions=true application.servers=belladati-main:2335,node1:2335 (Servers can be identified by name/IPs)
Application properties have been modified - AS restart is needed.
2 The ssh communication environmentSSH communication environment for windows is setting up using tools described on www.cygwin.com
The C:\cygwin64 directories are created; Set up PATH (see above) to bin subdirectory ; example C:\cygwin64\bin
example to test status (do for both belladati-main and node1 servers) $ cygrunsrv --query cygsshd Service : cygsshd Display name : CYGWIN cygsshd Current State : Running Controls Accepted : Stop Command : /usr/sbin/sshd -D
examples : ssh connection FROM belladati-main to node1 server C:\Users\glassfish>ssh -l glassfish belladati-main glassfish@belladati-main's password: glassfish@EC2AMAZ-MF3ICV0 ~ user glassfish can operate on node1 server via ssh communication
ssh connection FROM node1 server to belladati-main server C:\Users\glassfish>ssh -l glassfish node1 glassfish@node1's password: glassfish@EC2AMAZ-CJSA0TO ~ user glassfish is ssh connected from node1 to belladati-main and can use the server
from belladati-main : ssh node1 'java version' , ssh node1 'jar' from node1 : ssh belladati-main 'java version', ssh belladati-main 'jar' ssh belladati-main 'java -version' We will see adequate response from the server Example: C:\Users\glassfish>ssh node1 'java -version' glassfish@node1's password: java version "1.8.0_201" Java(TM) SE Runtime Environment (build 1.8.0_201-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
glassfish@EC2AMAZ-CJSA0TO ~ $ pwd /home/glassfish glassfish@EC2AMAZ-CJSA0TO ~ $ mkdir /home/glassfish/glassfish $ ls C: glassfish cd glassfish glassfish@EC2AMAZ-CJSA0TO ~/glassfish
3 Cluster installation
Windows command Prompt on server belladati-main, user glassfish (administrator) utility asadmin.
asadmin - utility for performing administrative tasks for Oracle GlassFish Server; path to asadmin is set up in block 1. (Test path to asadmin is set up on belladati-main server; Command Prompt C:\Users\glassfish> asadmin version RESPONSE: Version = GlassFish Server Open Source Edition 5.0.1 (build 5) Command version executed successfully.)
C:\Users\glassfish\asadmin create-password-alias password password is name of the alias, password itself is the user glassfish password Using notepad create text file C:\Users\glassfish\password.txt with one line: AS_ADMIN-SSHPASSWORD=${ALIAS=password} C:\Users\glassfish\asadmin list-password-aliases lists the alias
SSH type node named "node1" is created on machine named node1
C:\Users\glassfish\asadmin create-node-ssh --nodehost node1 --installdir /home/glassfish/glassfish --install=true --sshuser glassfish --passwordfile c:\Users\glassfish\password.txt node1
C:\Users\glassfish\asadmin list-nodes-ssh RESPONSE: node1 SSH node1 C:\Users\glassfish\asadmin ping-node-ssh node1 RESPONSE: Successfully made SSH connection to node node1(node1)
C:\Users\glassfish\asadmin create-cluster belladati-cluster
JVM instance named instance-node1 is created on node "node1" for cluster "belladati-cluster" C:\Users\glassfish\asadmin create-instance --node node1 --cluster belladati-cluster instance-node1 Port associated to the instance: 26666,28080,24848,28686,23700,29009,23820,23920,28181 C:\Users\glassfish\asadmin list-instances to see instances RESPONSE instance-node1 not running Starting instance (instance-node1)
The cluster is intend as 2-nodes. Untill now we have just one instance (instance-node1) on machine called node1; next procedure will create the second instance on the machine belladati-main : C:\Users\glassfish\asadmin create-local-instance --cluster belladati-cluster instance-local-node C:\Users\glassfish\asadmin list-instances belladati-cluster (to see JVM instances) 4 Cluster setting-upCluster configuration until now is with default values/parameters.
C:\Users\glassfish\asadmin create-resource-ref --target belladati-cluster jdbc/belladati_db to see the resources ... asadmin list-resource-refs belladati-cluster
C:\Users\glassfish\asadmin create-application-ref --target belladati-cluster belladati to see application references ... asadmin list-application-refs belladati-cluster
At least one configuration parameters, namely JVM parameter -Xmx (heap space size) should be modified in accordance with recommendation for BellaDati installation : C:\Users\glassfish\asadmin list-jvm-options --target belladati-cluster C:\Users\glassfish\asadmin delete-jvm-options --target belladati-cluster -Xmx..... deleting the default value C:\Users\glassfish\asadmin create-jvm-options --target belladati-cluster -XmxNNNNNew value (e.g. 5120m ) Additional parameters to modify: Thread pool setting http-thread-pool value 512, thread-pool-1 value 512 .
During the above describing procedures the asadmin subcommands was used to create or delete a configuration item. Restart the DAS for the change to take effect is needed.
C:\Users\glassfish\asadmin start-instance instance-node1 restart-domain C:\Users\glassfish\asadmin asadmin list-instances RESPONSE instance-node1 running 4 Cluster setting-updomains to see the GlassFish domain is running
The cluster is
BellaDati is not depending on the selected cluster environment, you can run it on GlassFish, Websphere or JBoss, but there are several parameters contained in application.properties (see BellaDati WAR Configuration) which need to be changed in order to run BellaDati in the cluster):
The example above defines parameters for 2 servers in a cluster, running on 192.168.1.10 and 192.168.1.11. Cluster overview pageAdministrators have access to cluster overview pages, which shows useful information about the servers in the cluster.
Glassfish cluster on Linux example
Updating BellaDati in ClusterWe recommend updating only the WAR file. It is necessary to keep the currently existing application.properties file. Troubleshooting
|
...