Syndeia Cloud Installation Instructions for Windows (2012-R2 x64)

Single Node Setup Instructions:



Pre-requisites:

1.  Ensure you have the syndeia-cloud-3.3.${build_number}_setup.zip downloaded to your home directory (or home directory's Downloads folder) from the download/license instructions sent out by our team.  

(info)  Note: the .ZIP will pre-create a separate folder for its contents when extracted so there is no need to pre-create a separate folder for it.  

2. Review Syndeia Cloud's recommendations, ie: (Open|Oracle)JDK/JRE, memory, FS selection, params, etc. in Deployment.  

(info)  Note:  Syndeia Cloud can be deployed on a different machine VS Cassandra but these steps will focus on a single-node deployment.  

3. If using a firewall, ensure the following port(s) are accessible (consult your local network admin if required): TCP port 9000 (HTTP), 9443 (HTTPS).  

(info)  Note: If required by your IT department, perform any other standard configuration, server hardening (ie: enabling & configuring local firewall, etc.)



Downloading & Extracting Syndeia Cloud:

1. Launch a Cygwin Terminal, it should start in your home dir. 

(warning) CAUTION:  To avoid any issues on Windows, it is recommended you do NOT use a path that contains any spaces in any of the directory (or file) names.  

2. Set an environment var for the build version, ex:  new_build_version=3.3.2021-01-27.SP1 ; export new_build_version:

(info)  Note:  If your version you have is older than the one shown above, please reach out to us to obtain the latest Service Pack.  

3. In the download dir, unzip the main package, ie:  unzip syndeia-cloud-3.3.zip ;  You should see additional .ZIPs for each microservice

(info)  Note: if you don't have unzip installed, you may need to first install it via the Cygwin Installer or jus use Windows Explorer's built-in unzip feature. 

(info)  Note,  If you ran the setup script from the JanusGraph setup page, you can skip the next section (or just validate the syndeia_admin account is setup correctly via the LIST ROLES command).    



Syndeia Cloud Database User Setup:

4. In a new terminal session, launch a CQLSH session (see Appendix C3.3 for instructions) & authenticate (see Appendix C3.1 on how to validate/configure this) with a superuser account (or have the Cassandra administrator authenticate) to do the following for you or your team:   

(info)  Note:  If you have an account you can check by running the CQL command LIST ROLES to list all roles to confirm your account has superuser privilege

$./cqlsh -u cassandra cassandra-syndeia-cloud.mycompany.com
Password:
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.0.15 | CQL spec 3.4.0 | Native protocol v4]
Use HELP for help.
cassandra@cqlsh> LIST ROLES;

 role             | super | login | options
------------------+-------+-------+---------
        cassandra |  True |  True |        {}

(1 rows)
cassandra@cqlsh> 

5. Create a new syndeia_admin role and provide it with a new strong password, ie:

CREATE ROLE syndeia_admin WITH LOGIN = true AND SUPERUSER = true AND PASSWORD = '<syndeia_admin_strong_password>';

    where <syndeia_admin_strong_password> is a strong password, ex:  ‘M1Str9ngPass80rd' ( (warning)  Avoid any of the following special characters: \?*[]+#&.{}$ )

    Then, run the following command to list all roles and confirm syndeia_admin has login access (if you get an error from the CREATE command or do not see syndeia_admin listed in the LIST ROLES output, see Appendix C3.4)

LIST ROLES;

cassandra@cqlsh> LIST ROLES;

 role          | super | login | options
---------------+-------+-------+---------
     cassandra |  True |  True |        {}
 syndeia_admin |  True |  True |        {}



Installing, Configuring, and Starting Syndeia Cloud:

6. In the directory you downloaded and extracted the main .ZIP, run the install script, ie:  ./bin/syndeia-cloud-3.3_install_windows.bash --SC_v ${new_build_version}.  This will: 

- install Syndeia Cloud 3.3 to /opt/icx/syndeia-cloud-${new_build_ver} ,
- make syndeia-cloud:syndeia-cloud the owner, 
- configure the application.conf files if necessary,
- generate a concatenated schema file,
- stop any existing Syndeia Cloud 3.3 processes,
- update/create a "current" symlink to the installed version,
- stop the Janusgraph service,
- stop the Kafka service,
- archive any old Kafka logs,
- drop any old keyspaces & generate the new schema in the DB (Cassandra),
- start Kafka service,
- start Janusgraph service,
- initialize the Janusgraph configuration,
- install a tmpfiles.d .conf file for syndeia-cloud,
- install systemd .target and .service files for syndeia-cloud microservices
- start all Syndeia Cloud microservices,
- create the superuser account, and
- create some sample test data.  

