Skip to content

[ZEPPELIN-6032] Provide docker-compose-zeppelin-only.yml file for quick start #4776

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
merged 11 commits into from
Aug 26, 2024

Conversation

ParkGyeongTae
Copy link
Contributor

@ParkGyeongTae ParkGyeongTae commented Jul 23, 2024

What is this PR for?

I hope the Apache Zeppelin project provides a YAML file that can be run with the docker compose command. If this file is provided, I expect that more users will be able to run it easily.

What type of PR is it?

Improvement

Todos

  • - Create scripts/docker/zeppelin-quick-start/README.md
  • - Create scripts/docker/zeppelin-quick-start/docker-compose-zeppelin-only.yml

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-6032

How should this be tested?

  1. Install Docker
  2. cd scripts/docker/zeppelin-quick-start
  3. docker compose -f docker-compose-zeppelin-only.yml up

Screenshots (if appropriate)

Questions:

  • Does the license files need to update? No.
  • Is there breaking changes for older versions? No.
  • Does this needs documentation? No.

@JooHyukKim
Copy link
Contributor

it helps users easily run Zeppelin.

If and only if you are talking about running Zeppelin on users' local machine, can we consider making the filename more specific or writing additional instructions?

Current filename docker-compose.yml is too generic for users to know what it's for.

@@ -0,0 +1,2 @@
ZEPPELIN_IMAGE=apache/zeppelin
ZEPPELIN_IMAGE_TAG=0.11.2
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
ZEPPELIN_IMAGE_TAG=0.11.2
ZEPPELIN_IMAGE_TAG=0.11.2-SNAPSHOT

@ParkGyeongTae
Copy link
Contributor Author

ParkGyeongTae commented Jul 23, 2024

it helps users easily run Zeppelin.

If and only if you are talking about running Zeppelin on users' local machine, can we consider making the filename more specific or writing additional instructions?

Current filename docker-compose.yml is too generic for users to know what it's for.

@JooHyukKim
That's a great suggestion. Considering the addition of files containing Spark Cluster or Flink Cluster in the future, it will be necessary to revise to more explicit filenames.
Therefore, I will change it to docker-compose-zeppelin-only.yml and add documentation.

@pan3793
Copy link
Member

pan3793 commented Jul 24, 2024

there are a few set of docker files under scripts/docker, what the difference between those files and the proposed one?

@ParkGyeongTae
Copy link
Contributor Author

there are a few set of docker files under scripts/docker, what the difference between those files and the proposed one?

@pan3793
If the Zeppelin repository provides a docker-compose file, it is expected that more users will be able to use it easily. Furthermore, it is anticipated that users will configure it on their local computers with various open-source projects.
If you have any good suggestions, please let me know.

@jongyoul
Copy link
Member

jongyoul commented Aug 4, 2024

I understand @pan3793's worries. I will also keep track of the files and we can discuss the future roadmap. @ParkGyeongTae As the next step, could you please add some descriptions for your docker-compose file on README.md? It would be better to have more details.

jongyoul
jongyoul previously approved these changes Aug 4, 2024
Copy link
Member

@jongyoul jongyoul left a comment

Choose a reason for hiding this comment

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

LGTM

@ParkGyeongTae
Copy link
Contributor Author

@jongyoul
I will create an issue to add detailed descriptions for the docker-compose file as the next step and proceed with it.

@pan3793
Copy link
Member

pan3793 commented Aug 15, 2024

it helps users easily run Zeppelin.

I have similar questions about it. it's unclear to me what the use case is:

is it for users to quickly explore Zeppelin with one command? if so, the ZEPPELIN_IMAGE_TAG should use the latest released one instead of the developing SNAPSHOT version, and since you are using docker compose, we just need a preset .env instead of .env.template, this also saves a copy-paste command to allow users to quickly launch the playground.

is it for developers to quickly test their changes? if so, you should leave docs to instruct developers how to apply their changes to the environment, and how to attach the process to debug.

given there was a set of scripts under scripts/vagrant/zeppelin-dev, I would suggest putting those docker files under scripts/docker/zeppelin-<purpose> instead of docker

@ParkGyeongTae
Copy link
Contributor Author

@pan3793
As with other projects, I hope the Zeppelin repository will also provide a docker-compose.yml file. This is to help developers easily run Zeppelin by copying or using this file. I will proceed with the necessary tasks according to your advice.

@ParkGyeongTae
Copy link
Contributor Author

@pan3793 I have modified the path of the docker-compose file and removed the .env file for a quicker start. Please review.

### Zeppelin Only
#### Run docker-compose
```bash
docker-compose -f docker-compose-zeppelin-only.yml up
Copy link
Member

Choose a reason for hiding this comment

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

docker-compose was deprecated for a long time and removed in the recent Docker Desktop versions, use v2 docker compose instead.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@pan3793 I have made the changes.

@jongyoul
Copy link
Member

@pan3793 Could you please help to review it?

# See the License for the specific language governing permissions and
# limitations under the License.
#
version: "3.8"
Copy link
Member

Choose a reason for hiding this comment

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

I tested this patch locally and found

WARN[0000] /Users/chengpan/Projects/apache-zeppelin/scripts/docker/zeppelin-quick-start/docker-compose-zeppelin-only.yml: version is obsolete

according to https://forums.docker.com/t/docker-compose-yml-version-is-obsolete/141313 let's delete this line.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@pan3793 I have completed this task.

zeppelin-server:
hostname: zeppelin
container_name: zeppelin
image: apache/zeppelin:0.11.2
Copy link
Member

Choose a reason for hiding this comment

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

! zeppelin-server The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

I tested it in an Apple Silicon machine, seems we don't provide arm64 image, this is a thing we can improve later

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 will complete this task later.

Copy link
Member

Choose a reason for hiding this comment

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

this is another story, and should be done in another PR.

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 plan to create a new issue for this task and proceed with it.

pan3793
pan3793 previously approved these changes Aug 26, 2024
Copy link
Member

@pan3793 pan3793 left a comment

Choose a reason for hiding this comment

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

@ParkGyeongTae the change lgtm except to one nit, please update the PR title and description to match your change.

@ParkGyeongTae ParkGyeongTae changed the title [ZEPPELIN-6032] Add files: docker-compose.yml, .env.template [ZEPPELIN-6032] Provide docker-compose-zeppelin-only.yml file for quick start Aug 26, 2024
@pan3793 pan3793 merged commit 9078044 into apache:master Aug 26, 2024
28 checks passed
@pan3793
Copy link
Member

pan3793 commented Aug 26, 2024

Thanks, merged to master

@ParkGyeongTae
Copy link
Contributor Author

@pan3793 Thank you for your review. :)

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

Successfully merging this pull request may close these issues.

4 participants