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

Add single-machine deployment example cfgs and scripts #7590

Merged
merged 4 commits into from
May 7, 2019

Conversation

jon-wei
Copy link
Contributor

@jon-wei jon-wei commented May 3, 2019

This PR adds a new set of reference configurations and launch scripts for single-machine deployments:

  • micro-quickstart
  • small
  • medium
  • large
  • xlarge

The micro-quickstart is sized for small machines like laptops and is intended for quick evaluation use-cases.

The other configurations are intended for general use single-machine deployments. They are sized for hardware roughly based on Amazon's i3 series of EC2 instances.

The old tutorial cluster configuration has been replaced with micro-quickstart, with the tutorials also pointing users to the other single-server examples if they wish to use a bigger machine.

This PR also adds example configurations for a clustered deployment based on the master/data/query organization, along with associated launch scripts.


You will need:
* Java 8
Copy link
Contributor

Choose a reason for hiding this comment

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

can you also add (8u92+)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added

@fjy fjy added this to the 0.15.0 milestone May 3, 2019
# under the License.
#

druid.service=druid/overlord
Copy link
Contributor

Choose a reason for hiding this comment

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

Out of curiosity, why not run Coordinator asOverlord and move towards the world where the coordinator and overlord are one

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I initially felt like the simplicity benefit wasn't that high in this case (since premade configs and startup scripts are being provided), and felt that it would be closer to a full clustered deployment for eventual migration with them separate.

I updated the PR to use that setting, since it would be fine to set that in a larger cluster as well.

@fjy
Copy link
Contributor

fjy commented May 4, 2019

I think there are still a small set of things missing:

  1. Some transition docs describing how Druid should be evaluated (when to use single server, when to use clustered mode)
  2. In clustered docs, master/query/data servers should be started via scripts instead of two separate command lines

@jon-wei
Copy link
Contributor Author

jon-wei commented May 6, 2019

Some transition docs describing how Druid should be evaluated (when to use single server, when to use clustered mode)

In clustered docs, master/query/data servers should be started via scripts instead of two separate command lines

I'm working on another doc-only update PR that will provide guidance on important performance tuning properties, which will also adjust the current cluster.md docs and address these points.

@fjy
Copy link
Contributor

fjy commented May 6, 2019

Some transition docs describing how Druid should be evaluated (when to use single server, when to use clustered mode)

In clustered docs, master/query/data servers should be started via scripts instead of two separate command lines

I'm working on another doc-only update PR that will provide guidance on important performance tuning properties, which will also adjust the current cluster.md docs and address these points.

Cool. Maybe the ToC should reflect the path to production. Laptop --> Single Server --> Clustering (non-HA) --> Clustering (HA)

@jon-wei
Copy link
Contributor Author

jon-wei commented May 6, 2019

Cool. Maybe the ToC should reflect the path to production. Laptop --> Single Server --> Clustering (non-HA) --> Clustering (HA)

Sounds good, I'll add that structure in the follow-on PR

@gianm
Copy link
Contributor

gianm commented May 7, 2019

Cool. Maybe the ToC should reflect the path to production. Laptop --> Single Server --> Clustering (non-HA) --> Clustering (HA)

By the way, I don't think there's a need to separate 'laptop' and 'single server' (people can treat their laptop as a single server if they want to - there is really no meaningful difference). I also don't think there's a need to separate 'Clustering (non HA)' from 'Clustering (HA)' (HA should just be a section at the end of the clustering docs).

Copy link
Contributor

@gianm gianm left a comment

Choose a reason for hiding this comment

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

👍


### Hardware

Druid includes several example [single-server configurations](../operations/single-server.html), along with scripts to start the Druid processes using these configurations.
Copy link
Contributor

Choose a reason for hiding this comment

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

Please add this somewhere more prominent in a follow-up (ToC, perhaps).

@gianm gianm merged commit 7c2ca47 into apache:master May 7, 2019
khwj pushed a commit to khwj/druid that referenced this pull request Jun 29, 2019
- update Docker entrypoint script in respond to the new directory structure apache#7590
- update Dockerfile to allow dependency caching in multi-stage build

Signed-off-by: Khwunchai Jaengsawang <khwunchai.j@ku.th>
@khwj khwj mentioned this pull request Jun 29, 2019
1 task
This was referenced Aug 4, 2019
@@ -34,7 +34,7 @@ else
CONFDIR="$2"
fi

CONFDIR="$(cd "$CONFDIR" && pwd)/druid"
CONFDIR="$(cd "$CONFDIR" && pwd)"
Copy link
Contributor

Choose a reason for hiding this comment

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

Why was the /druid removed? It's a breaking change for older version users. It doesn't seem like an absolutely necessary change. This file is one of the bin scripts in the apache-druid.tar.gz distribution although the directory name is "examples". Please avoid similar changes in the future release. Thanks.

Copy link
Contributor

Choose a reason for hiding this comment

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

Hi @knoguchi,

It was changed to comport with the new directory structure in this patch, where we ship with multiple potential configurations for various sizes of servers. (It no longer makes sense to add /druid to the conf dir, since we provide the full path to a Druid-specific conf dir in the supervise configs.)

I think we should have noted this in the release notes, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants