Skip to content

Instantly share code, notes, and snippets.

@rockybean
Created July 25, 2021 02:16
Show Gist options
  • Select an option

  • Save rockybean/1ad6d9fda87209ada35cce82734026e5 to your computer and use it in GitHub Desktop.

Select an option

Save rockybean/1ad6d9fda87209ada35cce82734026e5 to your computer and use it in GitHub Desktop.
Pulsar Docker Compose File
version: '3.4'
networks:
pulsar:
driver: bridge
services:
zk1:
container_name: zk1
hostname: zk1
image: apachepulsar/pulsar:latest
command: >
bash -c "bin/apply-config-from-env.py conf/zookeeper.conf && \
bin/apply-config-from-env.py conf/pulsar_env.sh && \
bin/generate-zookeeper-config.sh conf/zookeeper.conf && \
bin/pulsar zookeeper"
environment:
ZOOKEEPER_SERVERS: zk1,zk2,zk3
networks:
pulsar:
zk2:
container_name: zk2
hostname: zk2
image: apachepulsar/pulsar:latest
command: >
bash -c "bin/apply-config-from-env.py conf/zookeeper.conf && \
bin/apply-config-from-env.py conf/pulsar_env.sh && \
bin/generate-zookeeper-config.sh conf/zookeeper.conf && \
bin/pulsar zookeeper"
environment:
ZOOKEEPER_SERVERS: zk1,zk2,zk3
networks:
pulsar:
zk3:
container_name: zk3
hostname: zk3
image: apachepulsar/pulsar:latest
command: >
bash -c "bin/apply-config-from-env.py conf/zookeeper.conf && \
bin/apply-config-from-env.py conf/pulsar_env.sh && \
bin/generate-zookeeper-config.sh conf/zookeeper.conf && \
bin/pulsar zookeeper"
environment:
ZOOKEEPER_SERVERS: zk1,zk2,zk3
networks:
pulsar:
pulsar-init:
container_name: pulsar-init
hostname: pulsar-init
image: apachepulsar/pulsar:latest
command: sh bin/init-cluster.sh
environment:
clusterName: test
zkServers: zk1:2181
configurationStore: zk1:2181
pulsarNode: proxy1
volumes:
- ./init-cluster.sh:/pulsar/bin/init-cluster.sh
depends_on:
- zk1
- zk2
- zk3
networks:
pulsar:
bk1:
hostname: bk1
container_name: bk1
image: apachepulsar/pulsar:latest
command: >
bash -c "export dbStorage_writeCacheMaxSizeMb="$${dbStorage_writeCacheMaxSizeMb:-16}" && \
export dbStorage_readAheadCacheMaxSizeMb="$${dbStorage_readAheadCacheMaxSizeMb:-16}" && \
bin/apply-config-from-env.py conf/bookkeeper.conf && \
bin/apply-config-from-env.py conf/pulsar_env.sh && \
bin/watch-znode.py -z $$zkServers -p /initialized-$$clusterName -w && \
bin/pulsar bookie"
environment:
clusterName: test
zkServers: zk1:2181,zk2:2181,zk3:2181
numAddWorkerThreads: 8
useHostNameAsBookieID: "true"
depends_on:
- zk1
- zk2
- zk3
- pulsar-init
networks:
pulsar:
bk2:
hostname: bk2
container_name: bk2
image: apachepulsar/pulsar:latest
command: >
bash -c "export dbStorage_writeCacheMaxSizeMb="${dbStorage_writeCacheMaxSizeMb:-16}" && \
export dbStorage_readAheadCacheMaxSizeMb="${dbStorage_readAheadCacheMaxSizeMb:-16}" && \
bin/apply-config-from-env.py conf/bookkeeper.conf && \
bin/apply-config-from-env.py conf/pulsar_env.sh && \
bin/watch-znode.py -z $$zkServers -p /initialized-$$clusterName -w && \
bin/pulsar bookie"
environment:
clusterName: test
zkServers: zk1:2181,zk2:2181,zk3:2181
numAddWorkerThreads: 8
useHostNameAsBookieID: "true"
depends_on:
- zk1
- zk2
- zk3
- pulsar-init
- bk1
networks:
pulsar:
bk3:
hostname: bk3
container_name: bk3
image: apachepulsar/pulsar:latest
command: >
bash -c "export dbStorage_writeCacheMaxSizeMb="${dbStorage_writeCacheMaxSizeMb:-16}" && \
export dbStorage_readAheadCacheMaxSizeMb="${dbStorage_readAheadCacheMaxSizeMb:-16}" && \
bin/apply-config-from-env.py conf/bookkeeper.conf && \
bin/apply-config-from-env.py conf/pulsar_env.sh && \
bin/watch-znode.py -z $$zkServers -p /initialized-$$clusterName -w && \
bin/pulsar bookie"
environment:
clusterName: test
zkServers: zk1:2181,zk2:2181,zk3:2181
numAddWorkerThreads: 8
useHostNameAsBookieID: "true"
depends_on:
- zk1
- zk2
- zk3
- pulsar-init
- bk1
- bk2
networks:
pulsar:
broker1:
hostname: broker1
container_name: broker1
image: apachepulsar/pulsar:latest
restart: on-failure
command: >
bash -c "bin/apply-config-from-env.py conf/broker.conf && \
bin/apply-config-from-env.py conf/pulsar_env.sh && \
bin/watch-znode.py -z $$zookeeperServers -p /initialized-$$clusterName -w && \
bin/pulsar broker"
environment:
clusterName: test
zookeeperServers: zk1:2181,zk2:2181,zk3:2181
configurationStore: zk1:2181,zk2:2181,zk3:2181
webSocketServiceEnabled: "false"
functionsWorkerEnabled: "false"
depends_on:
- zk1
- zk2
- zk3
- pulsar-init
- bk1
- bk2
- bk3
networks:
pulsar:
broker2:
hostname: broker2
container_name: broker2
image: apachepulsar/pulsar:latest
restart: on-failure
command: >
bash -c "bin/apply-config-from-env.py conf/broker.conf && \
bin/apply-config-from-env.py conf/pulsar_env.sh && \
bin/watch-znode.py -z $$zookeeperServers -p /initialized-$$clusterName -w && \
bin/pulsar broker"
environment:
clusterName: test
zookeeperServers: zk1:2181,zk2:2181,zk3:2181
configurationStore: zk1:2181,zk2:2181,zk3:2181
webSocketServiceEnabled: "false"
functionsWorkerEnabled: "false"
depends_on:
- zk1
- zk2
- zk3
- pulsar-init
- bk1
- bk2
- bk3
- broker1
networks:
pulsar:
broker3:
hostname: broker3
container_name: broker3
image: apachepulsar/pulsar:latest
restart: on-failure
command: >
bash -c "bin/apply-config-from-env.py conf/broker.conf && \
bin/apply-config-from-env.py conf/pulsar_env.sh && \
bin/watch-znode.py -z $$zookeeperServers -p /initialized-$$clusterName -w && \
bin/pulsar broker"
environment:
clusterName: test
zookeeperServers: zk1:2181,zk2:2181,zk3:2181
configurationStore: zk1:2181,zk2:2181,zk3:2181
webSocketServiceEnabled: "false"
functionsWorkerEnabled: "false"
depends_on:
- zk1
- zk2
- zk3
- pulsar-init
- bk1
- bk2
- bk3
- broker1
- broker2
networks:
pulsar:
proxy1:
hostname: proxy1
container_name: proxy1
restart: on-failure
image: apachepulsar/pulsar:latest
command: >
bash -c "bin/apply-config-from-env.py conf/proxy.conf && \
bin/apply-config-from-env.py conf/pulsar_env.sh && \
bin/watch-znode.py -z $$zookeeperServers -p /initialized-$$clusterName -w && \
bin/pulsar proxy"
environment:
clusterName: test
zookeeperServers: zk1:2181,zk2:2181,zk3:2181
configurationStoreServers: zk1:2181,zk2:2181,zk3:2181
webSocketServiceEnabled: "true"
functionWorkerWebServiceURL: http://fnc1:6750
ports:
- "6650:6650"
- "8080:8080"
depends_on:
- zk1
- zk2
- zk3
- pulsar-init
- bk1
- bk2
- bk3
- broker1
networks:
pulsar:
manager:
hostname: manager
container_name: manager
image: apachepulsar/pulsar-manager:v0.2.0
ports:
- "9527:9527"
- "7750:7750"
depends_on:
- broker1
environment:
SPRING_CONFIGURATION_FILE: "/pulsar-manager/pulsar-manager/application.properties"
networks:
pulsar:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment