Git Product home page Git Product logo

community-stack's Introduction

Wizzie Community Stack

wizzie-io Platforms GitHub release License

Wizzie Community Stack (WCS) is a lightweight version of Wizzie Data Platform (WDP).

Wizzie Data Platform, or WDP, is a blazingly fast, highly scalable, end-to-end solution for real-time processing, storage and visualization of any data type and format.

Components and architecture

WCS is composed by:

  • Core : Composed by Kafka, a distributed streaming platform, and Zookeeper, a highly reliable distributed coordinator.

  • Data normalization tool : Composed by Normalizer, a stream processing engine based on Kafka Streams.

  • Data enrichment tool : Composed by Enricher, a stream enriching engine based on Kafka Streams

  • Correlation engine : Composed by ZZ-Cep, a complex event processing engine based on Siddhi and Kafka.

  • Analytic data store : Composed by Druid, a high performance analytics data store for event-driven data.

  • Data visualization : Composed by Wizz-Vis, an analytics platform for time series metrics using Druid.

Next you can see the WCS architecture:

You can use our Prozzie like data source. You can find more information about Prozzie in its documentation.

Requirements

We recommend a machine with at least:

  • 4 CPU
  • 16 GB RAM
  • 30 GB disk

Installation

In order to install WCS you only need download the latest release or clone the repo and run setups/linux_setup.sh script that will guide you through the entire installation.You can also use the next command if you don't want to waste your time messing with git you can run next command as root user or sudo command:

sudo bash -c "$(curl -L --header 'Accept: application/vnd.github.v3.raw' 'https://api.github.com/repos/wizzie-io/community-stack/contents/setups/linux_setup.sh?ref=1.1.0')"

The setup script will install Docker and Docker Compose and some necessary tools like curl and net-tools.

Up and running WCS

Next you can find information about WCS's configuration, execution and kafka operations.

Configuration

When you install WCS, the installer will create a .env file located in $PREFIX/etc/wcs directory. In the .env file you will find three sections with some vars in it. These sections are:

  • MANDATORY: You need to configure this vars before run the application.
  • OPTIONAL: You can configure this vars, if you want to change some configurations or enable some features.
  • STATIC: Change this variables is dangerous, you could break some components of WCS! Change it at your own risk

Note: On some linux distribution you need to open the iptables on the machine, to send data from outside to Kafka broker (port: 9092).

Execution

You can use a small tool named wcs. It's simply a lightweight CLI to do WCS and Kafka operations.

Now, you only need to run wcs up -d to start all components of WCS.

If you can check components, using wcs compose ps

root@kubeubuntu:~/community-stack# wcs compose ps
                   Name                                 Command               State               Ports
-------------------------------------------------------------------------------------------------------------------
wizziecommunitystack_druid-broker_1          /bin/sh -c druid-start.sh        Up       0.0.0.0:8080->8080/tcp
wizziecommunitystack_druid-coordinator_1     /bin/sh -c druid-start.sh        Up
wizziecommunitystack_druid-historical_1      /bin/sh -c druid-start.sh        Up
wizziecommunitystack_druid-init_1            /bin/bash -c /bin/bash -c  ...   Exit 0
wizziecommunitystack_druid-middlemanager_1   /bin/sh -c druid-start.sh        Up
wizziecommunitystack_druid-overlord_1        /bin/sh -c druid-start.sh        Up       0.0.0.0:8084->8084/tcp
wizziecommunitystack_enricher_1              /bin/sh -c exec /bin/enric ...   Up
wizziecommunitystack_kafka_1                 start-kafka.sh                   Up       0.0.0.0:9092->9092/tcp
wizziecommunitystack_normalizer_1            /bin/sh -c exec /bin/norma ...   Up
wizziecommunitystack_postgres_1              docker-entrypoint.sh postgres    Up       5432/tcp
wizziecommunitystack_redis_1                 docker-entrypoint.sh redis ...   Up       6379/tcp
wizziecommunitystack_sidekiq_1               scripts/docker-entrypoint- ...   Up
wizziecommunitystack_wizz-vis_1              scripts/docker-entrypoint- ...   Up       0.0.0.0:3000->3000/tcp
wizziecommunitystack_zookeeper_1             /docker-entrypoint.sh zkSe ...   Up       2181/tcp, 2888/tcp, 3888/tcp
wizziecommunitystack_zz-cep_1                /bin/sh -c exec /bin/cep-s ...   Up

If you need stop and, later start, WCS you can use wcs stop and wcs start.

You can use wcs down to destroy completly WCS. This operation is dangerous, you will delete database and kafka topics.

Kafka operations

The wcs CLI, provides kafka commands in order to produce, consume and check topics. For example:

You can check all available topics running next command:

$ wcs kafka topics --list

You can consume messages from any kafka's topic using next command:

$ wcs kafka consume <topic>

You can produce messages to any kafka's topic using next commmand:

$ wcs kafka produce <topic>

Uninstall

WCS doesn't provide any mechanism to uninstall wcs. If you want to uninstall wcs you must do manually.

When you install WCS first time you must specify a prefix, by default It's /usr/local. In this prefix, WCS creates following directories:

  • ${PREFIX}/etc/wcs : Contains configuration files.
  • ${PREFIX}/share/wcs : Contains files about WCS cli and docker compose files.
  • ${PREFIX}/bin : Contains the symbolic link to wcs command.

To uninstall WCS you must follow next steps:

  1. Do wcs down to stop WCS and delete all databases and kafka topics.
  2. Remove ${PREFIX}/share/wcs and ${PREFIX}/etc/wcs folders.
  3. Remove symbolic link named wcs in ${PREFIX}/bin directory. If bin folder It isn't necessary, then you can delete it.

Ports Binding

You can find ports binding information in next table:

Service Port Usage
Kafka 9092 Send data to wizzie stack
WizzVis 3000 Access to visualization interface
Druid Broker 8080 Query data using druid API
Druid Overlord 8084 Manage indexing tasks

Extra documentation

Check next links to know about awesome Wizzie components and check documentation.

community-stack's People

Contributors

andresgomezfrr avatar arodriguezdlc avatar chorro avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.