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

Bootstrap an Apache Druid operator #5

Closed
2 of 7 tasks
lfrancke opened this issue Jun 30, 2021 · 10 comments
Closed
2 of 7 tasks

Bootstrap an Apache Druid operator #5

lfrancke opened this issue Jun 30, 2021 · 10 comments
Assignees

Comments

@lfrancke
Copy link
Member

lfrancke commented Jun 30, 2021

Implement initial Druid Operator for all Server-/Process Types (https://druid.apache.org/docs/latest/design/processes.html) (ACs: )

Acceptance Criteria

  • Operator can start/stop/restart a Druid Cluster

  • Druid configs can be applied and updated

  • Monitoring is integrated

  • all Process types are supported (Coordinator, Overlord, Broker, Historical, MiddleManager and Peons, Indexer (Optional), Router (Optional)

  • all Server types are supported (Master, Query, Data)

  • support Maturity Level 1 (Is there more todo than in AC 1?)

tbd

@stefanigel stefanigel transferred this issue from stackabletech/issues Oct 11, 2021
@stefanigel stefanigel added this to the Release #3 milestone Oct 12, 2021
@stefanigel
Copy link
Member

stefanigel commented Oct 20, 2021

Jim tries to figure out if JDBC driver is needed - most probably not needed!

@fhennig fhennig self-assigned this Oct 20, 2021
@Jimvin
Copy link
Member

Jimvin commented Oct 20, 2021

There's no suggestion of needing a JDBC driver for S3 support from what I can see in the documentation link.

@fhennig
Copy link
Contributor

fhennig commented Oct 21, 2021

@fhennig
Copy link
Contributor

fhennig commented Oct 22, 2021

Each process (Coordinator, Overlord, Broker, Historical, MiddleManager and Peons, Indexer (Optional), Router (Optional)) will be scheduled as a separate pod. "Server grouping" (Master, Query, Data) can be achieved by pod affinity so the coordinator and overlord get scheduled together on the same node.

@fhennig
Copy link
Contributor

fhennig commented Oct 27, 2021

Things that are missing:

  • [ ] indexer
  • peons (althrough it looks like that looks like it is internal only)
  • [ ] standalone overlord (See Standalone overlord #12)
  • SQL config
  • zookeeper discovery (zookeeper config properties, more info)
  • [ ] pod affinity to model the master/query/data setup
  • druid.host needs to be set dynamically. This is required so the services can find each other

What works so far:
The "micro quickstart" setup can be deployed with a coordinator/overlord, a broker, middlemanager, historical and router.

@fhennig
Copy link
Contributor

fhennig commented Oct 28, 2021

jvm config:
Most options are common to all processes, but the memory allocation differs and should be configurable. There are two settings, the heap size and the direct memory size. heap size is relevant to all processes, and direct memory only to the Broker, Historical and Router.

@fhennig
Copy link
Contributor

fhennig commented Oct 28, 2021

A lot of runtime properties are buffer sizes, thread counts, memory allocation etc. As a user, I wouldn't really care about all that, it should just be matching to my hardware.

Druid supplies sample configs that are called 'micro, small, medium, large, xlarge' etc, with different sizes.

The numbers also need to be balanced. This is quite a complex thing to configure without prior knowledge and it would be nice to be able to pre-populate these settings. Also, if they are all mapped out into the CRD, it's a lot of settings. Not quite sure what to do yet.

@fhennig
Copy link
Contributor

fhennig commented Nov 1, 2021

The indexer was spun out into a seperate issue #8

@fhennig
Copy link
Contributor

fhennig commented Nov 3, 2021

I've put the pod affinity in a seperate issue as well #9 , I believe the pod affinity is not critical to a minimal working version

@fhennig
Copy link
Contributor

fhennig commented Nov 3, 2021

Druid configs can be applied and updated

a cluster config can be changed and with a restart the configs will be applied too

@lfrancke lfrancke removed this from the Release #3 milestone Nov 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants