Created
March 3, 2023 08:11
-
-
Save langerma/f51abcb60dc344df8378aa8c45899b43 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
job "druid" { | |
datacenters = ["hetzner"] | |
constraint { | |
attribute = "${attr.kernel.name}" | |
value = "linux" | |
} | |
update { | |
stagger = "10s" | |
max_parallel = 1 | |
} | |
group "coordinator" { | |
network { | |
port "coordinator" { | |
} | |
mode = "host" | |
} | |
restart { | |
attempts = 2 | |
interval = "1m" | |
delay = "10s" | |
mode = "fail" | |
} | |
task "coordinator" { | |
driver = "docker" | |
config { | |
hostname = "coordinator" | |
image = "apache/druid:0.22.0" | |
ports = ["coordinator"] | |
network_mode = "host" | |
args = [ | |
"coordinator", | |
] | |
} | |
template { | |
data = <<EOT | |
DRUID_XMX="128m" | |
DRUID_XMS="128m" | |
DRUID_MAXNEWSIZE="120m" | |
DRUID_NEWSIZE="120m" | |
DRUID_MAXDIRECTMEMORYSIZE="6172m" | |
#druid_emitter_logging_logLevel="debug" | |
druid_extensions_loadList='["druid-histogram","druid-datasketches","druid-lookups-cached-global","postgresql-metadata-storage","druid-kafka-indexing-service","druid-s3-extensions"]' | |
druid_zk_service_host={{ range $index, $element := service "zookeeper|any" }}{{ printf "%s:%d," .Address 2181 }}{{ end }} | |
#druid_metadata_storage_host="database-postgres.service.consul" | |
druid_metadata_storage_type="postgresql" | |
druid_metadata_storage_connector_connectURI="jdbc:postgresql://database-postgres.service.consul:5432/druid" | |
druid_metadata_storage_connector_user="druid" | |
druid_metadata_storage_connector_password="druidpassword" | |
druid_coordinator_balancer_strategy="cachingCost" | |
druid_indexer_runner_javaOptsArray='["-server", "-Xmx256m", "-Xms256m", "-XX:MaxDirectMemorySize=200m", "-Duser.timezone=UTC", "-Dfile.encoding=UTF-8", "-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager"]' | |
druid_indexer_fork_property_druid_processing_buffer_sizeBytes="256MiB" | |
#druid_storage_type="local" | |
#druid_storage_storageDirectory="/opt/shared/segments" | |
druid_indexer_logs_type="file" | |
#druid_indexer_logs_directory="/opt/shared/indexing-logs" | |
druid_processing_numThreads="2" | |
druid_processing_numMergeBuffers="2" | |
#DRUID_LOG4J="<?xml version="1.0" encoding="UTF-8" ?><Configuration status="WARN"><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{ISO8601} %p [%t] %c - %m%n"/></Console></Appenders><Loggers><Root level="info"><AppenderRef ref="Console"/></Root><Logger name="org.apache.druid.jetty.RequestLog" additivity="false" level="DEBUG"><AppenderRef ref="Console"/></Logger></Loggers></Configuration>" | |
druid_storage_bucket="druid" | |
druid_storage_baseKey="druid" | |
druid_storage_type="s3" | |
druid_s3_accessKey="key" | |
druid_s3_secretKey="secret" | |
druid_s3_protocol="http" | |
druid_s3_endpoint_url="http://minio.service.consul:9000" | |
druid_s3_enablePathStyleAccess="true" | |
EOT | |
destination = "secrets/file.env" | |
env = true | |
change_mode = "restart" | |
} | |
env { | |
druid_plaintextPort = "${NOMAD_PORT_coordinator}" | |
druid_host = "${NOMAD_IP_coordinator}" | |
} | |
service { | |
name = "druid-coordinator" | |
tags = [ | |
"global", | |
"druid", | |
"log" | |
] | |
port = "coordinator" | |
check { | |
name = "alive" | |
type = "tcp" | |
interval = "10s" | |
timeout = "2s" | |
} | |
} | |
resources { | |
memory = 1024 | |
} | |
} | |
} | |
group "broker" { | |
network { | |
port "broker" { | |
#to = 8082 | |
} | |
mode = "host" | |
} | |
restart { | |
attempts = 2 | |
interval = "1m" | |
delay = "10s" | |
mode = "fail" | |
} | |
task "broker" { | |
driver = "docker" | |
config { | |
hostname = "broker" | |
image = "apache/druid:0.22.0" | |
ports = ["broker"] | |
network_mode = "host" | |
args = [ | |
"broker", | |
] | |
} | |
template { | |
data = <<EOT | |
DRUID_XMX="128m" | |
DRUID_XMS="128m" | |
DRUID_MAXNEWSIZE="120m" | |
DRUID_NEWSIZE="120m" | |
DRUID_MAXDIRECTMEMORYSIZE="6172m" | |
#druid_emitter_logging_logLevel="debug" | |
druid_extensions_loadList='["druid-histogram","druid-datasketches","druid-lookups-cached-global","postgresql-metadata-storage","druid-kafka-indexing-service","druid-s3-extensions"]' | |
druid_zk_service_host={{ range $index, $element := service "zookeeper|any" }}{{ printf "%s:%d," .Address 2181 }}{{ end }} | |
#druid_metadata_storage_host="database-postgres.service.consul" | |
druid_metadata_storage_type="postgresql" | |
druid_metadata_storage_connector_connectURI="jdbc:postgresql://database-postgres.service.consul:5432/druid" | |
druid_metadata_storage_connector_user="druid" | |
druid_metadata_storage_connector_password="druidpassword" | |
druid_coordinator_balancer_strategy="cachingCost" | |
druid_indexer_runner_javaOptsArray='["-server", "-Xmx128m", "-Xms128m", "-XX:MaxDirectMemorySize=100m", "-Duser.timezone=UTC", "-Dfile.encoding=UTF-8", "-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager"]' | |
druid_indexer_fork_property_druid_processing_buffer_sizeBytes="256MiB" | |
#druid_storage_type="local" | |
#druid_storage_storageDirectory="/opt/shared/segments" | |
druid_indexer_logs_type="file" | |
#druid_indexer_logs_directory="/opt/shared/indexing-logs" | |
druid_processing_numThreads="2" | |
druid_processing_numMergeBuffers="2" | |
#DRUID_LOG4J="<?xml version="1.0" encoding="UTF-8" ?><Configuration status="WARN"><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{ISO8601} %p [%t] %c - %m%n"/></Console></Appenders><Loggers><Root level="info"><AppenderRef ref="Console"/></Root><Logger name="org.apache.druid.jetty.RequestLog" additivity="false" level="DEBUG"><AppenderRef ref="Console"/></Logger></Loggers></Configuration>" | |
druid_storage_bucket="druid" | |
druid_storage_baseKey="druid" | |
druid_storage_type="s3" | |
druid_s3_accessKey="key" | |
druid_s3_secretKey="secret" | |
druid_s3_protocol="http" | |
druid_s3_endpoint_url="http://minio.service.consul:9000" | |
druid_s3_enablePathStyleAccess="true" | |
EOT | |
destination = "secrets/file.env" | |
env = true | |
change_mode = "restart" | |
} | |
env { | |
druid_plaintextPort = "${NOMAD_PORT_broker}" | |
druid_host = "${NOMAD_IP_broker}" | |
} | |
service { | |
name = "druid-broker" | |
tags = [ | |
"global", | |
"druid", | |
"log" | |
] | |
port = "broker" | |
check { | |
name = "alive" | |
type = "tcp" | |
interval = "10s" | |
timeout = "2s" | |
} | |
} | |
resources { | |
memory = 2500 | |
} | |
} | |
} | |
group "historical" { | |
network { | |
port "historical" { | |
} | |
mode = "host" | |
} | |
restart { | |
attempts = 2 | |
interval = "1m" | |
delay = "10s" | |
mode = "fail" | |
} | |
task "historical" { | |
driver = "docker" | |
config { | |
hostname = "historical" | |
image = "apache/druid:0.22.0" | |
ports = ["historical"] | |
network_mode = "host" | |
args = [ | |
"historical", | |
] | |
} | |
template { | |
data = <<EOT | |
DRUID_XMX="128m" | |
DRUID_XMS="128m" | |
DRUID_MAXNEWSIZE="120m" | |
DRUID_NEWSIZE="120m" | |
DRUID_MAXDIRECTMEMORYSIZE="6172m" | |
#druid_emitter_logging_logLevel="debug" | |
druid_extensions_loadList='["druid-histogram","druid-datasketches","druid-lookups-cached-global","postgresql-metadata-storage","druid-kafka-indexing-service","druid-s3-extensions"]' | |
druid_zk_service_host={{ range $index, $element := service "zookeeper|any" }}{{ printf "%s:%d," .Address 2181 }}{{ end }} | |
#druid_metadata_storage_host="database-postgres.service.consul" | |
druid_metadata_storage_type="postgresql" | |
druid_metadata_storage_connector_connectURI="jdbc:postgresql://database-postgres.service.consul:5432/druid" | |
druid_metadata_storage_connector_user="druid" | |
druid_metadata_storage_connector_password="druidpassword" | |
druid_coordinator_balancer_strategy="cachingCost" | |
druid_indexer_runner_javaOptsArray='["-server", "-Xmx128m", "-Xms128m", "-XX:MaxDirectMemorySize=100m", "-Duser.timezone=UTC", "-Dfile.encoding=UTF-8", "-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager"]' | |
druid_indexer_fork_property_druid_processing_buffer_sizeBytes="256MiB" | |
#druid_storage_type="local" | |
#druid_storage_storageDirectory="/opt/shared/segments" | |
druid_indexer_logs_type="file" | |
#druid_indexer_logs_directory="/opt/shared/indexing-logs" | |
druid_processing_numThreads="2" | |
druid_processing_numMergeBuffers="2" | |
#DRUID_LOG4J="<?xml version="1.0" encoding="UTF-8" ?><Configuration status="WARN"><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{ISO8601} %p [%t] %c - %m%n"/></Console></Appenders><Loggers><Root level="info"><AppenderRef ref="Console"/></Root><Logger name="org.apache.druid.jetty.RequestLog" additivity="false" level="DEBUG"><AppenderRef ref="Console"/></Logger></Loggers></Configuration>" | |
druid_storage_bucket="druid" | |
druid_storage_baseKey="druid" | |
druid_storage_type="s3" | |
druid_s3_accessKey="key" | |
druid_s3_secretKey="secret" | |
druid_s3_protocol="http" | |
druid_s3_endpoint_url="http://minio.service.consul:9000" | |
druid_s3_enablePathStyleAccess="true" | |
EOT | |
destination = "secrets/file.env" | |
env = true | |
change_mode = "restart" | |
} | |
env { | |
druid_plaintextPort = "${NOMAD_PORT_historical}" | |
druid_host = "${NOMAD_IP_historical}" | |
} | |
service { | |
name = "druid-historical" | |
tags = [ | |
"global", | |
"druid", | |
"log" | |
] | |
port = "historical" | |
check { | |
name = "alive" | |
type = "tcp" | |
interval = "10s" | |
timeout = "2s" | |
} | |
} | |
resources { | |
memory = 2500 | |
} | |
} | |
} | |
group "middlemanager" { | |
network { | |
port "middlemanager" { | |
} | |
port "runner1" { | |
} | |
port "runner2" { | |
} | |
port "runner3" { | |
} | |
port "runner4" { | |
} | |
port "runner5" { | |
} | |
mode = "host" | |
} | |
restart { | |
attempts = 2 | |
interval = "1m" | |
delay = "10s" | |
mode = "fail" | |
} | |
task "middlemanager" { | |
driver = "docker" | |
config { | |
hostname = "${node.unique.name}" | |
image = "apache/druid:0.22.0" | |
ports = ["middlemanager"] | |
network_mode = "host" | |
args = [ | |
"middleManager", | |
] | |
} | |
template { | |
data = <<EOT | |
DRUID_XMX="1024m" | |
DRUID_XMS="1024m" | |
DRUID_MAXNEWSIZE="500m" | |
DRUID_NEWSIZE="500m" | |
DRUID_MAXDIRECTMEMORYSIZE="6172m" | |
#druid_emitter_logging_logLevel="debug" | |
druid_extensions_loadList='["druid-histogram","druid-datasketches","druid-lookups-cached-global","postgresql-metadata-storage","druid-kafka-indexing-service","druid-s3-extensions"]' | |
druid_zk_service_host={{ range $index, $element := service "zookeeper|any" }}{{ printf "%s:%d," .Address 2181 }}{{ end }} | |
#druid_metadata_storage_host="database-postgres.service.consul" | |
druid_metadata_storage_type="postgresql" | |
druid_metadata_storage_connector_connectURI="jdbc:postgresql://database-postgres.service.consul:5432/druid" | |
druid_metadata_storage_connector_user="druid" | |
druid_metadata_storage_connector_password="druidpassword" | |
druid_coordinator_balancer_strategy="cachingCost" | |
druid_indexer_runner_javaOptsArray='["-server", "-Xmx1024m", "-Xms1024m", "-XX:MaxDirectMemorySize=6048m", "-Duser.timezone=UTC", "-Dfile.encoding=UTF-8", "-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager"]' | |
druid_indexer_fork_property_druid_processing_buffer_sizeBytes="512MiB" | |
#druid_storage_type="local" | |
#druid_storage_storageDirectory="/opt/shared/segments" | |
druid_indexer_logs_type="file" | |
druid_indexer_logs_directory="/alloc/logs" | |
druid_processing_numThreads="4" | |
druid_processing_numMergeBuffers="4" | |
#DRUID_LOG4J='<?xml version="1.0" encoding="UTF-8" ?><Configuration status="WARN"><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{ISO8601} %p [%t] %c - %m%n"/></Console></Appenders><Loggers><Root level="info"><AppenderRef ref="Console"/></Root><Logger name="org.apache.druid.jetty.RequestLog" additivity="false" level="DEBUG"><AppenderRef ref="Console"/></Logger></Loggers></Configuration>' | |
druid_storage_bucket="druid" | |
druid_storage_baseKey="druid" | |
druid_storage_type="s3" | |
druid_s3_accessKey="key" | |
druid_s3_secretKey="secret" | |
druid_s3_protocol="http" | |
druid_s3_endpoint_url="http://minio.service.consul:9000" | |
druid_s3_enablePathStyleAccess="true" | |
EOT | |
destination = "secrets/file.env" | |
env = true | |
change_mode = "restart" | |
} | |
env { | |
druid_plaintextPort = "${NOMAD_PORT_middlemanager}" | |
druid_host = "${NOMAD_IP_middlemanager}" | |
druid_indexer_runner_ports = "[${NOMAD_PORT_runner1},${NOMAD_PORT_runner2},${NOMAD_PORT_runner3},${NOMAD_PORT_runner4},${NOMAD_PORT_runner5}]" | |
} | |
service { | |
name = "druid-middlemanager" | |
tags = [ | |
"global", | |
"druid", | |
"log" | |
] | |
port = "middlemanager" | |
check { | |
name = "alive" | |
type = "tcp" | |
interval = "10s" | |
timeout = "2s" | |
} | |
} | |
resources { | |
memory = 8000 | |
} | |
} | |
} | |
group "router" { | |
network { | |
port "router" { | |
} | |
mode = "host" | |
} | |
restart { | |
attempts = 2 | |
interval = "1m" | |
delay = "10s" | |
mode = "fail" | |
} | |
task "router" { | |
driver = "docker" | |
config { | |
hostname = "${node.unique.name}" | |
image = "apache/druid:0.22.0" | |
ports = ["router"] | |
network_mode = "host" | |
args = [ | |
"router", | |
] | |
} | |
template { | |
data = <<EOT | |
DRUID_XMX="128m" | |
DRUID_XMS="128m" | |
DRUID_MAXNEWSIZE="120m" | |
DRUID_NEWSIZE="120m" | |
DRUID_MAXDIRECTMEMORYSIZE="6172m" | |
#druid_emitter_logging_logLevel="debug" | |
druid_extensions_loadList='["druid-histogram","druid-datasketches","druid-lookups-cached-global","postgresql-metadata-storage","druid-kafka-indexing-service","druid-s3-extensions"]' | |
druid_zk_service_host={{ range $index, $element := service "zookeeper|any" }}{{ printf "%s:%d," .Address 2181 }}{{ end }} | |
#druid_metadata_storage_host="database-postgres.service.consul" | |
druid_metadata_storage_type="postgresql" | |
druid_metadata_storage_connector_connectURI="jdbc:postgresql://database-postgres.service.consul:5432/druid" | |
druid_metadata_storage_connector_user="druid" | |
druid_metadata_storage_connector_password="druidpassword" | |
druid_coordinator_balancer_strategy="cachingCost" | |
druid_indexer_runner_javaOptsArray='["-server", "-Xmx128m", "-Xms128m", "-XX:MaxDirectMemorySize=100m", "-Duser.timezone=UTC", "-Dfile.encoding=UTF-8", "-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager"]' | |
druid_indexer_fork_property_druid_processing_buffer_sizeBytes="256MiB" | |
#druid_storage_type="local" | |
#druid_storage_storageDirectory="/opt/shared/segments" | |
druid_indexer_logs_type="file" | |
#druid_indexer_logs_directory="/opt/shared/indexing-logs" | |
druid_processing_numThreads="2" | |
druid_processing_numMergeBuffers="2" | |
#DRUID_LOG4J='<?xml version="1.0" encoding="UTF-8" ?><Configuration status="WARN"><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{ISO8601} %p [%t] %c - %m%n"/></Console></Appenders><Loggers><Root level="info"><AppenderRef ref="Console"/></Root><Logger name="org.apache.druid.jetty.RequestLog" additivity="false" level="DEBUG"><AppenderRef ref="Console"/></Logger></Loggers></Configuration>' | |
druid_storage_bucket="druid" | |
druid_storage_baseKey="druid" | |
druid_storage_type="s3" | |
druid_s3_accessKey="key" | |
druid_s3_secretKey="secret" | |
druid_s3_protocol="http" | |
druid_s3_endpoint_url="http://minio.service.consul:9000" | |
druid_s3_enablePathStyleAccess="true" | |
EOT | |
destination = "secrets/file.env" | |
env = true | |
change_mode = "restart" | |
} | |
env { | |
druid_plaintextPort = "${NOMAD_PORT_router}" | |
druid_host = "${NOMAD_IP_router}" | |
} | |
service { | |
name = "druid-router" | |
tags = [ | |
"global", | |
"druid", | |
"log", | |
"traefik.enable=true", | |
"traefik.http.routers.druid.rule=Host(`druid.test.org`)", | |
"traefik.frontend.entryPoints=http" | |
] | |
port = "router" | |
check { | |
name = "alive" | |
type = "tcp" | |
interval = "10s" | |
timeout = "2s" | |
} | |
} | |
resources { | |
memory = 2500 | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment