You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Konstantin Knauf (JIRA)" <ji...@apache.org> on 2019/07/10 15:10:00 UTC
[jira] [Commented] (FLINK-12749) Getting Started - Docker
Playgrounds - Flink Cluster Playground
[ https://issues.apache.org/jira/browse/FLINK-12749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16882170#comment-16882170 ]
Konstantin Knauf commented on FLINK-12749:
------------------------------------------
In order to spin up the playground the users need a few files on their machine, namely the following:
{noformat}
playground/
├── docker-compose.yaml
└── conf
└── flink-conf.yaml
└── log4j-cli.properties
└── log4j-console.properties
{noformat}
The conf directory will eventually not be necessary anymore, while the docker-compose configuration is of course a prerequisite. I see two options to publish these configurations files:
*Option 1: Embedded in the Documentation*
The necessary files can be part of the documentation (expandable) and new users create the directory structure by copying the content from there.
Pro:
* Correct Flink Version is automatically populated.
* Playground is only maintained at one place, not additional dependencies (besides `library/flink` image and `StateMachineExample`)
Contra:
* cumbersome and error-prone for the user
*Option 2: Dedicated Repository for Playground Setup*
We create a new Apache Flink repository `apache/flink-playgrounds` with the following directory structure:
{noformat}
flink-playground
└──flink-cluster-playground/
├── docker-compose.yaml
└── conf
└── flink-conf.yaml
└── log4j-cli.properties
└── log4j-console.properties
└──interactive-sql-playground/
{noformat}
The `interactive-sql-playground` will contain whatever is neccessry for FLINK-12750.
We could have tags for each Flink version, so that we can automatically link to the correct tag in the `flink-playgrounds` repository from the respective documentation version.
Pro:
* user only needs to checkout this small repository and is ready to go.
* we can make sure the playground setup always works, because we explicitly bump the Flink version once the new images are ready and we have tested the playground
Contra:
* additional repository to maintain next to the documentation
Any opinions? [~fhueske] [~rmetzger] [~sjwiesman]
> Getting Started - Docker Playgrounds - Flink Cluster Playground
> ---------------------------------------------------------------
>
> Key: FLINK-12749
> URL: https://issues.apache.org/jira/browse/FLINK-12749
> Project: Flink
> Issue Type: Sub-task
> Components: Documentation
> Reporter: Konstantin Knauf
> Assignee: Konstantin Knauf
> Priority: Major
>
> The planned structure for the new Getting Started Guide is
> * Flink Overview (~ two pages)
> * Project Setup
> ** Java
> ** Scala
> ** Python
> * Quickstarts
> ** Example Walkthrough - Table API / SQL
> ** Example Walkthrough - DataStream API
> * Docker Playgrounds
> ** Flink Cluster Playground
> ** Flink Interactive SQL Playground
> In this ticket we add the Flink Cluster Playground, a docker-compose based setup consisting of Apache Kafka and Apache Flink (Flink Session Cluster), including a step-by-step guide for some common commands (job submission, savepoints, etc).
> *Some Open Questions:*
> * Which Flink images to use? `library/flink` with dynamic properties would be the most maintainable, I think. It would be preferable, if we don't need to host any custom images for this, but can rely on the existing plain Flink images.
> * Which Flink jobs to use? An updated version {{org.apache.flink.streaming.examples.statemachine.StateMachineExample}} might be a good option as it can with or without Kafka and contains a data generator writing to Kafka already (see next questions).
> * How to get data into Kafka? Maybe just provide a small bash script/one-liner to produce into Kafka topic or see question above.
> * Which Kafka Images to use? https://hub.docker.com/r/wurstmeister/kafka/ seems to be well-maintained and is openly available.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)