Help needed with node-config on multiple server

Posted by ddessertine on 27-Aug-2018 03:21

Hello,

I'm having troubles to start multiple servers like in the documentation (https://documentation.progress.com/output/rb/doc/index.html#page/rb%2Fdistributing-load-with-nginx-and-tomcat.html%23)

I'm on Ubuntu-server 16.04 LTS

I can run a standalone rollbase againt mysl database with only master.war, router.war, rest.war and webapi.war without problems (or all components for other tests)

I wan't to add a production server, so I put the prod1.war in an other server, call it PROD1 in the node-config.json but it never join the master, rb-system.log put "Blocking initialization"

I don't know how to do.

This is my node-config.json 

{
    "serverUrl": "http://localhost:8080",
    "components": [{
        "name": "MASTER",
        "type": "MASTER",
        "internalRoot": "/master",
        "externalRoot": "/master"
    }, {
        "name": "REST",
        "type": "REST",
        "internalRoot": "/rest",
        "externalRoot": "/rest"
    }, {
        "name": "ROUTER",
        "type": "ROUTER",
        "internalRoot": "/router",
        "externalRoot": "/router"
    }, {
        "name": "WEBAPI",
        "type": "WEBAPI",
        "internalRoot": "/webapi",
        "externalRoot": "/webapi"
    }, {
        "name": "PROD1",
        "type": "PROD",
        "internalRoot": "http://192.168.1.20:8080/prod1",
        "externalRoot": "/prod1"
    }],
    "masterDB": {
        "driver": "com.mysql.jdbc.Driver",
        "url": "jdbc:mysql://rollbase-db:3306/RB_DBO",
        "user": "user",
        "p455": "pwd",
        "isExternal":"No",
        "poolType":"0",
        "minConnections":"1",
        "maxConnections":"10",
        "maxInUseTimeMins":"30",
        "maxNotUsedConnTimeMins":"2",
        "maxConnLifetimeMins":"60",
        "connTimeoutSec": "-1"
    },
    "updateSharedProps": {
        "AdminEmail": "admin@test.local",
        "MailPort": "25",
        "MailUseSSL": "0",
        "MailTimeoutSec": "10",
        "MailHost": "smtp.host.com",
        "MailUser": "qrgerqbfebfdbfdb",
        "MailPassword": "qdfbdfqbrhbrgh",
        "SkipEmails": "true",
        "GoogleUserName": "",
        "GoogleRefreshToken": "",
        "GoogleClientId": "",
        "GoogleClientSecretKey": "",
        "AutoReplyAddress": "",
        "EmergencyAddress": "",
        "Copyright": "Copyright \u00A9 1993-2018 Progress Software Corporation. All rights reserved.",
        "ForumURL": "community.progress.com/.../25.aspx",
        "FastTrackPage": "documentation.progress.com/.../rb",
        "SupportURL": "www.progress.com/support-and-services",
        "LinkPrivacy": "www.progress.com/privacy",
        "LinkTerms": "www.progress.com/terms-of-use",
        "TitleTemplate": "{!R} | {!O} | {!S}",
        "WebSiteHTTP": "http:///localhost:8080",
        "WebSiteHTTPS": "https://localhost:8443",
        "CleanupMins": "30",
        "SQLKeywords": "FUNCTION,MULTISET,CASCADED,ROW,PRECISION,CURRENT_TRANSFORM_GROUP_FOR_TYPE,CONTAINS,DEREF,DO,CONDITION,NOT,UNDO,EXCEPT,FOREIGN,PRIVILEGES,ACTION,CHARACTER,MONTH,CREATE,ARE,USING,TIMEZONE_MINUTE,BEGIN,LOOP,RETURN,ELEMENT,GET,GOTO,HANDLER,BLOB,PRESERVE,ASC,GROUPING,STATIC,TRANSACTION,KEY,ELSE,TRAILING,CATALOG,INT,RECURSIVE,VALUE,ROLLBACK,BREADTH,TRANSLATE,SQL-99,DEPTH,TABLESAMPLE,RESTRICT,LEADING,SQL-92,RESIGNAL,REAL,GENERAL,GROUP,INTERSECT,LANGUAGE,FETCH,OUT,LEVEL,READ,INSENSITIVE,NONE,CURRENT_ROLE,USER,TRIM,DESCRIBE,WITHIN,SEARCH,REPEAT,SYSTEM_USER,CALL,LOWER,GO,END,CONSTRAINT,CONSTRUCTOR,SIZE,DYNAMIC,TIMEZONE_HOUR,ALTER,OPTION,IDENTITY,NCHAR,CURRENT_USER,ONLY,EXECUTE,ASSERTION,CLOB,INPUT,TABLE,VARCHAR,SESSION_USER,FLOAT,ASYMMETRIC,SUM,CURRENT_PATH,CHAR_LENGTH,POSITION,NCLOB,ASENSITIVE,INOUT,AT,TIME,DESCRIPTOR,AS,FREE,THEN,COLLATION,SQLEXCEPTION,AVG,LEFT,ZONE,SIGNAL,COLUMN,EXISTS,RETURNS,LIKE,COLLATE,ADD,INTEGER,OUTER,STATE,BY,DEFERRABLE,WHENEVER,TO,OVERLAPS,DISCONNECT,MERGE,CHARACTER_LENGTH,SET,RIGHT,RESULT,RELATIVE,EXEC,HAVING,SESSION,MIN,HOUR,MODULE,UNION,CURRENT,COMMIT,ITERATE,SCHEMA,DECIMAL,CLOSE,DROP,BIGINT,WHEN,SQLCODE,READS,ROWS,START,DECLARE,ROUTINE,BIT,LARGE,REVOKE,NATURAL,PUBLIC,BETWEEN,PRIOR,FIRST,CAST,PREPARE,EXTERNAL,WHILE,ALLOCATE,SETS,DETERMINISTIC,VARYING,TRIGGER,CURRENT_TIME,SPECIFICTYPE,CASE,SQLERROR,NEW,CHAR,DEALLOCATE,MODIFIES,DAY,COUNT,BIT_LENGTH,EQUALS,CASCADE,false,RELEASE,LEAVE,SQL,CONNECTION,FULL,SQLWARNING,ESCAPE,INSERT,SYSTEM,CONNECT,PATH,SAVEPOINT,PARAMETER,CURRENT_DEFAULT_TRANSFORM_GROUP,BOTH,DOUBLE,SYMMETRIC,EACH,LAST,WORK,SELECT,INTO,ARRAY,EXCEPTION,EXIT,UNIQUE,COALESCE,SECOND,VIEW,ROLE,SECTION,ROLLUP,WITHOUT,NULL,PAD,NO,ON,OLD,SENSITIVE,MATCH,PRIMARY,DELETE,NUMERIC,LOCAL,OF,NAMES,ORDINALITY,SPECIFIC,CUBE,true,UNTIL,NATIONAL,CALLED,OR,FILTER,CHECK,FROM,TEMPORARY,CURSOR,DISTINCT,UNNEST,OUTPUT,TIMESTAMP,CURRENT_DATE,ATOMIC,UPPER,OVER,WHERE,DEC,CONSTRAINTS,NULLIF,DIAGNOSTICS,MEMBER,INNER,YEAR,ORDER,AUTHORIZATION,CYCLE,UPDATE,MAX,SQLSTATE,DEFERRED,FOR,HOLD,AND,SPACE,SCROLL,CROSS,LOCALTIMESTAMP,INTERVAL,USAGE,OCTET_LENGTH,IF,UNDER,BOOLEAN,IN,UNKNOWN,SCOPE,OBJECT,CONTINUE,LOCATOR,REFERENCES,PARTITION,IS,SOME,ALL,NEXT,EXTRACT,CURRENT_TIMESTAMP,SUBMULTISET,PARTIAL,WITH,INITIALLY,ISOLATION,SQL-2003,GRANT,LATERAL,CONVERT,INDICATOR,DEFAULT,VALUES,RANGE,BEFORE,AFTER,TRANSLATION,WRITE,PROCEDURE,JOIN,LOCALTIME,SIMILAR,DOMAIN,CORRESPONDING,SUBSTRING,REFERENCING,REF,ELSEIF,OPEN,ANY,MAP,FOUND,IMMEDIATE,WINDOW,DESC,BINARY,DATE,GLOBAL,MINUTE,ABSOLUTE,METHOD,TREAT,DATA,SMALLINT",
        "MarketplaceURL": "localhost:8080/.../",
        "CreateNewAppVideoURL": "documentation.progress.com/.../RB_quick_create.html",
        "CustomizeAppVideoURL": "documentation.progress.com/.../RB_customize_ovr.html",
        "NavAppVideoURL": "documentation.progress.com/.../RB_ux_ovr.html",
        "ShareYouAppVideoURL": "documentation.progress.com/.../RB_share_ovr.html",
        "VideosWebinarsURL": "www.progress.com/video
        "ProgressDataServiceCORSHost": "",
        "HostName" : "localhost:8080"
    },
    "nodeProps": {
        "FontDirs": "",
        "StorageDir": "",
        "LogDir": "",
        "IndexDir": ""
    },
    "webProxies": [],
    "databases": []
}
Thanks for your help.
David

