Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - New Druid landing page #360

Closed
wants to merge 38 commits into from
Closed

Conversation

fhennig
Copy link
Contributor

@fhennig fhennig commented Dec 14, 2022

Description

I've made a diagram and added it to the overview page, this is just a draft, I made it in the break week.

It roughly belongs to this ticket: stackabletech/documentation#282

Netlify Preview 💻

Review Checklist

  • Code contains useful comments
  • CRD change approved (or not applicable)
  • (Integration-)Test cases added (or not applicable)
  • Documentation added (or not applicable)
  • Changelog updated (or not applicable)
  • Cargo.toml only contains references to git tags (not specific commits or branches)
  • Helm chart can be installed and deployed operator works (or not applicable)

Once the review is done, comment bors r+ (or bors merge) to merge. Further information

@stackfab
Copy link

Title: Stackable Operator for Apache Druid: A Kubernetes Operator for Managing Druid Clusters

Meta Description: The Stackable Operator for Apache Druid is a Kubernetes operator that can manage Apache Druid clusters. Learn about its features, resources, dependencies, and demos, and see the list of supported Druid versions.

Keywords: Stackable Operator, Apache Druid, Kubernetes, operator, DevOps, engineer, CRD, StatefulSet, ConfigMap, Service, ZooKeeper, HDFS, S3, Kafka, Trino, OPA, demo, version.

Introduction: Stackable Operator for Apache Druid

The Stackable Operator for Apache Druid is a Kubernetes operator that can manage Apache Druid clusters. With this operator, DevOps engineers can easily deploy and manage Druid clusters on Kubernetes. This operator provides several resources and features to manage Druid clusters efficiently.

Getting Started with the Operator

To get started with the Stackable Operator for Apache Druid, follow the Getting Started guide. The Operator is installed along with the DruidCluster CustomResourceDefinition, which supports five roles: Router, Coordinator, Broker, MiddleManager, and Historical. These roles correspond to Druid processes.

Kubernetes Resources Created by the Operator

The Stackable Operator for Apache Druid watches DruidCluster objects and creates multiple Kubernetes resources for each DruidCluster based on its configuration. The operator creates a StatefulSet for every RoleGroup, where each StatefulSet can contain multiple replicas (Pods). In each Pod, there are two containers: the main Druid container and a preparation container (TODO what for exactly?).

The operator also creates a ConfigMap for each RoleGroup containing three files: a generated jvm.config and runtime.properties file based on (TODO), and a log4j2.properties file used for log aggregation. The operator creates a Service for every Role and RoleGroup. Finally, the operator creates a discovery ConfigMap for the whole DruidCluster that contains information on how to connect to the Druid cluster.

Dependencies

The Stackable Operator for Apache Druid has the following dependencies:

  • The Stackable Commons Operator: provides common CRDs such as S3 resources CRDs.
  • The Stackable Secret Operator: required for things like S3 access credentials or LDAP integration.
  • Apache ZooKeeper via the Stackable Operator for Apache ZooKeeper: used by Druid for internal communication between processes.
  • Storage backend: The operator requires a storage backend such as HDFS with the Stackable Operator for Apache HDFS or S3. (TODO: link to S3 deep storage config usage).
  • SQL database: The operator requires an SQL database to store metadata.

Other Operators to connect to

This Operator can natively connect to these other Stackable Operators:

  • Stackable Operator for Apache Kafka: This is used for ingesting data from Kafka.
  • Stackable Operator for Trino: Trino can read from Druid with this operator.
  • Stackable Operator for OPA (OpenPolicyAgent) for Authorization: This operator is used for authorization.

Demos for Stackable Operator for Apache Druid

stackablectl provides an easy way to install demos that showcase multiple components of the Stackable platform working together. Two demos that include Druid as part of the data pipeline are:

Waterlevel Demo: The nifi-kafka-druid-water-level-data demo uses data from PEGELONLINE to visualize water levels in rivers and coastal regions of Germany from historic and real-time data.

Earthquake Demo: The nifi-kafka-druid-earthquake-data demo ...

Supported versions

The Stackable Operator for Apache Druid currently supports the following versions of Druid:

0.23.0
24.0.0

@fhennig fhennig changed the title Idea: Add the diagram to the overview New Druid landing page Mar 23, 2023
@fhennig fhennig marked this pull request as ready for review March 23, 2023 14:01
@fhennig fhennig self-assigned this Mar 23, 2023
@adwk67 adwk67 self-requested a review March 24, 2023 08:42
docs/modules/druid/pages/getting_started/first_steps.adoc Outdated Show resolved Hide resolved
docs/modules/druid/pages/index.adoc Outdated Show resolved Hide resolved
docs/modules/druid/pages/index.adoc Show resolved Hide resolved
docs/modules/druid/pages/index.adoc Outdated Show resolved Hide resolved
docs/modules/druid/pages/index.adoc Outdated Show resolved Hide resolved
docs/modules/druid/pages/usage-guide/security.adoc Outdated Show resolved Hide resolved
docs/modules/druid/pages/usage-guide/security.adoc Outdated Show resolved Hide resolved
docs/modules/druid/pages/usage-guide/security.adoc Outdated Show resolved Hide resolved
docs/modules/druid/pages/usage-guide/security.adoc Outdated Show resolved Hide resolved
fhennig and others added 8 commits March 27, 2023 09:13
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
fhennig and others added 15 commits March 27, 2023 09:34
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
…ment-overrides.adoc

Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
…ment-overrides.adoc

Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Co-authored-by: Andrew Kenworthy <andrew.kenworthy@stackable.de>
Copy link
Member

@adwk67 adwk67 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice job! LGTM

@fhennig
Copy link
Contributor Author

fhennig commented Mar 27, 2023

bors merge

bors bot pushed a commit that referenced this pull request Mar 27, 2023
# Description

I've made a diagram and added it to the overview page, this is just a draft, I made it in the break week.

It roughly belongs to this ticket: stackabletech/documentation#282

[Netlify Preview 💻 ](https://deploy-preview-371--stackable-docs.netlify.app/home/nightly/druid/index.html)



Co-authored-by: Felix Hennig <felix.hennig@stackable.tech>
@bors
Copy link
Contributor

bors bot commented Mar 27, 2023

Pull request successfully merged into main.

Build succeeded:

@bors bors bot changed the title New Druid landing page [Merged by Bors] - New Druid landing page Mar 27, 2023
@bors bors bot closed this Mar 27, 2023
@bors bors bot deleted the idea/overview-diagram branch March 27, 2023 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants