You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@heron.apache.org by jo...@apache.org on 2021/05/26 23:25:29 UTC

[incubator-heron] branch joshfischer/0.20.4-incubating-site created (now d5c6bb9)

This is an automated email from the ASF dual-hosted git repository.

joshfischer pushed a change to branch joshfischer/0.20.4-incubating-site
in repository https://gitbox.apache.org/repos/asf/incubator-heron.git.


      at d5c6bb9  adding versioned docs; updating heron:bazel matrix

This branch includes the following new commits:

     new 7f32cc5  Merge branch 'master' of github.com:apache/incubator-heron
     new b277691  initial changes
     new d5c6bb9  adding versioned docs; updating heron:bazel matrix

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[incubator-heron] 01/03: Merge branch 'master' of github.com:apache/incubator-heron

Posted by jo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

joshfischer pushed a commit to branch joshfischer/0.20.4-incubating-site
in repository https://gitbox.apache.org/repos/asf/incubator-heron.git

commit 7f32cc532b17e9a44a2b1fa93e56b7cf105aa78f
Merge: ce8f233 22148db
Author: Josh Fischer <jo...@joshfischer.io>
AuthorDate: Mon May 24 07:48:06 2021 -0500

    Merge branch 'master' of github.com:apache/incubator-heron

 WORKSPACE                                          |   38 +-
 deploy/kubernetes/general/apiserver.yaml           |    2 +-
 .../kubernetes/general/bookkeeper.statefulset.yaml |    4 +-
 .../general/bookkeeper.statefulset_empty.yaml      |    4 +-
 deploy/kubernetes/general/bookkeeper.yaml          |    4 +-
 deploy/kubernetes/helm/values.yaml.template        |    2 +-
 deploy/kubernetes/minikube/apiserver.yaml          |    2 +-
 deploy/kubernetes/minikube/bookkeeper.yaml         |    4 +-
 heron/api/src/java/BUILD                           |    7 +-
 heron/ckptmgr/src/java/BUILD                       |    7 +-
 heron/downloaders/src/java/BUILD                   |    2 +-
 heron/instance/src/java/BUILD                      |    7 +-
 heron/io/dlog/src/java/BUILD                       |    3 +-
 heron/io/dlog/tests/java/BUILD                     |    2 +-
 heron/simulator/src/java/BUILD                     |    9 +-
 heron/statefulstorages/tests/java/BUILD            |    2 +-
 heron/uploaders/src/java/BUILD                     |    2 +-
 heron/uploaders/tests/java/BUILD                   |    2 +-
 maven_install.json                                 | 8057 ++++++++++----------
 scripts/travis/k8s.sh                              |    2 +-
 storm-compatibility/v0.10.2/src/java/BUILD         |    7 +-
 storm-compatibility/v2.2.0/src/java/BUILD          |    7 +-
 third_party/java/BUILD                             |   16 +-
 third_party/java/jarjar/BUILD                      |   12 -
 .../resources/com/tonicsystems/jarjar/help.txt     |   74 -
 third_party/zookeeper/BUILD                        |    8 +-
 third_party/zookeeper/zookeeper_jute.patch         | 2225 ++++++
 tools/build_rules/prelude_bazel                    |    4 +-
 tools/rules/jarjar_rules.bzl                       |   59 -
 29 files changed, 6119 insertions(+), 4455 deletions(-)

[incubator-heron] 03/03: adding versioned docs; updating heron:bazel matrix

Posted by jo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

joshfischer pushed a commit to branch joshfischer/0.20.4-incubating-site
in repository https://gitbox.apache.org/repos/asf/incubator-heron.git

commit d5c6bb9f0290efa6d3a2857bf77ed306bbcb3665
Author: Josh Fischer <jo...@joshfischer.io>
AuthorDate: Wed May 26 18:24:59 2021 -0500

    adding versioned docs; updating heron:bazel matrix
---
 website2/website/scripts/replace.js                |   1 +
 .../version-0.20.4-incubating/compiling-linux.md   | 212 ++++++++++++++++
 .../version-0.20.4-incubating/compiling-osx.md     |  89 +++++++
 .../compiling-overview.md                          | 144 +++++++++++
 .../getting-started-docker.md                      |  29 +++
 .../getting-started-local-single-node.md           | 275 +++++++++++++++++++++
 .../heron-resources-resources.md                   |  69 ++++++
 .../version-0.20.4-incubating-sidebars.json        | 100 ++++++++
 website2/website/versions.json                     |   1 +
 9 files changed, 920 insertions(+)

diff --git a/website2/website/scripts/replace.js b/website2/website/scripts/replace.js
index bb5ac7a..72e4e19 100755
--- a/website2/website/scripts/replace.js
+++ b/website2/website/scripts/replace.js
@@ -39,6 +39,7 @@ const bazelVersions = {
     '0.20.1-incubating': '0.26.0',
     '0.20.2-incubating': '0.26.0',
     '0.20.3-incubating': '3.7.0',
+    '0.20.4-incubating': '3.7.2',
     'latest': '3.7.2',
 }
 