Posted by Srinivas Panyala on 29-Aug-2018 04:00
Please copy the private.key file from rollbase\config\security folder and paste it into the nginx\conf folder. Restart both Nginx and Master servers.
 
 
Thanks,
Srinivas
 

All Replies

Posted by Srinivas Panyala on 28-Aug-2018 02:40

Please do the following modifications in node-config.json

Provide the machine's IP address for serverUrl instead of localhost in both machines.

"serverUrl": "http://localhost:8080",

Remove IP address from PROD1 internal root

"internalRoot": "192.168.1.20:8080/prod1".  It should be   "internalRoot": "/prod1",

E.g. If you are setting up multi-server environment with two machines. First machine's node-config.json file should have all the war entires except PROD1. Second machine's node-config.json file should have only one entry that is PROD1

Sample node-config.json file for PROD server

{

       "serverUrl": "192.168.1.20:8080",

       "components": [{

               "name": "PROD1",

               "type": "PROD",

               "internalRoot": "/prod1",

               "externalRoot": "/prod1"

       }],

       // updateSharedProps section is only required in master nodes

       "updateSharedProps": {

               // Include shared properties that should override shared properties in database

       },

       // nodeProps should be present on each node where the property should take effect

       "nodeProps": {

               "FontDirs": "",

               "StorageDir": "",

               "LogDir": "",

               "IndexDir": ""

       }

}

Thanks

Srinivas

Posted by ddessertine on 28-Aug-2018 04:01

Thank you, I am trying.

Just another question, is the config.war file mandatory on all machine ?

Thanks

David

Posted by Srinivas Panyala on 28-Aug-2018 04:07

Yes.

Thanks

Srinivas

Posted by ddessertine on 28-Aug-2018 04:56

Ok,

I started my first server with this node-config.json :

