Automated Deployment: Windows
- 1 Overview
- 2 Prerequisites Summary
- 3 Installation Logging
- 4 Offline Installation Mode (Optional)
- 5 Steps
- 5.1 Software Compatibility Layer Installation
- 5.2 Extract SC Media
- 5.3 Deploy Apache Cassandra
- 5.3.1 Verification:
- 5.4 Deploy Apache Zookeeper (ZK)
- 5.4.1 Verification
- 5.5 Deploy Apache Kafka
- 5.5.1 Verification
- 5.6 Deploy JanusGraph (JG)
- 5.6.1 Verification:
- 5.7 Deploy Syndeia Cloud (SC)
- 5.7.1 Verification
- 6 How to Manage Services & Check Logs
- 6.1 Services
- 6.1.1 Apache Cassandra
- 6.1.2 Apache Zookeeper
- 6.1.3 Apache Kafka
- 6.1.4 JanusGraph
- 6.1.5 Syndeia Cloud
- 6.2 Logs & Monitoring
- 6.2.1 Apache Cassandra
- 6.2.2 Apache Zookeeper
- 6.2.3 Apache Kafka
- 6.2.4 JanusGraph
- 6.2.5 Syndeia Cloud
- 6.1 Services
- 7 Troubleshooting
Overview
In this section, the Automated Deployment method for Syndeia Cloud is presented. In the Automated Deployment method, Syndeia admins will run scripts that download and configure Syndeia Cloud and its infrastructure components - Cassandra, JanusGraph, Kafka, and Zookeeper.
There is also an option to first download Syndeia Cloud and its infrastructure components, and then run the automated scripts to install. This is useful when deploying Syndeia in an air-gapped environment. See the Offline Installation Mode (Optional) section below to learn more.
Syndeia admins must use either the Automated Deployment (presented here) or the Semi-Automated Deployment method. See the guidance on the parent page: Deployment Methods.
Prerequisites Summary
Deployment page read and understanding of:
Hardware that meets Requirements
Software that meets Version Requirements
Supported OS deployed:
Windows 2016+ with
Console and/or RDP access enabled
Port 9000 (HTTP) | 9443 (HTTPS) opened
Software: Compatibility Layer Components
Windows:
JRE/JDK installed ( with
JAVA_HOME
set)Cygwin and required packages installed
Apache Commons Daemon v1.2.3 downloaded & extracted to
C:\cygwin64\opt\commons-daemon-1.2.3-bin-windows
Software: Infrastructure Components (automatically downloaded OR can use offline mode, see below)
Apache Cassandra
Janusgraph
Apache Zookeeper
Apache Kafka
Software: Syndeia Cloud (SC) Components
Syndeia Cloud (SC) media file .ZIPs downloaded : Download .ZIPs from password-protected links provided in the Intercax Helpdesk ticket where you originally requested your Syndeia Cloud license. Filenames for each are as follows.
syndeia-cloud-3.5-SP2_cassandra_zookeeper_kafka_setup.zip
syndeia-cloud-3.5-SP2_janusgraph_setup.zip
syndeia-cloud-3.5-SP2.zip
Installation Logging
Before proceeding with any deployment steps in the CLI it is highly recommended you first enable input & output logging in your terminal as the shell does not do this by default.
Either enable (maximum) logging in your terminal of choice and/or use GNU script
. See Appendix F6.1: Installation Logging for more details.
Offline Installation Mode (Optional)
If you are not in an offline environment, ex: air-gapped , & your server has internet access, simply skip to the next step.
If you are in an air-gapped environment, or wish to do an offline installation, please see the Offline Installation Mode (Optional) page.
Steps
Note, 3.5 implies latest version of Syndeia Cloud 3.5 (e.g. 3.5 SP1, 3.5 SP2, etc.)
Software Compatibility Layer Installation
JRE/JDK installed ( with
JAVA_HOME
set)Cygwin and required packages installed: Proceed through the Cygwin Setup Instructions for Windows (2012-R2 x64) steps.
3. Apache Commons Daemon v1.2.3 downloaded & extracted to C:\cygwin64\opt\commons-daemon-1.2.3-bin-windows
Extract SC Media
Launch a Cygwin Terminal with
bash
(ensure you are in your home directory)
for Windows Cygwin, this means~/
NOTC:\Users\...
Unzip all SC packages:
unzip syndeia-cloud-3.5-SP2*.zip
Deploy Apache Cassandra
cd to the
cassandra_zookeeper_kafka_setup
package’sbin
directory:cd ~/syndeia-cloud-3.5-SP2*_cassandra_zookeeper_kafka_setup/bin
Run the Apache Cassandra pre-setup script:
./syndeia-cloud-3.5_cassandra_pre-setup.bash
Verification:
Verify Cassandra is up and functioning by running
nodetool status
:
You should get output similar to the following:
Deploy Apache Zookeeper (ZK)
Run the Apache Zookeeper (ZK) pre-setup script:
Verification
Verify Zookeeper is up and functioning by running
zkCli.sh
:You should get output similar to the following:
Deploy Apache Kafka
Run the Apache Kafka pre-setup script:
Kafka on Windows - Be advised that with Kafka on Windows, there is a known issue with Kafka “log”-cleanup operations and the settings for that have been disabled per Kafka, Windows, Logs, and KAFKA-1194 . Please familiarize yourself with this article to ensure you understand the storage ramifications due to this limitation on Windows.
Verification
Verify Kafka is up and functioning by creating a test topic, producer with test events and a consumer that replays them:
… producer:
… consumer:
You should see:
Deploy JanusGraph (JG)
cd to the
janusgaph_setup
package’sbin
directory:Run the JanusGraph (JG) pre-setup script:
Run the (main) JanusGraph (JG) setup script, ie:
Verification:
Verify JG is up and functioning by running the Gremlin client, ie:
Then execute the following commands after it starts up:
Deploy Syndeia Cloud (SC)
cd to the
syndeia-cloud
package’sbin
directory:Run the Syndeia Cloud (SC) pre-setup script:
During execution, you will be prompted to set credentials for JMX monitoring. By default Syndeia Cloud has been configured with JMX enabled & the script will prompt to set a reader & read-write credentials. If you do not wish to use JMX, you can do so pre or post-SC setup via the steps in Appendix C3.6).
Run the (main) Syndeia Cloud (SC) setup script, ie:
Verification
On the server and/or your local machine, launch a web browser & check the following to validate that the application is correctly running:
http://<syndeia_server_FQDN>:9000 should give you:
To log in as the default administrator and create users, see the User Management section.
Once logged in, please verify you see:
a bar graph gets rendered on the Dashboard home page and
the installed version shows correctly under Help > About in the sidebar.
Review the following sections to learn about monitoring the services and locating service logs.
How to Manage Services & Check Logs
Services
Services are all managed using Windows NT Service Control Manager (SCM) services.msc
Control Panel applet OR in a shell (CMD.EXE
or Cygwin Terminal) via the sc.exe
command with a verb, ie: query[ex]
, start
, stop
, followed the service name, ie: cassandra
, janusgraph
, zookeeper
, kafka
, sc-
SC-short-service-name(s) (or sc-*
to reference all SC services).
Note, there is no restart
verb for sc.exe
so you will need to perform a stop followed by a start (or just use the Control Panel applet).
For more information on Windows' sc.exe
usage run sc.exe /?
Example usage for Cassandra, Zookeeper, Kafka, JanusGraph, and Syndeia Cloud follows:
Apache Cassandra
To check the summary status:
To start the service:
To stop the service:
Apache Zookeeper
To check the summary status:
To start the service:
To stop the service:
Apache Kafka
To check the summary status:
To start the service:
To stop the service:
JanusGraph
To check the summary status:
To start the service:
To stop the service:
Syndeia Cloud
Syndeia Cloud 3.5 is defined by two sets of services:
SC 3.5 Core Services:
sc-store
,sc-auth
,sc-graph
,sc-web-gateway
SC 3.5 Integration Services:
sc-aras
,sc-artifactory
,sc-bitbucket
,sc-collaborator
,sc-confluence
,sc-doors
,sc-github
,sc-gitlab
,sc-jama
,sc-jira
,sc-restful
,sc-sysmlv2
,sc-testrail
,sc-twcloud
,sc-volta
,sc-wc
To check the summary status for a specific service, ex: web-gateway:
To start a specific service, ex: web-gateway:
To stop a service, ex: web-gateway:
Logs & Monitoring
Logs on Windows rely on raw log files (there is no journal system).
For every service there are four types of log files generated:
Apache Commons:
stdout
Apache Commons:
stderr
Apache Commons:
commons-daemon
Application/Component: Log file(s) from the application/component itself.
The first three will always be present, and depending on the service, the last one(s) may be created too.
These files are located in the following locations:
Note, on Windows, the base Cygwin Unix file paths below are all mapped to the Windows filesystem directory C:\cygwin64
Apache Cassandra
Apache Cassandra will create an application/component log file called system.log
in its logs
folder
Apache Zookeeper
Zookeeper creates a log file of the form zookeeper-
accountName -server-
serverFQDN .log
This is cumbersome, so for simplicity we have created a symlink to it as zookeeper.log
Apache Kafka
Apache Kafka will create many application/component log files with the extension .log
in its logs
folder
Most of these files constitute Kafka’s DB, the only one that is of concern for diagnostics/troubleshooting are the Apache Commons' prefixed ones and the one named server.log
JanusGraph
JanusGraph will create an application/component log file called gremlin-server.log
in its logs
folder
Syndeia Cloud
For single-node deployments, one can use the common logs directory with symlinks to every service’s logs
folder (this is useful is say one wishes to quickly archive all logs to submit for troubleshooting)
For an individual service’s logs, log files will be under:
… where $service_name
= any one from the below two sets of services:
SC 3.5 Core Services:
sc-store
,sc-auth
,sc-graph
,sc-web-gateway
SC 3.5 Integration Services:
sc-aras
,sc-artifactory
,sc-bitbucket
,sc-collaborator
,sc-confluence
,sc-doors
,sc-github
,sc-gitlab
,sc-jama
,sc-jira
,sc-restful
,sc-sysmlv2
,sc-testrail
,sc-twcloud
,sc-volta
,sc-wc
Troubleshooting
The pre-setup scripts have been tested on the documented platforms so most scripts should execute reliably (ideally flawlessly).
However having said that, it’s always possible that:
you may have missed a step (or steps)
you have a non-standard environment
there’s a genuine bug
If you do experience any issues, please perform the following before opening that Helpdesk ticket:
Review the output: if you notice an error, stop! VS simply moving forward (this is one of the reasons trace mode was (currently) left enabled VS hiding the output).
Uninstall & try again: Try following the below instructions to reset to a clean state and start over (in case a step (or steps) were missed) :
Uninstall
Save the below file named SC_stack_uninstall.bash
to /opt/
, set execute permission on it (ie: chmod ug+x
), then run it from a bash
Terminal, ie: ./SC_stack_uninstall.bash
(on Windows this would be a Cygwin Terminal, on Linux this would be a bash
shell prompt)
Tips
Ensure you DON’T run ANY of the setup scripts with
root
orsudo
!Ensure you DO have enough space allocated to
/opt, /var, /tmp
( check viasudo df -h
),Ensure you DON'T have a
noexec
mount option for/tmp
( check viamount
, note, it may not be directly under/
and could be a sub-dir under/
).Ensure you DO have enough CPU cores, ie: check via:
If that # is < the minimum requirements (8 cores for SC 3.4. 11 for SC 3.5), please bump this up value.
Ensure you DO have the SC media downloaded to the home dir and NOT a subdirectory or anywhere else