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 <[email protected]> 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: + + +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: + + +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",
