This is an automated email from the ASF dual-hosted git repository.

victoria pushed a commit to branch 27.0.0
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/27.0.0 by this push:
     new 0b1540405b [Backport 27.0.0] Update Jupyter notebook tutorial 
instructions for ARM devices (#14676)
0b1540405b is described below

commit 0b1540405b74c8f200a77f238feb2964065e5755
Author: Nhi Pham <[email protected]>
AuthorDate: Fri Jul 28 14:16:43 2023 -0700

    [Backport 27.0.0] Update Jupyter notebook tutorial instructions for ARM 
devices (#14676)
    
    Co-authored-by: Charles Smith <[email protected]>
---
 docs/tutorials/tutorial-jupyter-docker.md          | 55 ++++++++++++++++++++--
 .../docker-jupyter/docker-compose-local.yaml       |  6 ++-
 .../docker-jupyter/docker-compose.yaml             |  6 ++-
 3 files changed, 60 insertions(+), 7 deletions(-)

diff --git a/docs/tutorials/tutorial-jupyter-docker.md 
b/docs/tutorials/tutorial-jupyter-docker.md
index 6886e3d6e7..0cb055d2fe 100644
--- a/docs/tutorials/tutorial-jupyter-docker.md
+++ b/docs/tutorials/tutorial-jupyter-docker.md
@@ -33,12 +33,15 @@ You can run the following combination of applications:
 * [Jupyter only](#start-only-the-jupyter-container)
 * [Jupyter and Druid](#start-jupyter-and-druid)
 * [Jupyter, Druid, and Kafka](#start-jupyter-druid-and-kafka)
+* [Kafka and Jupyter](#start-kafka-and-jupyter)
 
 ## Prerequisites
 
 Jupyter in Docker requires that you have **Docker** and **Docker Compose**.
 We recommend installing these through [Docker 
Desktop](https://docs.docker.com/desktop/).
 
+For ARM-based devices, see [Tutorial setup for ARM-based 
devices](#tutorial-setup-for-arm-based-devices).
+
 ## Launch the Docker containers
 
 You run Docker Compose to launch Jupyter and optionally Druid or Kafka.
@@ -53,7 +56,7 @@ access the files in 
`druid/examples/quickstart/jupyter-notebooks/docker-jupyter`
 
 ### Start only the Jupyter container
 
-If you already have Druid running locally, you can run only the Jupyter 
container to complete the tutorials.
+If you already have Druid running locally or on another machine, you can run 
the Docker containers for Jupyter only.
 In the same directory as `docker-compose.yaml`, start the application:
 
 ```bash
@@ -63,6 +66,11 @@ docker compose --profile jupyter up -d
 The Docker Compose file assigns `8889` for the Jupyter port.
 You can override the port number by setting the `JUPYTER_PORT` environment 
variable before starting the Docker application.
 
+If Druid is running local to the same machine as Jupyter, open the tutorial 
and set the `host` variable to `host.docker.internal` before starting. For 
example:
+```python
+host = "host.docker.internal"
+```
+
 ### Start Jupyter and Druid
 
 Running Druid in Docker requires the `environment` file as well as an 
environment variable named `DRUID_VERSION`,
@@ -85,6 +93,26 @@ In the same directory as `docker-compose.yaml` and 
`environment`, start the appl
 DRUID_VERSION={{DRUIDVERSION}} docker compose --profile all-services up -d
 ```
 
+### Start Kafka and Jupyter
+
+If you already have Druid running externally, such as an existing cluster or a 
dedicated infrastructure for Druid, you can run the Docker containers for Kafka 
and Jupyter only.
+
+In the same directory as `docker-compose.yaml` and `environment`, start the 
application:
+
+```bash
+DRUID_VERSION={{DRUIDVERSION}} docker compose --profile kafka-jupyter up -d
+```
+
+If you have an external Druid instance running on a different machine than the 
one hosting the Docker Compose environment, change the `host` variable in the 
notebook tutorial to the hostname or address of the machine where Druid is 
running.
+
+If Druid is running local to the same machine as Jupyter, open the tutorial 
and set the `host` variable to `host.docker.internal` before starting. For 
example:
+
+```python
+host = "host.docker.internal"
+```
+
+To enable Druid to ingest data from Kafka within the Docker Compose 
environment, update the `bootstrap.servers` property in the Kafka ingestion 
spec to `localhost:9094` before ingesting. For reference, see [more on consumer 
properties](../development/extensions-core/kafka-supervisor-reference.md#more-on-consumerproperties).
+
 ### Update image from Docker Hub
 
 If you already have a local cache of the Jupyter image, you can update the 
image before running the application using the following command:
@@ -193,9 +221,30 @@ as well as the [Python client for 
Druid](tutorial-jupyter-index.md#python-api-fo
 
 You should now be able to access and complete the tutorials.
 
+## Tutorial setup for ARM-based devices
+
+For ARM-based devices, follow this setup to start Druid externally, while 
keeping Kafka and Jupyter within the Docker Compose environment:
+
+1. Start Druid using the `start-druid` script. You can follow [Quickstart 
(local)](./index.md) instructions. The tutorials
+   assume that you are using the quickstart, so no authentication or 
authorization is expected unless explicitly mentioned.
+2. Start either Jupyter only or Jupyter and Kafka using the following commands 
in the same directory as `docker-compose.yaml` and `environment`:
+   
+   ```bash
+   # Start only Jupyter
+   docker compose --profile jupyter up -d
+   
+   # Start Kafka and Jupyter
+   DRUID_VERSION={{DRUIDVERSION}} docker compose --profile kafka-jupyter up -d
+   ```
+
+3. If Druid is running local to the same machine as Jupyter, open the tutorial 
and set the `host` variable to `host.docker.internal` before starting. For 
example:
+   ```python
+   host = "host.docker.internal"
+   ```
+4. If using Kafka to handle the data stream that will be ingested into Druid 
and Druid is running local to the same machine, update the consumer property 
`bootstrap.servers` to `localhost:9094`.
+
 ## Learn more
 
 See the following topics for more information:
 * [Jupyter Notebook tutorials](tutorial-jupyter-index.md) for the available 
Jupyter Notebook-based tutorials for Druid
-* [Tutorial: Run with Docker](docker.md) for running Druid from a Docker 
container
-
+* [Tutorial: Run with Docker](docker.md) for running Druid from a Docker 
container
\ No newline at end of file
diff --git 
a/examples/quickstart/jupyter-notebooks/docker-jupyter/docker-compose-local.yaml
 
b/examples/quickstart/jupyter-notebooks/docker-jupyter/docker-compose-local.yaml
index 3d7baef905..197b8b3722 100644
--- 
a/examples/quickstart/jupyter-notebooks/docker-jupyter/docker-compose-local.yaml
+++ 
b/examples/quickstart/jupyter-notebooks/docker-jupyter/docker-compose-local.yaml
@@ -58,12 +58,14 @@ services:
     # To learn about configuring Kafka for access across networks see
     # 
https://www.confluent.io/blog/kafka-client-cannot-connect-to-broker-on-aws-on-docker-etc/
       - "9092:9092"
+      - '9094:9094'
     depends_on:
       - zookeeper
     environment:
       - KAFKA_BROKER_ID=1
-      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
-      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092
+      - 
KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093,EXTERNAL://:9094
+      - 
KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,EXTERNAL://localhost:9094
+      - 
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT
       - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
       - ALLOW_PLAINTEXT_LISTENER=yes
       - KAFKA_ENABLE_KRAFT=false
diff --git 
a/examples/quickstart/jupyter-notebooks/docker-jupyter/docker-compose.yaml 
b/examples/quickstart/jupyter-notebooks/docker-jupyter/docker-compose.yaml
index e6f2cd95ae..932df6a22b 100644
--- a/examples/quickstart/jupyter-notebooks/docker-jupyter/docker-compose.yaml
+++ b/examples/quickstart/jupyter-notebooks/docker-jupyter/docker-compose.yaml
@@ -58,12 +58,14 @@ services:
     # To learn about configuring Kafka for access across networks see
     # 
https://www.confluent.io/blog/kafka-client-cannot-connect-to-broker-on-aws-on-docker-etc/
       - "9092:9092"
+      - '9094:9094'
     depends_on:
       - zookeeper
     environment:
       - KAFKA_BROKER_ID=1
-      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
-      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092
+      - 
KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093,EXTERNAL://:9094
+      - 
KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,EXTERNAL://localhost:9094
+      - 
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT
       - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
       - ALLOW_PLAINTEXT_LISTENER=yes
       - KAFKA_ENABLE_KRAFT=false


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to