{

"serverUrl": "192.168.1.10:8080",

"components": [{

"name": "MASTER",

"type": "MASTER",

"internalRoot": "/master",

"externalRoot": "/master"

}, {

"name": "REST",

"type": "REST",

"internalRoot": "/rest",

"externalRoot": "/rest"

}, {

"name": "ROUTER",

"type": "ROUTER",

"internalRoot": "/router",

"externalRoot": "router"

}, {

"name": "WEBAPI",

"type": "WEBAPI",

"internalRoot": "/webapi",

"externalRoot": "/webapi"

}

, {

"name": "STORAGE",

"type": "STORAGE",

"internalRoot": "/storage",

"externalRoot": "/storage"

}, {

"name": "SEARCH",

"type": "SEARCH",

"internalRoot": "/search",

"externalRoot": "/search"

}],

"masterDB": {

"driver": "com.mysql.jdbc.Driver",

"url": "jdbc:mysql://rollbase-db:3306/RB_DBO",

"user": "rollbase",

"p455": "rollbase",

"isExternal":"No",

"poolType":"0",

"minConnections":"1",

"maxConnections":"10",

"maxInUseTimeMins":"30",

"maxNotUsedConnTimeMins":"2",

"maxConnLifetimeMins":"60",

"connTimeoutSec": "-1"

},

"updateSharedProps": {

"AdminEmail": "admin@local.test",

"MailPort": "25",

"MailUseSSL": "0",

"MailTimeoutSec": "10",

"MailHost": "in-v3.mailjet.com",

"MailUser": "fqgqfegegvzregre",

"MailPassword": "efgefgfeg",

"SkipEmails": "true"

},

"nodeProps": {

"FontDirs": "",

"StorageDir": "",

"LogDir": "",

"IndexDir": ""

},

"webProxies": [],

"databases": []

}

it works.

i then start the second server with this node-config.json and only config.war and prod1.war :

{

       "serverUrl": "192.168.1.20:8080",

       "components": [{

               "name": "PROD1",

               "type": "PROD",

               "internalRoot": "/prod1",

               "externalRoot": "/prod1"

       }],

       "masterDB": {

               "driver": "com.mysql.jdbc.Driver",

               "url": "jdbc:mysql://rollbase-db:3306/RB_DBO",

               "user": "rollbase",

               "p455": "rollbase",

               "isExternal":"No",

               "poolType":"0",

               "minConnections":"1",

               "maxConnections":"10",

               "maxInUseTimeMins":"30",

               "maxNotUsedConnTimeMins":"2",

               "maxConnLifetimeMins":"60",

               "connTimeoutSec": "-1"

       },

       "updateSharedProps": {

       },

       "nodeProps": {

               "FontDirs": "",

               "StorageDir": "",

               "LogDir": "",

               "IndexDir": ""

       },

       "webProxies": [],

       "databases": []

}

and I have the following message in rb-system.log

Blocking startup for PROD component PROD1 as system is initializing

So what can I do ?

Thanks

David

Posted by Srinivas Panyala on 28-Aug-2018 05:05

Sorry, I missed http in server url. Please add in both machine's node-config.json file. Also, remove masterDB entry from PROD node-config.json file.

"serverUrl": "192.168.1.10:8080",

Restart both the servers.

Thanks

Srinivas

Posted by Srinivas Panyala on 28-Aug-2018 06:51

Sorry, I missed "http" in serverUrl. Add http in both the machine's node-config.json serverUrl.

"serverUrl": "http://192.168.1.20:8080"

Also, remove masterDB details from PROD machine's node-config.json.

Hope you have added both machines IP in cluster-config.xml and prod machine's IP in prod-cluster-config.xml. cluster-config.xml should available in both the machines and prod-cluster-config.xml file is in only prod machine.

Please refer below documentation to know how to Update the cluster-config.xml to add IP addresses

documentation.progress.com/.../index.html

Thanks

Srinivas

Posted by Srinivas Panyala on 28-Aug-2018 07:02

Also, make sure that ports are opened(5701,5702,5703...etc) which are required for hazelcast.

Thanks

Srinivas

Posted by ddessertine on 28-Aug-2018 07:31

Ok, sorry,

I was missing this part.