(info)  Note: you may be prompted for sudo authentication when installing to /opt/... you will also be prompted for your syndeia_admin password set previously

(warning)  IMPORTANT:  If you get an error at the end with the superuser or setup devops actions failing (or the superuser action appearing to succeed but not allowing a user to login to the web dashboard), please run them manually, ie:

export SC_HOME=/opt/icx/syndeia-cloud-current ;
export SC_HOME_WIN=$(cygpath -w "${SC_HOME}") ;
${SC_HOME}/devops-1.0-SNAPSHOT/bin/devops -Duser.dir=${SC_HOME_WIN}\\\devops-1.0-SNAPSHOT -XX:+UnlockDiagnosticVMOptions -XX:LogFile=${SC_HOME_WIN}\\\devops-1.0-SNAPSHOT\logs\devops_JVM.log -DXloggc:devops_JVM_gc.log -Dsyndeia.client.action=superuser ;
${SC_HOME}/devops-1.0-SNAPSHOT/bin/devops -Duser.dir=${SC_HOME}\\\devops -XX:+UnlockDiagnosticVMOptions -XX:LogFile=${SC_HOME}\\\logs\\\devops_JVM.log -DXloggc:devops_JVM_gc.log -Dsyndeia.client.action=setup -Dsyndeia.client.username=super.user -Dsyndeia.client.password=syn45ia ;


If you have an environment in which these actions do not succeed, and you have SC v3.3 SP1 or >, you can pass the --skip_devops (or -s) parameter to the end of the script to skip the automatic running of the devops actions at the end, ie:  ./bin/syndeia-cloud-3.3_install.bash --skip_devops

7. Validate correct operation and create/update an archive image to use as a new base image if the node needs to be rebuilt or if you wish to create a cluster. 

(info)  Before making the image you may wish to first stop and optionally disable Syndeia Cloud's services temporarily to prevent auto-start on boot, ie:  sudo systemctl disable sc.target



Managing Syndeia Cloud:

8. To check the status of Syndeia Cloud services, from a CMD.exe prompt run sc.exe '\\localhost' queryex <service_name>; where <service_name> = one of sc-auth|sc-store|sc-graph|sc-web-gateway

9. To stop/start the Syndeia Cloud services, run sc.exe '\\localhost' <action> <service_name>; where <action> = one of start|stop, and <service_name> = one of sc-auth|sc-store|sc-graph|sc-web-gateway

(info)  Note: If you wish to configure the services run on startup, run sc.exe '\\localhost' config <service_name> start=<start_type> ; where <service_name> = one of sc-auth|sc-store|sc-graph|sc-web-gateway.  and <start_type> = boot|system|auto|demand|disabled|delayed-auto.  For more information on controlling services run sc.exe /? 

(warning)  Windows has a limited degree of control over service start ordering but in general you will want to ensure that all your service start in the order of:  Cassandra, Janusgraph, Zookeeper, Kafka, SC (sc-store, sc-auth, sc-graph, sc-web-gateway).  

10. To view the logs for any Syndeia Cloud service, see the appropriate service's log folder, ex:  c:\cygwin64\opt\icx\syndeia-cloud-current\<service_name>-1.0-SNAPSHOT\logs where <service_name> = one of auth-impl,store-impl,graph-impl,web-gateway

(info)  Note:  there are 5 types of log files/streams generated:  access logs, Apache Commons daemon log, stdout (standard output), stderr (standard error), and the log from SC itself.  In a troubleshooting scenario you wish to examine one or more of these.  



Validating Syndeia Cloud Installation & Configuration:

11. Verify if syndeia_admin has all the permissions on the syndeia keyspace, ie:

LIST ALL PERMISSIONS OF syndeia_admin;

12. On the server and/or your local machine, launch a web browser & check the following to validate that the application is correctly running:  

13.1.  http://<syndeia_server_FQDN>:9000 should give you:  

(info) To login as the default administrator and create users, see the User Management section. 



.....Page break.....