diff --git a/website2/website/versioned_docs/version-0.20.4-incubating/compiling-linux.md b/website2/website/versioned_docs/version-0.20.4-incubating/compiling-linux.md
new file mode 100644
index 0000000..7ff5470
--- /dev/null
+++ b/website2/website/versioned_docs/version-0.20.4-incubating/compiling-linux.md
@@ -0,0 +1,212 @@
+---
+id: version-0.20.4-incubating-compiling-linux
+title: Compiling on Linux
+sidebar_label: Compiling on Linux
+original_id: compiling-linux
+---
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+Heron can currently be built on the following Linux platforms:
+
+* [Ubuntu 18.04](#building-on-ubuntu-18.04)
+* [CentOS 7](#building-on-centos-7)
+
+## Building on Ubuntu 18.04
+
+To build Heron on a fresh Ubuntu 18.04 installation:
+
+### Step 1 --- Update Ubuntu
+
+```bash
+$ sudo apt-get update -y
+$ sudo apt-get upgrade -y
+```
+
+### Step 2 --- Install required libraries
+
+```bash
+$ sudo apt-get install git build-essential automake cmake libtool-bin zip ant \
+  libunwind-setjmp0-dev zlib1g-dev unzip pkg-config python3-setuptools -y
+```
+
+#### Step 3 --- Set the following environment variables
+
+```bash
+export CC=/usr/bin/gcc
+export CCX=/usr/bin/g++
+```
+
+### Step 4 --- Install JDK 11 and set JAVA_HOME
+
+```bash
+$ sudo add-apt-repository ppa:webupd8team/java
+$ sudo apt-get update -y
+$ sudo apt-get install openjdk-11-jdk-headless -y
+$ export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
+```
+
+#### Step 5 - Install Bazel {{% bazelVersion %}}
+
+```bash
+wget -O /tmp/bazel.sh https://github.com/bazelbuild/bazel/releases/download/0.26.0/bazel-0.26.0-installer-linux-x86_64.sh
+chmod +x /tmp/bazel.sh
+/tmp/bazel.sh --user
+```
+
+Make sure to download the appropriate version of Bazel (currently {{%
+bazelVersion %}}).
+
+### Step 6 --- Install python development tools
+```bash
+$ sudo apt-get install  python3-dev python3-pip
+```
+
+### Step 7 --- Make sure the Bazel executable is in your `PATH`
+
+```bash
+$ export PATH="$PATH:$HOME/bin"
+```
+
+### Step 8 --- Fetch the latest version of Heron's source code
+
+```bash
+$ git clone https://github.com/apache/incubator-heron.git && cd heron
+```
+
+### Step 9 --- Configure Heron for building with Bazel
+
+```bash
+$ ./bazel_configure.py
+```
+
+### Step 10 --- Build the project
+
+```bash
+$ bazel build --config=ubuntu heron/...
+```
+
+### Step 11 --- Build the packages
+
+```bash
+$ bazel build --config=ubuntu scripts/packages:binpkgs
+$ bazel build --config=ubuntu scripts/packages:tarpkgs
+```
+
+This will install Heron packages in the `bazel-bin/scripts/packages/` directory.
+
+## Manually Installing Libraries
+
+If you encounter errors with [libunwind](http://www.nongnu.org/libunwind), [libtool](https://www.gnu.org/software/libtool), or
+[gperftools](https://github.com/gperftools/gperftools/releases), we recommend
+installing them manually.
+
+### Compling and installing libtool
+
+```bash
+$ wget http://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz
+$ tar -xvf libtool-2.4.6.tar.gz
+$ cd libtool-2.4.6
+$ ./configure
+$ make
+$ sudo make install
+```
+
+### Compiling and installing libunwind
+
+```bash
+$ wget http://download.savannah.gnu.org/releases/libunwind/libunwind-1.1.tar.gz
+$ tar -xvf libunwind-1.1.tar.gz
+$ cd libunwind-1.1
+$ ./configure
+$ make
+$ sudo make install
+```
+
+### Compiling and installing gperftools
+
+```bash
+$ wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.5/gperftools-2.5.tar.gz
+$ tar -xvf gperftools-2.5.tar.gz
+$ cd gperftools-2.5
+$ ./configure
+$ make
+$ sudo make install
+```
+
+## Building on CentOS 7
+
+To build Heron on a fresh CentOS 7 installation:
+
+### Step 1 --- Install the required dependencies
+
+```bash
+$ sudo yum install gcc gcc-c++ kernel-devel wget unzip zlib-devel zip git automake cmake patch libtool ant pkg-config -y
+```
+
+### Step 2 --- Install libunwind from source
+
+```bash
+$ wget http://download.savannah.gnu.org/releases/libunwind/libunwind-1.1.tar.gz
+$ tar xvf libunwind-1.1.tar.gz
+$ cd libunwind-1.1
+$ ./configure
+$ make
+$ sudo make install
+```
+
+### Step 3 --- Set the following environment variables
+
+```bash
+$ export CC=/usr/bin/gcc
+$ export CCX=/usr/bin/g++
+```
+
+### Step 4 --- Install JDK 11
+
+```bash
+$ sudo yum install java-11-openjdk java-11-openjdk-devel
+$ export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
+```
+
+#### Step 5 - Install Bazel {{% bazelVersion %}}
+
+```bash
+wget -O /tmp/bazel.sh https://github.com/bazelbuild/bazel/releases/download/0.26.0/bazel-0.26.0-installer-linux-x86_64.sh
+chmod +x /tmp/bazel.sh
+/tmp/bazel.sh --user
+```
+
+Make sure to download the appropriate version of Bazel (currently {{%
+bazelVersion %}}).
+
+### Step 6 --- Download Heron and compile it
+
+```bash
+$ git clone https://github.com/apache/incubator-heron.git && cd heron
+$ ./bazel_configure.py
+$ bazel build --config=centos heron/...
+```
+
+### Step 7 --- Build the binary packages
+
+```bash
+$ bazel build --config=centos scripts/packages:binpkgs
+$ bazel build --config=centos scripts/packages:tarpkgs
+```
+
+This will install Heron packages in the `bazel-bin/scripts/packages/` directory.
diff --git a/website2/website/versioned_docs/version-0.20.4-incubating/compiling-osx.md b/website2/website/versioned_docs/version-0.20.4-incubating/compiling-osx.md
new file mode 100644
index 0000000..20b2130
--- /dev/null
+++ b/website2/website/versioned_docs/version-0.20.4-incubating/compiling-osx.md
@@ -0,0 +1,89 @@
+---
+id: version-0.20.4-incubating-compiling-osx
+title: Compiling on OS X
+sidebar_label: Compiling on OS X
+original_id: compiling-osx
+---
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+This is a step-by-step guide to building Heron on Mac OS X (versions 10.10 and
+  10.11).
+
+### Step 1 --- Install Homebrew
+
+If [Homebrew](http://brew.sh/) isn't yet installed on your system, you can
+install it using this one-liner:
+
+```bash
+$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
+```
+
+### Step 2 -- Install Bazel
+```bash
+wget -O /tmp/bazel.sh https://github.com/bazelbuild/bazel/releases/download/3.7.2/bazel-3.7.2-installer-darwin-x86_64.sh
+chmod +x /tmp/bazel.sh
+/tmp/bazel.sh --user
+```
+
+### Step 2 --- Install other required libraries
+
+```bash
+brew install automake
+brew install cmake
+brew install libtool
+brew install ant
+brew install pkg-config
+```
+
+### Step 3 --- Set the following environment variables
+
+```bash
+$ export CC=/usr/bin/clang
+$ export CXX=/usr/bin/clang++
+$ echo $CC $CXX
+```
+
+### Step 4 --- Fetch the latest version of Heron's source code
+
+```bash
+$ git clone https://github.com/apache/incubator-heron.git && cd incubator-heron
+```
+
+### Step 5 --- Configure Heron for building with Bazel
+
+```bash
+$ ./bazel_configure.py
+```
+
+If this configure script fails with missing dependencies, Homebrew can be used
+to install those dependencies.
+
+### Step 6 --- Build the project
+
+```bash
+$ bazel build --config=darwin heron/...
+```
+
+### Step 7 --- Build the packages
+
+```bash
+$ bazel build --config=darwin scripts/packages:binpkgs
+$ bazel build --config=darwin scripts/packages:tarpkgs
+```
+
+This will install Heron packages in the `bazel-bin/scripts/packages/` directory.
diff --git a/website2/website/versioned_docs/version-0.20.4-incubating/compiling-overview.md b/website2/website/versioned_docs/version-0.20.4-incubating/compiling-overview.md
new file mode 100644
index 0000000..0a4d1da
--- /dev/null
+++ b/website2/website/versioned_docs/version-0.20.4-incubating/compiling-overview.md
@@ -0,0 +1,144 @@
+---
+id: version-0.20.4-incubating-compiling-overview
+title: Compiling Heron
+sidebar_label: Compiling Overview
+original_id: compiling-overview
+---
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+Heron is currently available for [Mac OS X 11.01](compiling-osx),
+[Ubuntu 18.04](compiling-linux), and [Debian10](compiling-docker#building-heron).
+ This guide describes the basics of the
+Heron build system. For step-by-step build instructions for other platforms,
+the following guides are available:
+
+* [Building on Linux Platforms](compiling-linux)
+* [Building on Mac OS X](compiling-osx)
+
+Heron can be built either [in its entirety](#building-all-components), as [individual components](#building-specific-components).
+
+Instructions on running unit tests for Heron can also be found in [Testing Heron](compiling-running-tests).
+
+## Requirements
+
+You must have the following installed to compile Heron:
+
+* [Bazel](http://bazel.io/docs/install.html) = {{% bazelVersion %}}. Later
+  versions might work but have not been tested. See [Installing Bazel](#installing-bazel)below.
+* [Java 11](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html)
+  is required by Bazel and Heron;
+  topologies can be written in Java 7 or above
+  , but Heron jars are required to run with a Java 11 JRE.
+* [Autoconf](http://www.gnu.org/software/autoconf/autoconf.html) >=
+  2.6.3
+* [Automake](https://www.gnu.org/software/automake/) >= 1.11.1
+* [GNU Make](https://www.gnu.org/software/make/) >= 3.81
+* [GNU Libtool](http://www.gnu.org/software/libtool/) >= 2.4.6
+* [gcc/g++](https://gcc.gnu.org/) >= 4.8.1 (Linux platforms)
+* [CMake](https://cmake.org/) >= 2.6.4
+* [Python](https://www.python.org/) >= 3.8
+* [Perl](https://www.perl.org/) >= 5.8.8
+* [Ant] (https://ant.apache.org/) >= 1.10.0
+* [Pkg-Config] (https://www.freedesktop.org/wiki/Software/pkg-config/) >= 0.29.2
+
+Export the `CC` and `CXX` environment variables with a path specific to your
+machine:
+
+```bash
+$ export CC=/your-path-to/bin/c_compiler
+$ export CXX=/your-path-to/bin/c++_compiler
+$ echo $CC $CXX
+```
+
+## Installing Bazel
+
+Heron uses the [Bazel](http://bazel.io) build tool. Bazel releases can be found here:
+https://github.com/bazelbuild/bazel/releases/tag/{{% bazelVersion %}}
+and installation instructions can be found [here](http://bazel.io/docs/install.html).
+
+To ensure that Bazel has been installed, run `bazel version` and check the
+version (listed next to `Build label` in the script's output) to ensure that you
+have Bazel {{% bazelVersion %}}.
+
+## Configuring Bazel
+
+There is a Python script that you can run to configure Bazel on supported
+platforms:
+
+```bash
+$ cd /path/to/heron
+$ ./bazel_configure.py
+```
+
+## Building
+
+### Bazel OS Environments
+
+Bazel builds are specific to a given OS. When building you must specify an
+OS-specific configuration using the `--config` flag. The following OS values
+are supported:
+
+* `darwin` (Mac OS X)
+* `ubuntu` (Ubuntu 18.04)
+* `debian` (Debian10)
+* `centos5` (CentOS 7)
+
+For example, on Mac OS X (`darwin`), the following command will build all
+packages:
+
+```bash
+$ bazel build --config=darwin heron/...
+```
+
+Production release packages include additional performance optimizations
+not enabled by default. Enabling these optimizations increases build time.
+To enable production optimizations, include the `opt` flag:
+```bash
+$ bazel build -c opt --config=PLATFORM heron/...
+```
+
+### Building All Components
+
+The Bazel build process can produce either executable install scripts or
+bundled tars. To build executables or tars for all Heron components at once,
+use the following `bazel build` commands, respectively:
+
+```bash
+$ bazel build --config=PLATFORM scripts/packages:binpkgs
+$ bazel build --config=PLATFORM scripts/packages:tarpkgs
+```
+
+Resulting artifacts can be found in subdirectories below the `bazel-bin`
+directory. The `heron-tracker` executable, for example, can be found at
+`bazel-bin/heron/tools/tracker/src/python/heron-tracker`.
+
+### Building Specific Components
+
+As an alternative to building a full release, you can build Heron executables
+for a single Heron component (such as the [Heron
+Tracker](user-manuals-heron-tracker-runbook)) by passing a target to the `bazel
+build` command. For example, the following command would build the Heron Tracker:
+
+```bash
+$ bazel build --config=darwin heron/tools/tracker/src/python:heron-tracker
+```
+
+## Testing Heron
+
+Instructions for running Heron unit tests can be found at [Testing
+Heron](compiling-running-tests).
diff --git a/website2/website/versioned_docs/version-0.20.4-incubating/getting-started-docker.md b/website2/website/versioned_docs/version-0.20.4-incubating/getting-started-docker.md
new file mode 100644
index 0000000..11afc60
--- /dev/null
+++ b/website2/website/versioned_docs/version-0.20.4-incubating/getting-started-docker.md
@@ -0,0 +1,29 @@
+---
+id: version-0.20.4-incubating-getting-started-docker
+title: The official Apache Heron Docker Image(s)
+sidebar_label: Heron & Docker
+original_id: getting-started-docker
+---
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+> The current version of Heron is {{heron:version}}
+
+The official Apache Heron Docker image is located at the link below
+
+<a target="_blank" href="https://hub.docker.com/repository/docker/apache/heron">https://hub.docker.com/repository/docker/apache/heron</a>
+
diff --git a/website2/website/versioned_docs/version-0.20.4-incubating/getting-started-local-single-node.md b/website2/website/versioned_docs/version-0.20.4-incubating/getting-started-local-single-node.md
new file mode 100644
index 0000000..88d47b0
--- /dev/null
+++ b/website2/website/versioned_docs/version-0.20.4-incubating/getting-started-local-single-node.md
@@ -0,0 +1,275 @@
+---
+id: version-0.20.4-incubating-getting-started-local-single-node
+title: Local (Single Node)
+sidebar_label: Local (Single Node)
+original_id: getting-started-local-single-node
+---
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+> The current version of Heron is {{heron:version}}
+For other platforms, you need to build from source. Please refer to the [guide to compiling Heron](compiling-overview).
+
+## Step 1 --- Download the Heron tools
+
+Heron tools can be installed using [installation scripts](#using-installation-scripts).
+
+> Note: As of version  0.20.4-incubating, there is a python compatibility on OSX.
+> The supported platforms are CentOS7, Debian10, and Ubuntu18.04.
+
+## Using installation scripts
+
+To install Heron binaries directly, using installation scripts, go to Heron's [releases page](https://github.com/apache/incubator-heron/releases) on GitHub
+and see a full listing of Heron releases for each available platform. The installation script for macOS (`darwin`), for example, is named
+`heron-install-{{% heronVersion %}}-darwin.sh`.
+
+```bash
+$ wget https://github.com/apache/incubator-heron/releases/download/{{% heronVersion %}}/heron-install-{{% heronVersion %}}-darwin.sh
+
+
+```
+
+Download the for your platform either from the releases page or using [`wget`](https://www.gnu.org/software/wget/). Here's a `wget` example for Ubuntu:
+
+```bash
+$ wget https://github.com/apache/incubator-heron/releases/download/{{% heronVersion %}}/heron-install-{{% heronVersion %}}-ubuntu18.04.sh
+```
+Debian10
+```bash
+$ wget https://github.com/apache/incubator-heron/releases/download/{{% heronVersion %}}/heron-install-{{% heronVersion %}}-debian.sh
+```
+
+Once you've downloaded the script, make it executable using [chmod](https://en.wikipedia.org/wiki/Chmod):
+
+```bash
+$ chmod +x heron-*.sh
+```
+
+Now run the [Heron client](user-manuals-heron-cli) installation script with the `--user` flag set. Here's an example:
+
+> The script will install executables in the `~/bin` folder. You should add that folder to your `PATH` using `export PATH=~/bin:$PATH`.
+
+```bash
+$ ./heron-install-{{% heronVersion %}}-ubuntu.sh --user
+Heron installer
+---------------
+
+Uncompressing...done
+...
+Heron is now installed!
+```
+
+To check that Heron is successfully installed, run `heron version`:
+
+```bash
+$ heron version
+heron.build.git.revision : b580f689d8cbcb3026966bde2aacf6da74d5bcf5
+heron.build.git.status : Modified
+heron.build.host : MBP
+heron.build.time : Sun Mar 22 06:42:05 CDT 2020
+heron.build.timestamp : 1584877325000
+heron.build.user : ...
+heron.build.version : update-docs-compiling
+```
+
+## Step 2 --- Launch an example topology
+
+> #### Note for macOS users
+
+> If you want to run topologies locally on macOS, you may need to add your
+> hostname to your `/etc/hosts` file under `localhost`. Here's an example line:
+> `127.0.0.1 localhost My-Mac-Laptop.local`. You can fetch your hostname by simply
+> running `hostname` in your shell.
+
+If you set the `--user` flag when running the installation scripts, some example
+topologies will be installed in your `~/.heron/examples` directory. You can
+launch an example [topology](heron-topology-concepts) locally (on your machine)
+using the [Heron CLI tool](user-manuals-heron-cli):
+
+```bash
+$ heron submit local \
+  ~/.heron/examples/heron-streamlet-examples.jar \
+  org.apache.heron.examples.streamlet.WindowedWordCountTopology \
+  WindowedWordCountTopology \
+  --deploy-deactivated
+```
+
+The output should look something like this:
+
+```bash
+INFO: Launching topology 'WindowedWordCountTopology'
+
+...
+
+INFO: Topology 'WindowedWordCountTopology' launched successfully
+INFO: Elapsed time: 3.409s.
+```
+
+This will *submit* the topology to your locally running Heron cluster but it
+won't *activate* the topology because the `--deploy-deactivated` flag was set.
+Activating the topology will be explored in [step
+5](#step-5-explore-topology-management-commands) below.
+
+Note that the output shows whether the topology has been launched successfully as well
+the working directory for the topology.
+
+To check what's under the working directory, run:
+
+```bash
+$ ls -al ~/.herondata/topologies/local/${ROLE}/WindowedWordCountTopology
+-rw-r--r--   1 username  staff     6141 Oct 12 09:58 WindowedWordCountTopology.defn
+-rw-r--r--   1 username  staff        5 Oct 12 09:58 container_1_flatmap1_4.pid
+-rw-r--r--   1 username  staff        5 Oct 12 09:58 container_1_logger1_3.pid
+# etc.
+```
+
+All instances' log files can be found in `log-files` under the working directory:
+
+```bash
+$ ls -al ~/.herondata/topologies/local/${ROLE}/WindowedWordCountTopology/log-files
+total 408
+-rw-r--r--   1 username  staff   5055 Oct 12 09:58 container_1_flatmap1_4.log.0
+-rw-r--r--   1 username  staff      0 Oct 12 09:58 container_1_flatmap1_4.log.0.lck
+-rw-r--r--   1 username  staff   5052 Oct 12 09:58 container_1_logger1_3.log.0
+# etc.
+```
+
+## Step 3 --- Start Heron Tracker
+
+The [Heron Tracker](user-manuals-heron-tracker-runbook) is a web service that
+continuously gathers information about your Heron cluster. You can launch the
+tracker by running the `heron-tracker` command (which is already installed):
+
+```bash
+$ heron-tracker
+... Running on port: 8888
+... Using config file: $HOME/.herontools/conf/heron_tracker.yaml
+```
+
+You can reach Heron Tracker in your browser at [http://localhost:8888](http://localhost:8888)
+and see something like the following upon successful submission of the topology:
+![Heron Tracker](assets/heron-tracker.png)
+
+To explore Heron Tracker, please refer to [Heron Tracker Rest API](user-manuals-tracker-rest)
+
+## Step 4 --- Start Heron UI
+
+[Heron UI](user-manuals-heron-ui-runbook) is a user interface that uses Heron Tracker to
+provide detailed visual representations of your Heron topologies. To launch
+Heron UI:
+
+```bash
+$ heron-ui
+... Running on port: 8889
+... Using tracker url: http://localhost:8888
+```
+
+You can open Heron UI in your browser at [http://localhost:8889](http://localhost:8889)
+and see something like this upon successful submission of the topology:
+![Heron UI](assets/heron-ui.png)
+
+To play with Heron UI, please refer to [Heron UI Usage Guide](guides-ui-guide)
+
+## Step 5 --- Explore topology management commands
+
+In step 2 you submitted a topology to your local cluster. The `heron` CLI tool
+also enables you to activate, deactivate, and kill topologies and more.
+
+```bash
+$ heron activate local WindowedWordCountTopology
+$ heron deactivate local WindowedWordCountTopology
+$ heron kill local WindowedWordCountTopology
+```
+
+Upon successful actions, a message similar to the following will appear:
+
+```bash
+INFO: Successfully activated topology 'WindowedWordCountTopology'
+INFO: Elapsed time: 1.980s.
+```
+
+For more info on these commands, read about [topology
+lifecycles](heron-topology-concepts#topology-lifecycle).
+
+To list the available CLI commands, run `heron` by itself:
+
+```bash
+usage: heron <command> <options> ...
+
+Available commands:
+    activate           Activate a topology
+    deactivate         Deactivate a topology
+    help               Prints help for commands
+    kill               Kill a topology
+    restart            Restart a topology
+    submit             Submit a topology
+    version            Print version of heron-cli
+
+For detailed documentation, go to https://heron.incubator.apache.org
+```
+
+To invoke help output for a command, run `heron help COMMAND`. Here's an
+example:
+
+```bash
+$ heron help submit
+usage: heron submit [options] cluster/[role]/[environ] topology-file-name topology-class-name [topology-args]
+
+Required arguments:
+  cluster/[role]/[env]  Cluster, role, and environ to run topology
+  topology-file-name    Topology jar/tar/zip file
+  topology-class-name   Topology class name
+
+Optional arguments:
+  --config-path (a string; path to cluster config; default: "$HOME/.heron/conf")
+  --config-property (key=value; a config key and its value; default: [])
+  --deploy-deactivated (a boolean; default: "false")
+  -D DEFINE             Define a system property to pass to java -D when
+                        running main.
+  --verbose (a boolean; default: "false")
+```
+
+## Step 6 --- Explore other example topologies
+
+The source code for the example topologies can be found
+[on
+GitHub](https://github.com/apache/incubator-heron/tree/master/examples/src/java/org/apache/heron/examples).
+The included example topologies:
+
+* `AckingTopology.java` --- A topology with acking enabled.
+* `ComponentJVMOptionsTopology.java` --- A topology that supplies JVM options
+  for each component.
+* `CustomGroupingTopology.java` --- A topology that implements custom grouping.
+* `ExclamationTopology.java` --- A spout that emits random words to a bolt that
+  then adds an exclamation mark.
+* `MultiSpoutExclamationTopology.java` --- a topology with multiple spouts.
+* `MultiStageAckingTopology.java` --- A three-stage topology. A spout emits to a
+  bolt that then feeds to another bolt.
+* `TaskHookTopology.java` --- A topology that uses a task hook to subscribe to
+   event notifications.
+
+## Troubleshooting
+In case of any issues, please refer to [Quick Start Troubleshooting](getting-started-troubleshooting-guide).
+
+### Next Steps
+
+* [Migrate Storm topologies](getting-started-migrate-storm-topologies) to Heron with simple `pom.xml`
+  changes
+* [Deploy topologies](deployment-overview) in clustered, scheduler-driven
+  environments (such as on [Aurora](schedulers-aurora-cluster)
+  and [locally](schedulers-local))
+* [Develop topologies](heron-architecture) for Heron
\ No newline at end of file
diff --git a/website2/website/versioned_docs/version-0.20.4-incubating/heron-resources-resources.md b/website2/website/versioned_docs/version-0.20.4-incubating/heron-resources-resources.md
new file mode 100644
index 0000000..7530889
--- /dev/null
+++ b/website2/website/versioned_docs/version-0.20.4-incubating/heron-resources-resources.md
@@ -0,0 +1,69 @@
+---
+id: version-0.20.4-incubating-heron-resources-resources
+title: Heron Resources
+sidebar_label: Heron Resources
+original_id: heron-resources-resources
+---
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+Heron Resources outside this documentation:
+
+## Books
+
+* [Heron Streaming: Fundamentals, Applications, Operations, and Insights](https://www.springer.com/us/book/9783030600938)
+
+## Conference & Journal Papers
+
+* [Streaming@Twitter - Bulletin of the IEEE Computer Society Technical Committee on Data Engineering](http://sites.computer.org/debull/A15dec/p15.pdf) (Jul, 2016)
+* [Twitter Heron: Stream Processing at
+  Scale - SIGMOD’15](http://dl.acm.org/citation.cfm?id=2742788) (May, 2015)
+* [Storm@Twitter - SIGMOD'14](http://dl.acm.org/citation.cfm?id=2595641) (Jun, 2014)
+
+## Videos
+
+* [Twitter Heron on Apache Aurora - #compute event @Twitter](https://m.youtube.com/watch?v=ua0ufmr9sQI&feature=youtu.be) (Apr, 2016)
+* [Flying Faster with Heron - InfoQ](http://www.infoq.com/presentations/twitter-heron) (Apr, 2016)
+* [Twitter Heron: Stream Processing at
+  Scale - @Scale](https://www.youtube.com/watch?v=pUaFOuGgmco) (Sep, 2015)
+* [Stream Processing and Anomaly Detection - Velocity O'Reilly - Note: requires O'Reilly login ](
+https://player.oreilly.com/videos/9781491927977?login=true)(Jun, 2015)
+* [Building Apache Heron - BazelCon 2018](https://www.youtube.com/watch?v=yBTSfA4YDtY&t=1s)(Oct, 2018)
+
+##  Blog Posts
+* [Leaving the Nest: Heron donated to Apache Software Foundation](https://blog.twitter.com/engineering/en_us/topics/open-source/2018/heron-donated-to-apache-software-foundation.html) (Feb, 2018)
+* [Open Sourcing Twitter Heron](https://blog.twitter.com/2016/open-sourcing-twitter-heron) (May, 2016)
+* [Flying Faster with Twitter
+  Heron](https://blog.twitter.com/2015/flying-faster-with-twitter-heron) (June, 2015)
+* [Deploying Heron on a Cluster of Machines with Apache Aurora](http://streamanalytics.blogspot.com/2016/06/deploying-heron-on-cluster-of-machines.html) (Supun Kamburugamuve, Jun, 2016)
+* [Setting up Heron Locally with Apache Aurora](http://pulasthisupun.blogspot.com/2016/06/setting-up-heron-cluster-with-apache.html) (Pulasthi Supun, Jun, 2016)
+* [Introducing Heron’s ECO; A Flexible Way To Manage Topologies](https://1904labs.com/2018/02/14/introducing-herons-eco-flexible-way-manage-topologies/) (Feb, 2018)
+
+## Slides
+
+* [Real-Time Analytics: Algorithms and Systems - Twitter University ](
+http://www.slideshare.net/arunkejariwal/real-time-analytics-algorithms-and-systems) (May, 2016)
+* [Stream Processing and Anomaly Detection - Velocity O'Reilly ](http://www.slideshare.net/arunkejariwal/velocity-2015final)(Jun, 2015)
+
+## Press 
+
+* [Heron, Twitter's Data Streaming Platform, Has Been Open Sourced](http://www.benzinga.com/tech/16/06/8119962/heron-twitters-data-streaming-platform-has-been-open-sourced) (BenZinga, Jun, 2016)
+* [Twitter Open Sources Heron -- Data Streaming For Dummies](http://www.forbes.com/sites/adrianbridgwater/2016/06/16/twitter-open-sources-heron-data-streaming-for-dummies/#6f8984319b50) (Forbes, Jun, 2016)
+* [Getting Started with Heron on Apache Mesos and Apache Kafka](https://allthingshadoop.com/2016/05/30/getting-started-with-heron-on-apache-mesos-and-apache-kafka/) (All Things Hadoop, May, 2016)
+* [Twitter open-sources Heron, its real-time stream-processing engine](http://venturebeat.com/2016/05/25/twitter-open-sources-heron-its-real-time-stream-processing-engine/) (VentureBeat, May, 2016)
+* [Twitter's Heron Will Start a New Chapter in Real-Time Streaming](http://www.forbes.com/sites/janakirammsv/2015/06/08/twitters-heron-will-start-a-new-chapter-in-real-time-streaming/#62c8645b2306) (Forbes, Jun, 2015)
+* [Twitter Has Replaced Storm with Heron](https://www.infoq.com/news/2015/06/twitter-storm-heron) (InfoQ, Jun, 2015)
\ No newline at end of file
diff --git a/website2/website/versioned_sidebars/version-0.20.4-incubating-sidebars.json b/website2/website/versioned_sidebars/version-0.20.4-incubating-sidebars.json
new file mode 100644
index 0000000..c4c48c0
--- /dev/null
+++ b/website2/website/versioned_sidebars/version-0.20.4-incubating-sidebars.json
@@ -0,0 +1,100 @@
+{
+  "version-0.20.4-incubating-docs": {
+    "Getting Started": [
+      "version-0.20.4-incubating-getting-started-local-single-node",
+      "version-0.20.4-incubating-getting-started-migrate-storm-topologies",
+      "version-0.20.4-incubating-getting-started-docker",
+      "version-0.20.4-incubating-getting-started-troubleshooting-guide"
+    ],
+    "Deployment": [
+      "version-0.20.4-incubating-deployment-overview",
+      "version-0.20.4-incubating-deployment-configuration",
+      "version-0.20.4-incubating-deployment-api-server"
+    ],
+    "Topology Development APIs": [
+      "version-0.20.4-incubating-topology-development-streamlet-api",
+      "version-0.20.4-incubating-topology-development-eco-api",
+      "version-0.20.4-incubating-topology-development-topology-api-java",
+      "version-0.20.4-incubating-topology-development-topology-api-python",
+      "version-0.20.4-incubating-topology-development-streamlet-scala"
+    ],
+    "Client API Docs": [
+      "version-0.20.4-incubating-client-api-docs-overview"
+    ],
+    "Guides": [
+      "version-0.20.4-incubating-guides-effectively-once-java-topologies",
+      "version-0.20.4-incubating-guides-data-model",
+      "version-0.20.4-incubating-guides-tuple-serialization",
+      "version-0.20.4-incubating-guides-ui-guide",
+      "version-0.20.4-incubating-guides-topology-tuning",
+      "version-0.20.4-incubating-guides-packing-algorithms",
+      "version-0.20.4-incubating-guides-simulator-mode",
+      "version-0.20.4-incubating-guides-troubeshooting-guide"
+    ],
+    "Heron Concepts": [
+      "version-0.20.4-incubating-heron-design-goals",
+      "version-0.20.4-incubating-heron-topology-concepts",
+      "version-0.20.4-incubating-heron-streamlet-concepts",
+      "version-0.20.4-incubating-heron-architecture",
+      "version-0.20.4-incubating-heron-delivery-semantics"
+    ],
+    "State Managers": [
+      "version-0.20.4-incubating-state-managers-zookeeper",
+      "version-0.20.4-incubating-state-managers-local-fs"
+    ],
+    "Uploaders": [
+      "version-0.20.4-incubating-uploaders-local-fs",
+      "version-0.20.4-incubating-uploaders-hdfs",
+      "version-0.20.4-incubating-uploaders-http",
+      "version-0.20.4-incubating-uploaders-amazon-s3",
+      "version-0.20.4-incubating-uploaders-scp"
+    ],
+    "Schedulers": [
+      "version-0.20.4-incubating-schedulers-k8s-by-hand",
+      "version-0.20.4-incubating-schedulers-k8s-with-helm",
+      "version-0.20.4-incubating-schedulers-aurora-cluster",
+      "version-0.20.4-incubating-schedulers-aurora-local",
+      "version-0.20.4-incubating-schedulers-local",
+      "version-0.20.4-incubating-schedulers-nomad",
+      "version-0.20.4-incubating-schedulers-mesos-local-mac",
+      "version-0.20.4-incubating-schedulers-slurm",
+      "version-0.20.4-incubating-schedulers-yarn"
+    ],
+    "Cluster Configuration": [
+      "version-0.20.4-incubating-cluster-config-overview",
+      "version-0.20.4-incubating-cluster-config-system-level",
+      "version-0.20.4-incubating-cluster-config-instance",
+      "version-0.20.4-incubating-cluster-config-metrics",
+      "version-0.20.4-incubating-cluster-config-stream",
+      "version-0.20.4-incubating-cluster-config-tmanager"
+    ],
+    "Observability": [
+      "version-0.20.4-incubating-observability-prometheus",
+      "version-0.20.4-incubating-observability-graphite",
+      "version-0.20.4-incubating-observability-scribe"
+    ],
+    "User Manuals": [
+      "version-0.20.4-incubating-user-manuals-heron-cli",
+      "version-0.20.4-incubating-user-manuals-heron-explorer",
+      "version-0.20.4-incubating-user-manuals-tracker-rest",
+      "version-0.20.4-incubating-user-manuals-heron-tracker-runbook",
+      "version-0.20.4-incubating-user-manuals-heron-ui-runbook",
+      "version-0.20.4-incubating-user-manuals-heron-shell"
+    ],
+    "Compiling": [
+      "version-0.20.4-incubating-compiling-overview",
+      "version-0.20.4-incubating-compiling-linux",
+      "version-0.20.4-incubating-compiling-osx",
+      "version-0.20.4-incubating-compiling-docker",
+      "version-0.20.4-incubating-compiling-running-tests",
+      "version-0.20.4-incubating-compiling-code-organization"
+    ],
+    "Extending Heron": [
+      "version-0.20.4-incubating-extending-heron-scheduler",
+      "version-0.20.4-incubating-extending-heron-metric-sink"
+    ],
+    "Heron Resources": [
+      "version-0.20.4-incubating-heron-resources-resources"
+    ]
+  }
+}
diff --git a/website2/website/versions.json b/website2/website/versions.json
index 707894d..99b1145 100644
--- a/website2/website/versions.json
+++ b/website2/website/versions.json
@@ -1,4 +1,5 @@
 [
+  "0.20.4-incubating",
   "0.20.3-incubating",
   "0.20.2-incubating",
   "0.20.1-incubating",

[incubator-heron] 02/03: initial changes

Posted by jo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

joshfischer pushed a commit to branch joshfischer/0.20.4-incubating-site
in repository https://gitbox.apache.org/repos/asf/incubator-heron.git

commit b2776918bbf171922f762c49506db6c4a11cf2eb
Author: Josh Fischer <jo...@joshfischer.io>
AuthorDate: Wed May 26 18:16:34 2021 -0500

    initial changes
---
 website2/docs/getting-started-docker.md            |  28 +++++
 website2/docs/getting-started-local-single-node.md |  50 ++++----
 website2/website/heron-release.json                |   4 +-
 website2/website/pages/en/download.js              | 138 +++++++++++++++++----
 website2/website/releases.json                     |   4 -
 website2/website/sidebars.json                     |   1 +
 website2/website/siteConfig.js                     |   1 +
 7 files changed, 171 insertions(+), 55 deletions(-)

diff --git a/website2/docs/getting-started-docker.md b/website2/docs/getting-started-docker.md
new file mode 100644
index 0000000..fc9ec79
--- /dev/null
+++ b/website2/docs/getting-started-docker.md
@@ -0,0 +1,28 @@
+---
+id: getting-started-docker
+title: The official Apache Heron Docker Image(s)
+sidebar_label: Heron & Docker
+---
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+> The current version of Heron is {{heron:version}}
+
+The official Apache Heron Docker image is located at the link below
+
+<a target="_blank" href="https://hub.docker.com/repository/docker/apache/heron">https://hub.docker.com/repository/docker/apache/heron</a>
+
diff --git a/website2/docs/getting-started-local-single-node.md b/website2/docs/getting-started-local-single-node.md
index 984b090..0408a86 100644
--- a/website2/docs/getting-started-local-single-node.md
+++ b/website2/docs/getting-started-local-single-node.md
@@ -21,37 +21,41 @@ sidebar_label: Local (Single Node)
 -->
 
 > The current version of Heron is {{heron:version}}
+For other platforms, you need to build from source. Please refer to the [guide to compiling Heron](compiling-overview).
 
-The current way to get started learning Heron is to build from source. 
-Please refer to the [guide to compiling Heron](compiling-overview). The Heron community is working to add release scripts and Heron
-binaries available from Apache mirrors soon.
+## Step 1 --- Download the Heron tools
 
-* [MacOS](#macos-homebrew)
-* [Ubuntu 18.04](#using-installation-scripts)
-* [CentOS](#using-installation-scripts)
+Heron tools can be installed using [installation scripts](#using-installation-scripts).
 
-## Building installation scripts
+> Note: As of version  0.20.4-incubating, there is a python compatibility on OSX.
+> The supported platforms are CentOS7, Debian10, and Ubuntu18.04.
 
-The only way to obtain the installation scripts at this time are to compile from source.  We are working to add release scripts and Heron
-binaries available from Apache mirrors soon.
+## Using installation scripts
 
-See how to get setup building Heron see the notes [here](compiling-overview.md)
+To install Heron binaries directly, using installation scripts, go to Heron's [releases page](https://github.com/apache/incubator-heron/releases) on GitHub
+and see a full listing of Heron releases for each available platform. The installation script for macOS (`darwin`), for example, is named
+`heron-install-{{% heronVersion %}}-darwin.sh`.
 
-If you already have Bazel and the other required tools installed for your platform you can execute the following:
+```bash
+$ wget https://github.com/apache/incubator-heron/releases/download/{{% heronVersion %}}/heron-install-{{% heronVersion %}}-darwin.sh
+
+
+```
+
+Download the for your platform either from the releases page or using [`wget`](https://www.gnu.org/software/wget/). Here's a `wget` example for Ubuntu:
 
 ```bash
-$ bazel build --config=[platform] scripts/packages:binpkgs
+$ wget https://github.com/apache/incubator-heron/releases/download/{{% heronVersion %}}/heron-install-{{% heronVersion %}}-ubuntu18.04.sh
 ```
-Options for the config flag are:
-* `debian` (Debian10)
-* `ubuntu` (Ubuntu)
-* `darwin` (OSX)
-
-This command will take approximately 45 minutes to compile based on your machine settings. 
- It will output a script called `heron-install.sh`  You will be able to find it relative to the Heron root folder:
- 
- ```bash
-$ ./bazel-bin/scripts/packages/heron-install.sh 
+Debian10
+```bash
+$ wget https://github.com/apache/incubator-heron/releases/download/{{% heronVersion %}}/heron-install-{{% heronVersion %}}-debian.sh
+```
+
+Once you've downloaded the script, make it executable using [chmod](https://en.wikipedia.org/wiki/Chmod):
+
+```bash
+$ chmod +x heron-*.sh
 ```
 
 Now run the [Heron client](user-manuals-heron-cli) installation script with the `--user` flag set. Here's an example:
@@ -59,7 +63,7 @@ Now run the [Heron client](user-manuals-heron-cli) installation script with the
 > The script will install executables in the `~/bin` folder. You should add that folder to your `PATH` using `export PATH=~/bin:$PATH`.
 
 ```bash
-$ ./heron-install.sh --user
+$ ./heron-install-{{% heronVersion %}}-ubuntu.sh --user
 Heron installer
 ---------------
 
diff --git a/website2/website/heron-release.json b/website2/website/heron-release.json
index 666bcb3..f5fd3d0 100644
--- a/website2/website/heron-release.json
+++ b/website2/website/heron-release.json
@@ -1,3 +1,5 @@
 [
-  "0.20.3-incubating"
+  "0.20.4-incubating",
+  "0.20.3-incubating",
+  "0.20.0-incubating"
 ]
\ No newline at end of file
diff --git a/website2/website/pages/en/download.js b/website2/website/pages/en/download.js
index df631b5..d3fe12b 100644
--- a/website2/website/pages/en/download.js
+++ b/website2/website/pages/en/download.js
@@ -8,37 +8,69 @@ const GridBlock = CompLibrary.GridBlock;
 const CWD = process.cwd();
 
 const siteConfig = require(`${CWD}/siteConfig.js`);
-const releases = require(`${CWD}/releases.json`);
 const heronReleases = require(`${CWD}/heron-release.json`)
 
 function getLatestArchiveMirrorUrl(version, type) {
-    return `https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=incubator/heron/heron-${version}/heron-${version}-${type}.tar.gz`
+    return `http://www.apache.org/dyn/closer.cgi/incubator/heron/heron-${version}/heron-${version}-${type}.tar.gz?action=download`
+}
+
+function getTarUrl(version, type) {
+   return `https://downloads.apache.org/incubator/heron/heron-${version}/heron-${version}-${type}.tar.gz`
+}
+
+function getInstallScriptCryptoUrl(version, osType) {
+   return `https://downloads.apache.org/incubator/heron/heron-${version}/heron-install-${version}-${osType}.sh`
 }
 
 function distUrl(version, type) {
-    return `https://www.apache.org/dist/incubator/heron/heron-${version}/heron-${version}-${type}.tar.gz`
+    return `http://www.apache.org/dyn/closer.cgi/incubator/heron/heron-${version}/heron-${version}-${type}.tar.gz?action=download`
+}
+
+function getInstallScriptMirrorUrl(version, type) {
+    return `http://www.apache.org/dyn/closer.cgi/incubator/heron/heron-${version}/heron-install-${version}-${type}.sh`
 }
 
 function archiveUrl(version, type) {
     if (version.includes('incubating')) {
-        return `https://archive.apache.org/dist/incubator/heron/heron-${version}/apache-heron-v-${version}-${type}.tar.gz`
+
+        return `https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=/incubator/heron/heron-${version}/` + getProperEndpoint(version, type)
     } else {
-        return `https://archive.apache.org/dist/heron/heron-${version}/apache-heron-v-${version}-${type}.tar.gz`
+        return `https://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=heron/heron-${version}/` + getProperEndpoint(version, type)
     }
 }
 
+function getProperEndpoint(version, type) {
+
+  if (version == "0.20.0-incubating") {
+   return `apache-heron-v-${version}-${type}.tar.gz`
+  }
+  if (type == "source") {
+    type = "src";
+  }
+  return `heron-${version}-${type}.tar.gz`
+}
+
 
 
 class Download extends React.Component {
   render() {
-    const latestVersion = releases[0];
     const latestHeronVersion = heronReleases[0];
-    const latestArchiveMirrorUrl = getLatestArchiveMirrorUrl(latestVersion, 'bin');
-    const latestSrcArchiveMirrorUrl = getLatestArchiveMirrorUrl(latestVersion, 'src');
-    const latestArchiveUrl = distUrl(latestVersion, 'bin');
-    const latestSrcArchiveUrl = distUrl(latestVersion, 'src')
-
-    const releaseInfo = releases.map(version => {
+    const latestArchiveMirrorUrl = getLatestArchiveMirrorUrl(latestHeronVersion, 'bin');
+    const latestSrcArchiveMirrorUrl = getLatestArchiveMirrorUrl(latestHeronVersion, 'src');
+    const latestSrcUrl = getTarUrl(latestHeronVersion, "src");
+    const latestDebian10TarUrl =  getTarUrl(latestHeronVersion, "debian10");
+    const latestArchiveUrl = distUrl(latestHeronVersion, 'bin');
+    const latestSrcArchiveUrl = distUrl(latestHeronVersion, 'src')
+    const centos7InstallUrl = getInstallScriptMirrorUrl(latestHeronVersion, "centos7")
+    const centos7InstallCryptoUrl = getInstallScriptCryptoUrl(latestHeronVersion, "centos7")
+    const debian10InstallUrl = getInstallScriptMirrorUrl(latestHeronVersion, "debian10")
+    const debian10InstallCryptoUrl = getInstallScriptCryptoUrl(latestHeronVersion, "debian10")
+    const ubuntu1804InstallUrl = getInstallScriptMirrorUrl(latestHeronVersion, "ubuntu18.04")
+    const ubuntu1804InstallCryptoUrl = getInstallScriptCryptoUrl(latestHeronVersion, "ubuntu18.04")
+
+
+
+    const releaseInfo = heronReleases.map(version => {
       return {
         version: version,
         binArchiveUrl: archiveUrl(version, 'bin'),
@@ -56,19 +88,12 @@ class Download extends React.Component {
               <hr />
             </header>
 
-            <h2>Release notes</h2>
-            <div>
-              <p>
-                <a href={`${siteConfig.baseUrl}${this.props.language}/release-notes`}>Release notes</a> for all Heron's versions
-              </p>
-            </div>
-
             <h2 id="latest">Current version (Stable) {latestHeronVersion}</h2>
             <table className="versions" style={{width:'100%'}}>
               <thead>
                 <tr>
                   <th>Release</th>
-                  <th>Link</th>
+                  <th>Direct Download Link</th>
                   <th>Crypto files</th>
                 </tr>
               </thead>
@@ -78,16 +103,77 @@ class Download extends React.Component {
                 <tr key={'source'}>
                   <th>Source</th>
                   <td>
-                    <a href={latestSrcArchiveMirrorUrl}>apache-heron-{latestVersion}-src.tar.gz</a>
+                    <a href={latestSrcArchiveMirrorUrl}>heron-{latestHeronVersion}-src.tar.gz</a>
                   </td>
                   <td>
-                    <a href={`${latestSrcArchiveUrl}.asc`}>asc</a>,&nbsp;
-                    <a href={`${latestSrcArchiveUrl}.sha512`}>sha512</a>
+                    <a href={`${latestSrcUrl}.asc`}>asc</a>,&nbsp;
+                    <a href={`${latestSrcUrl}.sha512`}>sha512</a>
+                  </td>
+                </tr>
+                <tr key={'binary'}>
+                  <th>Debian10 Binary</th>
+                  <td>
+                    <a href={latestSrcArchiveMirrorUrl}>heron-{latestHeronVersion}-debian10.tar.gz</a>
+                  </td>
+                  <td>
+                    <a href={`${latestDebian10TarUrl}.asc`}>asc</a>,&nbsp;
+                    <a href={`${latestDebian10TarUrl}.sha512`}>sha512</a>
                   </td>
                 </tr>
                 </tbody>
               </table>
 
+              <h2 id="latest">Heron Install Scripts</h2>
+              <h3 style={{color:"red"}}> READ BEFORE DOWNLOADING </h3>
+              <p>
+                To download the Heron self-extracting install scripts: click a link below for the Operating System of your choice that will show the closest mirror for you to download from.
+                 Once you are on the page with the closest mirror right click on the link and select “save as” to download the install script.
+                  If you do not right click the link will only bring you to view the script in the browser and will not start a download.
+              </p>
+              <table className="versions" style={{width:'100%'}}>
+                <thead>
+                  <tr>
+                    <th>Release</th>
+                    <th>Link to find the closest mirror</th>
+                    <th>Crypto files</th>
+                  </tr>
+                </thead>
+                <tbody>
+
+
+                  <tr key={'centos-install'}>
+                    <th>CentOS7</th>
+                    <td>
+                      <a href={`${centos7InstallUrl}`}> heron-install-0.20.4-incubating-centos7.sh</a>
+                    </td>
+                    <td>
+                      <a href={`${centos7InstallCryptoUrl}.asc`}>asc</a>,&nbsp;
+                      <a href={`${centos7InstallCryptoUrl}.sha512`}>sha512</a>
+                    </td>
+                  </tr>
+                  <tr key={'debian10-install'}>
+                    <th>Debian10</th>
+                    <td>
+                      <a href={`${debian10InstallUrl}`}> heron-install-0.20.4-incubating-debian10.sh</a>
+                    </td>
+                    <td>
+                      <a href={`${debian10InstallCryptoUrl}.asc`}>asc</a>,&nbsp;
+                      <a href={`${debian10InstallCryptoUrl}.sha512`}>sha512</a>
+                    </td>
+                  </tr>
+                   <tr key={'ubuntu18.04-install'}>
+                    <th>Ubuntu18.04</th>
+                    <td>
+                     <a href={`${ubuntu1804InstallUrl}`}> heron-install-0.20.4-incubating-ubuntu18.04.sh</a>
+                    </td>
+                    <td>
+                      <a href={`${ubuntu1804InstallCryptoUrl}.asc`}>asc</a>,&nbsp;
+                      <a href={`${ubuntu1804InstallCryptoUrl}.sha512`}>sha512</a>
+                    </td>
+                  </tr>
+                  </tbody>
+                </table>
+
 
             <h2>Release Integrity</h2>
             <MarkdownBlock>
@@ -125,10 +211,8 @@ class Download extends React.Component {
                 {releaseInfo.map(
                   info => {
                         var sha = "sha512"
-                        if (info.version.includes('1.19.0-incubating') || info.version.includes('1.20.0-incubating')) {
-                            sha = "sha"
-                        }
-                        return info.version !== latestVersion && (
+
+                        return info.version !== latestHeronVersion && (
                             <tr key={info.version}>
                         <th>{info.version}</th>
 
diff --git a/website2/website/releases.json b/website2/website/releases.json
deleted file mode 100644
index 99dd7df..0000000
--- a/website2/website/releases.json
+++ /dev/null
@@ -1,4 +0,0 @@
-[
-    "0.20.3-incubating",
-    "0.20.0-incubating"
-]
\ No newline at end of file
diff --git a/website2/website/sidebars.json b/website2/website/sidebars.json
index a0324c5..05de426 100755
--- a/website2/website/sidebars.json
+++ b/website2/website/sidebars.json
@@ -4,6 +4,7 @@
     "Getting Started": [
       "getting-started-local-single-node",
       "getting-started-migrate-storm-topologies",
+      "getting-started-docker",
       "getting-started-troubleshooting-guide"
     ],
     "Deployment": [
diff --git a/website2/website/siteConfig.js b/website2/website/siteConfig.js
index 78624bc..07ac976 100644
--- a/website2/website/siteConfig.js
+++ b/website2/website/siteConfig.js
@@ -65,6 +65,7 @@ const siteConfig = {
   // For github.io type URLs, you would set the url and baseUrl like:
   url: url,
   baseUrl: baseUrl, // Base URL for your project */
+  gaTrackingId: "G-TY5B0S76DP",
 
   // Used for publishing and more
   projectName: 'incubator-heron',