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