I steel have troubles (can't acces my master after updating the cluster-config.xml and restart) but I think is part of configuration.

Thanks

Posted by Srinivas Panyala on 28-Aug-2018 07:44

Could you please share cluster-config.xml and prod-cluster-config.xml files?

Have you installed Nginx? and did you provide nginx url in master's node-config.json file?

E.g. "webProxies":[http://172.20.65.26:9080]

Thanks

Srinivas

Posted by ddessertine on 28-Aug-2018 08:12

All systems are Ubunutu 16.04 LTS

This is my node-config.json on my master :

{

"serverUrl": "192.168.1.10:8080",

"components": [{

"name": "MASTER",

"type": "MASTER",

"internalRoot": "/master",

"externalRoot": "/master"

}, {

"name": "REST",

"type": "REST",

"internalRoot": "/rest",

"externalRoot": "/rest"

}, {

"name": "ROUTER",

"type": "ROUTER",

"internalRoot": "/router",

"externalRoot": "router"

}, {

"name": "WEBAPI",

"type": "WEBAPI",

"internalRoot": "/webapi",

"externalRoot": "/webapi"

}

, {

"name": "STORAGE",

"type": "STORAGE",

"internalRoot": "/storage",

"externalRoot": "/storage"

}, {

"name": "SEARCH",

"type": "SEARCH",

"internalRoot": "/search",

"externalRoot": "/search"

}],

"masterDB": {

"driver": "com.mysql.jdbc.Driver",

"url": "jdbc:mysql://rollbase-db:3306/RB_DBO",

"user": "rollbase",

"p455": "rollbase",

"isExternal":"No",

"poolType":"0",

"minConnections":"1",

"maxConnections":"10",

"maxInUseTimeMins":"30",

"maxNotUsedConnTimeMins":"2",

"maxConnLifetimeMins":"60",

"connTimeoutSec": "-1"

},

"updateSharedProps": {

"AdminEmail": "admin@test.local",

"MailPort": "25",

"MailUseSSL": "0",

"MailTimeoutSec": "10",

"MailHost": "smtp.host.test",

"MailUser": "bvfebvfebv",

"MailPassword": "fbvfbfdbedf",

"SkipEmails": "true"

},

"nodeProps": {

"FontDirs": "",

"StorageDir": "",

"LogDir": "",

"IndexDir": ""

},

"webProxies": [http://192.168.1.100:9080],

"databases": []

}

node-config.json on my prod server

{

"serverUrl": "192.168.1.20:8080",

"components": [{

"name": "PROD1",

"type": "PROD",

"internalRoot": "/prod1",

"externalRoot": "/prod1"

}],

"updateSharedProps": {

},

"nodeProps": {

"FontDirs": "",

"StorageDir": "",

"LogDir": "",

"IndexDir": ""

},

"webProxies": [],

"databases": []

}

cluster-config.xml on both server :

<hazelcast xsi:schemaLocation="" xmlns="www.hazelcast.com/.../config"

  xmlns:xsi="www.w3.org/.../XMLSchema-instance">

<instance-name>rb_global</instance-name>

<network>

<port auto-increment="false">5701</port>

<reuse-address>true</reuse-address>

<join>

<multicast enabled="false"></multicast>

<tcp-ip enabled="true">

<members>192.168.1.10;192.168.1.20</members>

</tcp-ip>

<aws enabled="false"></aws>

</join>

</network>

<group>

<name>rb_global</name>

<password>rb_global</password>

</group>

<properties>

<property name="hazelcast.heartbeat.interval.seconds">5</property>

<property name="hazelcast.max.no.heartbeat.seconds">300</property>

<property name="hazelcast.master.confirmation.interval.seconds">30</property>

<property name="hazelcast.max.no.master.confirmation.seconds">450</property>

<property name="hazelcast.socket.server.bind.any">false</property>

<property name="hazelcast.jmx">true</property>

</properties>

<listeners>

<listener>com.rb.util.engine.services.cluster.hazelcast.HazelcastMembershipListener</listener>

</listeners>

<replicatedmap name="rb-*-cache">

<replication-delay-millis>0</replication-delay-millis>

<async-fillup>false</async-fillup>

</replicatedmap>

<map name="rb-*-cache">

<backup-count>3</backup-count>

</map>

</hazelcast>

and prod-cluster-config.xml on prod server :

<hazelcast xsi:schemaLocation="" xmlns="www.hazelcast.com/.../config"

  xmlns:xsi="www.w3.org/.../XMLSchema-instance">

<instance-name>PROD1</instance-name>

<network>

<port auto-increment="false">5703</port>

<reuse-address>true</reuse-address>

<join>

<multicast enabled="false"></multicast>

<tcp-ip enabled="true">

<members>192.168.1.20</members>

</tcp-ip>

<aws enabled="false"></aws>

</join>

</network>

<group>

<name>PROD1</name>

<password>PROD1</password>

</group>

<properties>

<property name="hazelcast.heartbeat.interval.seconds">5</property>

<property name="hazelcast.max.no.heartbeat.seconds">300</property>

<property name="hazelcast.master.confirmation.interval.seconds">30</property>

<property name="hazelcast.max.no.master.confirmation.seconds">450</property>

<property name="hazelcast.socket.server.bind.any">false</property>

<property name="hazelcast.jmx">true</property>

</properties>

<map name="rb-*-cache">

<backup-count>3</backup-count>

</map>

</hazelcast>

I installed nginx on another server, woriking with ports 9080 and 80 opened

Posted by Srinivas Panyala on 28-Aug-2018 08:22

"http://" is missing in serverUrl. Please modify like below in both the machine and restart the servers. First, start the Master server and make sure that you are able to login with master admin credentials. Start the prod server.

"serverUrl": "192.168.1.10:8080",

"serverUrl": "192.168.1.20:8080",

Instance login page should be accessible with Nginx IP.

192.168.1.100/.../loginPrivate.jsp

Thanks

Srinivas

Posted by ddessertine on 28-Aug-2018 08:23

After restarting with this configuraton I have this error on localhost:8080/.../login.jsp :

État HTTP 500 – Internal Server Error

Type Rapport d''exception

description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.

exception

java.lang.NullPointerException

com.rb.util.system.a726.hasActiveComponent(a726.java:349)

com.rb.util.web.RequestBlockingFilter.doFilter(RequestBlockingFilter.java:33)

note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de ce serveur.

Apache Tomcat/8.5.33

Posted by Srinivas Panyala on 28-Aug-2018 08:35

"http://" is missing in serverUrl. Please modify serverUrl in both the machines. Restart the servers. First, start the master server and login as master admin. After that start the prod server.

"serverUrl": "192.168.1.10:8080",

"serverUrl": "192.168.1.20:8080",

You should able to acess login page with Nginx IP.

192.168.1.100/.../login.jsp

You cannot access the login page with localhost:8080.

You need a valid license with HostName value as 192.168.1.100

Thanks

Srinivas

Posted by ddessertine on 28-Aug-2018 08:43

Ok,

I have licence but with fqn name, note with an ip (I change my hosts).

Then when I start the master I have this error :

com.rb.util.system.config.ConfigurationException: FATAL: while parsing node-config.json => Unrecognized token 'http': was expecting ('true', 'false' or 'null')

at [Source: (String)"{

       "serverUrl": "http://192.168.1.10:8080",

       "components": [{

               "name": "MASTER",

               "type": "MASTER",

               "internalRoot": "/master",

               "externalRoot": "/master"

       }, {

               "name": "REST",

               "type": "REST",

               "internalRoot": "/rest",

               "externalRoot": "/rest"

       }, {

               "name": "ROUTER",

               "type": "ROUTER",

               "internalRoot": "/router",

               "externalRoot": "router"

       }, {

               "name": "WEBAPI",

               "type": "WEBAPI",

               "internalRoot": "/webapi",

               "externalRoot": "/webapi"

       }

       , {

               "name":"[truncated 1053 chars]; line: 65, column: 21]

       at com.rb.util.system.a726.initNodeConfig(a726.java:96)

       at com.rb.util.system.a726.init(a726.java:66)

       at com.rb.util.system.a692.start(a692.java:54)

       at com.rb.storage.logics.servlet.Starter.init(Starter.java:27)

Posted by Srinivas Panyala on 28-Aug-2018 08:59

Seems node-config.json file is not modified properly. Could you please attach the node-config.json file?

Thanks

Srinivas

Posted by ddessertine on 28-Aug-2018 09:09

Sorry i can't attach the file, error on the forum :

{

"serverUrl": "192.168.1.10:8080",

"components": [{

"name": "MASTER",

"type": "MASTER",

"internalRoot": "/master",

"externalRoot": "/master"

}, {

"name": "REST",

"type": "REST",

"internalRoot": "/rest",

"externalRoot": "/rest"

}, {

"name": "ROUTER",

"type": "ROUTER",

"internalRoot": "/router",

"externalRoot": "router"

}, {

"name": "WEBAPI",

"type": "WEBAPI",

"internalRoot": "/webapi",

"externalRoot": "/webapi"

} {

"name": "STORAGE",

"type": "STORAGE",

"internalRoot": "/storage",

"externalRoot": "/storage"

}, {

"name": "SEARCH",

"type": "SEARCH",

"internalRoot": "/search",

"externalRoot": "/search"

}],

"masterDB": {

"driver": "com.mysql.jdbc.Driver",

"url": "jdbc:mysql://rollbase-db:3306/RB_DBO",

"user": "rollbase",

"p455": "rollbase",

"isExternal":"No",

"poolType":"0",

"minConnections":"1",

"maxConnections":"10",

"maxInUseTimeMins":"30",

"maxNotUsedConnTimeMins":"2",

"maxConnLifetimeMins":"60",

"connTimeoutSec": "-1"

},

"updateSharedProps": {

"AdminEmail": "admin@test.local",

"MailPort": "25",

"MailUseSSL": "0",

"MailTimeoutSec": "10",

"MailHost": "host.smtp.test",

"MailUser": "erbeqrbfe",

"MailPassword": "qvgvfevvbvfeb",

"SkipEmails": "true"

},

"nodeProps": {

"FontDirs": "",

"StorageDir": "",

"LogDir": "",

"IndexDir": ""

},

"webProxies": [http://192.168.1.100:9080],

"databases": []

}

Posted by Srinivas Panyala on 28-Aug-2018 09:18

Modify serverUrl to "serverUrl": "http://192.168.1.10:8080",

and

, (comma) is missing after WEBAPI entry.

{

"name": "WEBAPI",

"type": "WEBAPI",

"internalRoot": "/webapi",

"externalRoot": "/webapi"

} , {

"name": "STORAGE",

"type": "STORAGE",

"internalRoot": "/storage",

"externalRoot": "/storage"

},

Click on "Use rich formatting" to attach files. 

Thanks

Srinivas

Posted by ddessertine on 28-Aug-2018 09:50

Yes I saw, but it's not that.

It seems to be related to the webproxy parameter.

When I delete tis entry the server master start normally

Posted by Srinivas Panyala on 28-Aug-2018 12:44
Please provide web proxy value like below.
 
"webProxies" : [{ "url": "http://192.168.1.100:9080" } ]
 
Thanks,
Srinivas
 
Posted by Srinivas Panyala on 28-Aug-2018 12:45

Please provide web proxy value like below.

"webProxies" : [{ "url": "http://192.168.1.100:9080" } ]

Thanks

Srinivas

Posted by ddessertine on 29-Aug-2018 03:05

Ok this is helpfull.

now I can join the nginx server but I have this error : java.net.SocketTimeoutException: Read timed out

On the nginx server i have this error :

2018/08/29 07:50:12 [error] 6#6: can not initialize jvm memory util

2018/08/29 07:50:12 [error] 6#6: jvm start times 2

2018/08/29 07:50:16 [alert] 1#1: worker process 6 exited with fatal code 2 and cannot be respawned

2018/08/29 07:50:16 [alert] 1#1: worker process 7 exited with fatal code 2 and cannot be respawned

Exception in thread "main" Exception in thread "main" java.lang.NoClassDefFoundError: nginx/clojure/MiniConstantsjava.lang.NoClassDefFoundError: nginx/clojure/MiniConstants

Posted by Srinivas Panyala on 29-Aug-2018 03:20

Could you please check jvm_path value is correct in nginx-jvm.conf file?

Please refer below documentation

documentation.progress.com/.../index.html

Thanks

Srinivas

Posted by ddessertine on 29-Aug-2018 03:39

I followed this doc :

jvm_path '/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libjvm.so';

jvm_classpath '/opt/nginx/lib/*';

Posted by ddessertine on 29-Aug-2018 03:53

Ok nginx works, but in rollbase I have this error now :

9-Aug-2018 08:51:49 INFO  Log:95 - NGINX add config payload

{"entries":[{"hostName":"192.168.1.10","port":8080,"componentType":"WEBAPI","componentName":"WEBAPI"}]}

29-Aug-2018 08:51:49 INFO  Log:95 - Sending add config to 1 NGINX servers

29-Aug-2018 08:51:49 ERROR Log:97 - Exception during NGINX topology update on Name: 192.168.1.100:9080, URL: http://192.168.1.100:9080 via HTTP method PUT, body

{"entries":[{"hostName":"192.168.1.10","port":8080,"componentType":"WEBAPI","componentName":"WEBAPI"}]}

params null

com.rb.util.web.WebException: Unauthorized

Posted by Srinivas Panyala on 29-Aug-2018 04:00
Please copy the private.key file from rollbase\config\security folder and paste it into the nginx\conf folder. Restart both Nginx and Master servers.
 
 
Thanks,
Srinivas
 
Posted by ddessertine on 29-Aug-2018 04:37

GREAT GREAT GREAT.

Thank you so much.

It finally works.

Just a little pb on the login page, i'm redirected to mydomain.comrouter/login/login.jsp on first time, i have to put manually the slash before router and it works

Thanks

Posted by ddessertine on 29-Aug-2018 05:00

Ok i found the pb, it's in my node-config.json.

All work fine for me. I can go ahead to test it.

Thank you for your patience

Best regards

David

Posted by ddessertine on 29-Aug-2018 08:19

Dear Srinivas,

I have a last error, in the console panel, my PROD1 server show

192.168.1.20:8080[Error getting sessions from remote server]

any idea ?

Thanks

David

Posted by Srinivas Panyala on 29-Aug-2018 08:28
Could you please share System Console -> Servers Tab screenshot? and please share PROD1 server Catalina log file.
 
Thanks,
Srinivas
 
Posted by ddessertine on 29-Aug-2018 08:38

This is the servers list :

and catalina.log :

29-Aug-2018 12:43:26.003 WARNING [main] org.apache.catalina.startup.SetAllPropertiesRule.begin [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'URIEnrocding' to 'UTF-8' did
not find a matching property.
29-Aug-2018 12:43:26.209 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.5.33
29-Aug-2018 12:43:26.210 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Aug 12 2018 08:20:08 UTC
29-Aug-2018 12:43:26.210 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.5.33.0
29-Aug-2018 12:43:26.210 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
29-Aug-2018 12:43:26.211 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 4.9.93-linuxkit-aufs
29-Aug-2018 12:43:26.211 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
29-Aug-2018 12:43:26.211 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/lib/jvm/java-8-oracle/jre
29-Aug-2018 12:43:26.212 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_181-b13
29-Aug-2018 12:43:26.212 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
29-Aug-2018 12:43:26.212 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /usr/local/tomcat
29-Aug-2018 12:43:26.212 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /usr/local/tomcat
29-Aug-2018 12:43:26.214 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
29-Aug-2018 12:43:26.218 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
29-Aug-2018 12:43:26.220 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
29-Aug-2018 12:43:26.220 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
29-Aug-2018 12:43:26.221 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
29-Aug-2018 12:43:26.221 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
29-Aug-2018 12:43:26.222 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
29-Aug-2018 12:43:26.222 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
29-Aug-2018 12:43:26.222 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
29-Aug-2018 12:43:26.223 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
29-Aug-2018 12:43:27.222 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
29-Aug-2018 12:43:27.287 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
29-Aug-2018 12:43:27.313 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
29-Aug-2018 12:43:27.334 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
29-Aug-2018 12:43:27.334 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 3302 ms
29-Aug-2018 12:43:27.432 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
29-Aug-2018 12:43:27.434 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.33
29-Aug-2018 12:43:27.539 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/usr/local/tomcat/webapps/prod1.war]
29-Aug-2018 12:43:29.996 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this
logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
29-Aug-2018 12:43:34.230 INFO [localhost-startStop-1] com.hazelcast.instance.AddressPicker.null [LOCAL] [rb_global] [3.10] Interfaces is disabled, trying to pick one address from TCP-IP config addresses: [192.168.1.10, 192.168.1.20, 192.168.50.21]
29-Aug-2018 12:43:34.231 INFO [localhost-startStop-1] com.hazelcast.instance.AddressPicker.null [LOCAL] [rb_global] [3.10] Prefer IPv4 stack is true.
29-Aug-2018 12:43:34.255 INFO [localhost-startStop-1] com.hazelcast.instance.AddressPicker.null [LOCAL] [rb_global] [3.10] Picked [192.168.1.20]:5701, using socket ServerSocket[addr=/192.168.1.20,localport=5701], bind any local is false
29-Aug-2018 12:43:34.294 INFO [localhost-startStop-1] com.hazelcast.system.null [192.168.1.20]:5701 [rb_global] [3.10] Hazelcast 3.10 (20180424 - d9afa99) starting at [192.168.1.20]:5701
29-Aug-2018 12:43:34.305 INFO [localhost-startStop-1] com.hazelcast.system.null [192.168.1.20]:5701 [rb_global] [3.10] Copyright (c) 2008-2018, Hazelcast, Inc. All Rights Reserved.
29-Aug-2018 12:43:34.306 INFO [localhost-startStop-1] com.hazelcast.system.null [192.168.1.20]:5701 [rb_global] [3.10] Configured Hazelcast Serialization version: 1
29-Aug-2018 12:43:34.307 INFO [localhost-startStop-1] com.hazelcast.instance.Node.null [192.168.1.20]:5701 [rb_global] [3.10] A non-empty group password is configured for the Hazelcast member. Starting with Hazelcast version 3.8.2, members with the same group name, but with different group passwords (that do not use authentication) form a cluster. The group password configuration will be removed completely in a future release.
29-Aug-2018 12:43:35.372 INFO [localhost-startStop-1] com.hazelcast.spi.impl.operationservice.impl.BackpressureRegulator.null [192.168.1.20]:5701 [rb_global] [3.10] Backpressure is disabled
29-Aug-2018 12:43:35.424 INFO [localhost-startStop-1] com.hazelcast.spi.impl.operationservice.impl.InboundResponseHandlerSupplier.null [192.168.1.20]:5701 [rb_global] [3.10] Running with 2 response threads
29-Aug-2018 12:43:37.512 INFO [localhost-startStop-1] com.hazelcast.instance.Node.null [192.168.1.20]:5701 [rb_global] [3.10] Creating TcpIpJoiner
29-Aug-2018 12:43:38.235 INFO [localhost-startStop-1] com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.null [192.168.1.20]:5701 [rb_global] [3.10] Starting 2 partition threads and 3 generic threads (1 dedicated for priority tasks)
29-Aug-2018 12:43:38.238 INFO [localhost-startStop-1] com.hazelcast.internal.diagnostics.Diagnostics.null [192.168.1.20]:5701 [rb_global] [3.10] Diagnostics disabled. To enable add -Dhazelcast.diagnostics.enabled=true to the JVM arguments.
29-Aug-2018 12:43:38.266 INFO [localhost-startStop-1] com.hazelcast.core.LifecycleService.null [192.168.1.20]:5701 [rb_global] [3.10] [192.168.1.20]:5701 is STARTING
29-Aug-2018 12:43:38.353 INFO [hz.rb_global.cached.thread-3] com.hazelcast.nio.tcp.TcpIpConnector.null [192.168.1.20]:5701 [rb_global] [3.10] Connecting to /192.168.50.21:5701, timeout: 0, bind-any: true
29-Aug-2018 12:43:38.364 INFO [hz.rb_global.cached.thread-2] com.hazelcast.nio.tcp.TcpIpConnector.null [192.168.1.20]:5701 [rb_global] [3.10] Connecting to /192.168.1.10:5701, timeout: 0, bind-any: true
29-Aug-2018 12:43:38.373 INFO [hz.rb_global.cached.thread-2] com.hazelcast.nio.tcp.TcpIpConnectionManager.null [192.168.1.20]:5701 [rb_global] [3.10] Established socket connection between /192.168.1.20:60307 and /192.168.1.10:5701
29-Aug-2018 12:43:38.413 INFO [hz.rb_global.IO.thread-Acceptor] com.hazelcast.nio.tcp.TcpIpAcceptor.null [192.168.1.20]:5701 [rb_global] [3.10] Accepting socket connection from /192.168.1.10:59211
29-Aug-2018 12:43:38.413 INFO [hz.rb_global.IO.thread-Acceptor] com.hazelcast.nio.tcp.TcpIpConnectionManager.null [192.168.1.20]:5701 [rb_global] [3.10] Established socket connection between
/192.168.1.20:5701 and /192.168.1.10:59211
29-Aug-2018 12:43:51.406 INFO [hz.rb_global.generic-operation.thread-1] com.hazelcast.system.null [192.168.1.20]:5701 [rb_global] [3.10] Cluster version set to 3.10
29-Aug-2018 12:43:51.409 INFO [hz.rb_global.generic-operation.thread-1] com.hazelcast.internal.cluster.ClusterService.null [192.168.1.20]:5701 [rb_global] [3.10]

Members {size:2, ver:2} [
Member [192.168.1.10]:5701 - a5f4024a-e535-49f1-a34f-87f796a1ed3b
Member [192.168.1.20]:5701 - b27b5bc1-4b90-40aa-b366-e91b57d2a6aa this
]

29-Aug-2018 12:43:52.492 INFO [localhost-startStop-1] com.hazelcast.internal.jmx.ManagementService.null [192.168.1.20]:5701 [rb_global] [3.10] Hazelcast JMX agent enabled.
29-Aug-2018 12:43:52.601 INFO [localhost-startStop-1] com.hazelcast.core.LifecycleService.null [192.168.1.20]:5701 [rb_global] [3.10] [192.168.1.20]:5701 is STARTED
29-Aug-2018 12:43:59.357 INFO [hz.rb_global.cached.thread-3] com.hazelcast.nio.tcp.TcpIpConnector.null [192.168.1.20]:5701 [rb_global] [3.10] Could not connect to: /192.168.50.21:5701. Reason: SocketException[Connection refused to address /192.168.50.21:5701]
29-Aug-2018 12:44:37.944 INFO [localhost-startStop-1] com.hazelcast.instance.AddressPicker.null [LOCAL] [PROD1] [3.10] Interfaces is disabled, trying to pick one address from TCP-IP config addresses: [192.168.1.21, 192.168.1.20]
29-Aug-2018 12:44:37.954 INFO [localhost-startStop-1] com.hazelcast.instance.AddressPicker.null [LOCAL] [PROD1] [3.10] Prefer IPv4 stack is true.
29-Aug-2018 12:44:37.954 INFO [localhost-startStop-1] com.hazelcast.instance.AddressPicker.null [LOCAL] [PROD1] [3.10] Picked [192.168.1.20]:5703, using socket ServerSocket[addr=/192.168.1.20,localport=5703], bind any local is false
29-Aug-2018 12:44:37.956 INFO [localhost-startStop-1] com.hazelcast.system.null [192.168.1.20]:5703 [PROD1] [3.10] Hazelcast 3.10 (20180424 - d9afa99) starting at [192.168.1.20]:5703
29-Aug-2018 12:44:37.956 INFO [localhost-startStop-1] com.hazelcast.system.null [192.168.1.20]:5703 [PROD1] [3.10] Copyright (c) 2008-2018, Hazelcast, Inc. All Rights Reserved.
29-Aug-2018 12:44:37.956 INFO [localhost-startStop-1] com.hazelcast.system.null [192.168.1.20]:5703 [PROD1] [3.10] Configured Hazelcast Serialization version: 1
29-Aug-2018 12:44:37.957 INFO [localhost-startStop-1] com.hazelcast.instance.Node.null [192.168.1.20]:5703 [PROD1] [3.10] A non-empty group password is configured for the Hazelcast member. Starting with Hazelcast version 3.8.2, members with the same group name, but with different group passwords (that do not use authentication) form a cluster. The group password configuration will be removed completely in a future release.
29-Aug-2018 12:44:37.996 INFO [localhost-startStop-1] com.hazelcast.spi.impl.operationservice.impl.BackpressureRegulator.null [192.168.1.20]:5703 [PROD1] [3.10] Backpressure is disabled
29-Aug-2018 12:44:37.997 INFO [localhost-startStop-1] com.hazelcast.spi.impl.operationservice.impl.InboundResponseHandlerSupplier.null [192.168.1.20]:5703 [PROD1] [3.10] Running with 2 response threads
29-Aug-2018 12:44:38.006 INFO [localhost-startStop-1] com.hazelcast.instance.Node.null [192.168.1.20]:5703 [PROD1] [3.10] Creating TcpIpJoiner
29-Aug-2018 12:44:38.056 INFO [localhost-startStop-1] com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.null [192.168.1.20]:5703 [PROD1] [3.10] Starting 2 partition threads
and 3 generic threads (1 dedicated for priority tasks)
29-Aug-2018 12:44:38.060 INFO [localhost-startStop-1] com.hazelcast.internal.diagnostics.Diagnostics.null [192.168.1.20]:5703 [PROD1] [3.10] Diagnostics disabled. To enable add -Dhazelcast.diagnostics.enabled=true to the JVM arguments.
29-Aug-2018 12:44:38.061 INFO [localhost-startStop-1] com.hazelcast.core.LifecycleService.null [192.168.1.20]:5703 [PROD1] [3.10] [192.168.1.20]:5703 is STARTING
29-Aug-2018 12:44:38.099 INFO [hz.PROD1.cached.thread-2] com.hazelcast.nio.tcp.TcpIpConnector.null [192.168.1.20]:5703 [PROD1] [3.10] Connecting to /192.168.1.21:5703, timeout: 0, bind-any: true
29-Aug-2018 12:44:41.236 INFO [hz.PROD1.cached.thread-2] com.hazelcast.nio.tcp.TcpIpConnector.null [192.168.1.20]:5703 [PROD1] [3.10] Could not connect to: /192.168.1.21:5703. Reason: SocketException[No route to host to address /192.168.1.21:5703]
29-Aug-2018 12:44:41.237 INFO [hz.PROD1.cached.thread-2] com.hazelcast.cluster.impl.TcpIpJoiner.null [192.168.1.20]:5703 [PROD1] [3.10] [192.168.1.21]:5703 is added to the blacklist.
29-Aug-2018 12:44:42.097 INFO [localhost-startStop-1] com.hazelcast.system.null [192.168.1.20]:5703 [PROD1] [3.10] Cluster version set to 3.10
29-Aug-2018 12:44:42.097 INFO [localhost-startStop-1] com.hazelcast.internal.cluster.ClusterService.null [192.168.1.20]:5703 [PROD1] [3.10]

Members {size:1, ver:1} [
Member [192.168.1.20]:5703 - be5451a0-2caa-473a-85ec-055912eb9505 this
]

29-Aug-2018 12:44:42.101 INFO [localhost-startStop-1] com.hazelcast.internal.jmx.ManagementService.null [192.168.1.20]:5703 [PROD1] [3.10] Hazelcast JMX agent enabled.
29-Aug-2018 12:44:42.108 INFO [localhost-startStop-1] com.hazelcast.core.LifecycleService.null [192.168.1.20]:5703 [PROD1] [3.10] [192.168.1.20]:5703 is STARTED
29-Aug-2018 12:44:45.315 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/usr/local/tomcat/webapps/prod1.war] has finished in [77,773] ms
29-Aug-2018 12:44:45.329 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
29-Aug-2018 12:44:45.351 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
29-Aug-2018 12:44:45.355 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 78019 ms
29-Aug-2018 12:45:36.673 INFO [http-nio-8080-exec-1] com.hazelcast.internal.partition.impl.PartitionStateManager.null [192.168.1.20]:5703 [PROD1] [3.10] Initializing cluster partition table arrangement...
29-Aug-2018 12:45:53.234 INFO [hz.rb_global.InvocationMonitorThread] com.hazelcast.spi.impl.operationservice.impl.InvocationMonitor.null [192.168.1.20]:5701 [rb_global] [3.10] Invocations:2 timeouts:1 backup-timeouts:0
29-Aug-2018 12:46:45.233 INFO [hz.rb_global.InvocationMonitorThread] com.hazelcast.spi.impl.operationservice.impl.InvocationMonitor.null [192.168.1.20]:5701 [rb_global] [3.10] Invocations:1 timeouts:1 backup-timeouts:0

Posted by Srinivas Panyala on 29-Aug-2018 08:44
Seems some firewall settings issue. Make sure that 5701, 5702, 5703… and other required ports are open in both the machines.
 
29-Aug-2018 12:43:59.357 INFO [hz.rb_global.cached.thread-3] com.hazelcast.nio.tcp.TcpIpConnector.null [192.168.1.20]:5701 [rb_global] [3.10] Could not connect to: /192.168.50.21:5701. Reason: SocketException[Connection refused to address /192.168.50.21:5701]
 
Thanks,
Srinivas
 
Posted by ddessertine on 30-Aug-2018 02:00

Ok. I see. I expose my port but it seems it didn't work. I'm on docker for testing prupose.

I'll try in an other environnement in order to have more features to diagnose firewall, ...

Thanks a lot.

Regards

David

This thread is closed