2.2 Installing GoldenGate Stream Analytics

After you have reviewed the above software prerequisites, please follow the steps below to install GoldenGate Stream Analytics 26.1.0.0.*:
  1. Unzip OSA-26.1.xxxxxxx.zip.
  2. Change path to OSA-26.1.0.0.0/osa-base/.
  3. Generate a secure password following the steps provided in Generating Secure Password.
  4. Configure GGSA Application
    Set the environment variables:
    export JAVA_HOME=/to/java/path
    export PATH=$JAVA_HOME/bin:$PATH
    export SPARK_HOME=/to/spark/path
     
    ## for the GG change data you need these as well
    export KAFKA_HOME=/to/kafka/path
    export GGBD_HOME=/to/GGBD/path

    Note:

    You can also edit JAVA_HOME and SPARK_HOME from this file: OSA-26.1.0.0.0/osa-base/etc/osa/osa-env.sh.
    1. Modify the following fields in osa-datasource.xml:
      1. URL (JDBC URL for DB)
      2. User (user you want to use as metaDB store)
      3. Password (password for the DB user. Here you can use the secure password generated in Step 3.
        vi OSA-26.1.0.0.0/osa-base/etc/osa-datasource.xml
      Example for Oracle Database:
      <?xml version="1.0"?>
      <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd">
       
      <!-- =============================================================== -->
      <!-- Configure jdbc/OSADataSource data source                        -->
      <!-- =============================================================== -->
      <Configure id="Server" class="org.eclipse.jetty.server.Server">
          <New id="osads" class="org.eclipse.jetty.plus.jndi.Resource">
              <Arg>
                  <Ref refid="wac"/>
              </Arg>
              <Arg>jdbc/OSADataSource</Arg>
              <Arg>
                  <New class="oracle.jdbc.pool.OracleDataSource">
                      <Set name="DataSourceName">jdbc</Set>
                      <Set name="URL">jdbc:oracle:thin:@localhost:1521/XEPDB1</Set>
                      <Set name="User">DbUSER</Set>
                      <Set name="Password">didi0avGVif0wuGjbXcYVwUiihWU02JPbmVw8cThGrUoLs8A</Set>
                      <Set name="connectionCachingEnabled">true</Set>
                      <Set name="connectionCacheProperties">
                          <New class="java.util.Properties">
                              <Call name="setProperty">
                                  <Arg>MinLimit</Arg>
                                  <Arg>1</Arg>
                              </Call>
                              <Call name="setProperty">
                                  <Arg>MaxLimit</Arg>
                                  <Arg>15</Arg>
                              </Call>
                              <Call name="setProperty">
                                  <Arg>InitialLimit</Arg>
                                  <Arg>1</Arg>
                              </Call>
                          </New>
                      </Set>
                  </New>
              </Arg>
          </New>
      </Configure>

      Note:

      For ADW/ ATP update the DataSourceName with <Set name="DataSourceName">adw</Set>
      Example for MysqlDB:
      <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd">
       
      <!-- =============================================================== -->
      <!-- Configure jdbc/OSADataSource data source            -->
      <!-- =============================================================== -->
      <Configure id="Server" class="org.eclipse.jetty.server.Server">
              <!--
                   -->
        <New id="osads" class="org.eclipse.jetty.plus.jndi.Resource">
          <Arg>
            <Ref refid="wac"/>
          </Arg>
          <Arg>jdbc/OSADataSource</Arg>
          <Arg>
            <New class="com.mysql.cj.jdbc.MysqlConnectionPoolDataSource">
              <Set name="URL">jdbc:mysql://<host>:<port>/<db></Set>
              <Set name="User"></Set>
              <Set name="Password"></Set>
            </New>
          </Arg>
        </New>
       
      </Configure>
    2. Configure SSL certificate for HTTPS enabled APIs
      1. NEED_SSL: To enable/disable SSL
      2. OSA_SERVER_CRT_P12: Path of Signed certificate by known authority
      3. OSA_SERVER_CRT_PWD: Encrypted certificate passphrase. User can generate this encrypted passphrase by the tool ./osa-secure-tool.sh
      4. OSA_SERVER_CRT_GENERATED_BY: Specifies if the certificate is generated by application or the user.
      5. OSA_SERVER_CRT_FAIL_ON_VALIDATIONS: This flag fails the startup of application if any issues found during validations of certificate.
    For more information on running Helidon server in SSL/TLS, see Running Helidon Server in SSL/ TLS.
    vi OSA-26.1.0.0.0/osa-base/etc/osa-ssl/ssl.conf


    SSL Certificate for HTTPS enabled APIs

  5. Start/Stop application
    1. If you are starting OSA for the first time
      ./start-osa.sh dbroot="SYS AS SYSDBA" dbroot_password="oracle" --proxy=http://www-proxy-hqdc.us.oracle.com:80
       

      Note:

      Proxy is optional, it may be required to connect to public network if you are using some services which are not on prem, for example, S3.

      You have to provide the OSA admin username and password. You will get a warning if you use very common password. (You should change the password later via OSA UI).

      Application will start now you can access the OSA application with below url https://<ip address>:9443/osa/index.html

      Note:

      For Big Data Targets , we need to set the proxy in the apache-maven.
      vi OSA-26.1.0.0.0/osa-base/apache-maven-3.9.9/conf/setting.xml
      And in this setting.xml file add the proxies in below format:
      <proxy>
            <id>optional</id>
            <active>true</active>
            <protocol>http</protocol>
            <username>proxyuser</username>
            <password>proxypass</password>
            <host>proxy.host.net</host>
            <port>80</port>
            <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
      </proxy>
    2. To stop
      ./stop-osa.sh
    3. To start again

      Without Proxy

      ./start-osa.sh

      With Proxy

      ./start-osa.sh --proxy=http://<proxy-host>:<proxy-port>

2.2.1 Generating Secure Password

GGSA 26.1 uses OSA Secure tool to protect your passwords.

To encrypt your password:

Use osa-secure-tool.sh, available in the bin directory under osa-base.

Before running the script make sure to set and add JAVA_HOME to the path by running the following commands:
export JAVA_HOME=/to/your/java/location
export PATH=$JAVA_HOME/bin:$PATH
java -version ## Just to verify the java is set properly or not
To generate the password:
cd OSA-26.1.0.0.0/osa-base/bin
 ./osa-secure-tool.sh <YOUR_PASSWORD>

If you are using this tool for the first time it will ask you to set a password that will be used to generate a key.Set Password to Generate Key

Note:

OSA Secure tool protected password will be different each time.