204 lines
7.9 KiB
YAML
204 lines
7.9 KiB
YAML
|
#
|
||
|
# Licensed to the Apache Software Foundation (ASF) under one
|
||
|
# or more contributor license agreements. See the NOTICE file
|
||
|
# distributed with this work for additional information
|
||
|
# regarding copyright ownership. The ASF licenses this file
|
||
|
# to you under the Apache License, Version 2.0 (the
|
||
|
# "License"); you may not use this file except in compliance
|
||
|
# with the License. You may obtain a copy of the License at
|
||
|
#
|
||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
#
|
||
|
# Unless required by applicable law or agreed to in writing,
|
||
|
# software distributed under the License is distributed on an
|
||
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||
|
# KIND, either express or implied. See the License for the
|
||
|
# specific language governing permissions and limitations
|
||
|
# under the License.
|
||
|
#
|
||
|
|
||
|
####################
|
||
|
# Worker Settings
|
||
|
####################
|
||
|
|
||
|
workerId: standalone
|
||
|
workerHostname: localhost
|
||
|
workerPort: 6750
|
||
|
workerPortTls: 6751
|
||
|
|
||
|
# Configuration Store connection string
|
||
|
configurationStoreServers: localhost:2181
|
||
|
# ZooKeeper session timeout in milliseconds
|
||
|
zooKeeperSessionTimeoutMillis: 30000
|
||
|
# ZooKeeper operation timeout in seconds
|
||
|
zooKeeperOperationTimeoutSeconds: 30
|
||
|
|
||
|
################################
|
||
|
# Function package management
|
||
|
################################
|
||
|
|
||
|
numFunctionPackageReplicas: 1
|
||
|
downloadDirectory: download/pulsar_functions
|
||
|
# Classname of Pluggable JVM GC metrics logger that can log GC specific metrics
|
||
|
# jvmGCMetricsLoggerClassName:
|
||
|
|
||
|
#################################################################
|
||
|
# Function metadata managment (assignment, scheduling, and etc)
|
||
|
#################################################################
|
||
|
|
||
|
# Configure the pulsar client used by function metadata management
|
||
|
#
|
||
|
# points
|
||
|
pulsarServiceUrl: pulsar://localhost:6650
|
||
|
pulsarWebServiceUrl: http://localhost:8080
|
||
|
# the authentication plugin to be used by the pulsar client used in worker service
|
||
|
# clientAuthenticationPlugin:
|
||
|
# the authentication parameter to be used by the pulsar client used in worker service
|
||
|
# clientAuthenticationParameters:
|
||
|
|
||
|
# Bookie Authentication
|
||
|
#
|
||
|
# Authentication plugin to use when connecting to bookies
|
||
|
# bookkeeperClientAuthenticationPlugin:
|
||
|
# BookKeeper auth plugin implementatation specifics parameters name and values
|
||
|
# bookkeeperClientAuthenticationParametersName:
|
||
|
# Parameters for bookkeeper auth plugin
|
||
|
# bookkeeperClientAuthenticationParameters:
|
||
|
|
||
|
|
||
|
# pulsar topics used for function metadata management
|
||
|
|
||
|
pulsarFunctionsNamespace: public/functions
|
||
|
pulsarFunctionsCluster: standalone
|
||
|
functionMetadataTopicName: metadata
|
||
|
clusterCoordinationTopicName: coordinate
|
||
|
# Number of threads to use for HTTP requests processing. Default is set to 8
|
||
|
numHttpServerThreads: 8
|
||
|
|
||
|
# function assignment and scheduler
|
||
|
|
||
|
schedulerClassName: "org.apache.pulsar.functions.worker.scheduler.RoundRobinScheduler"
|
||
|
functionAssignmentTopicName: "assignments"
|
||
|
failureCheckFreqMs: 30000
|
||
|
rescheduleTimeoutMs: 60000
|
||
|
initialBrokerReconnectMaxRetries: 60
|
||
|
assignmentWriteMaxRetries: 60
|
||
|
instanceLivenessCheckFreqMs: 30000
|
||
|
# Frequency how often worker performs compaction on function-topics
|
||
|
topicCompactionFrequencySec: 1800
|
||
|
|
||
|
|
||
|
###############################
|
||
|
# Function Runtime Management
|
||
|
###############################
|
||
|
|
||
|
#### Process Runtime ####
|
||
|
# Pulsar function instances are launched as processes
|
||
|
|
||
|
functionRuntimeFactoryClassName: org.apache.pulsar.functions.runtime.process.ProcessRuntimeFactory
|
||
|
functionRuntimeFactoryConfigs:
|
||
|
# location of log files for functions
|
||
|
logDirectory: /tmp
|
||
|
# change the jar location only when you put the java instance jar in a different location
|
||
|
javaInstanceJarLocation:
|
||
|
# change the python instance location only when you put the python instance jar in a different location
|
||
|
pythonInstanceLocation:
|
||
|
# change the extra dependencies location:
|
||
|
extraFunctionDependenciesDir:
|
||
|
|
||
|
#### Thread Runtime ####
|
||
|
# Pulsar function instances are run as threads
|
||
|
|
||
|
#functionRuntimeFactoryClassName: org.apache.pulsar.functions.runtime.thread.ThreadRuntimeFactory
|
||
|
#functionRuntimeFactoryConfigs:
|
||
|
# # thread group name
|
||
|
# threadGroupName: "Thread Function Container Group"
|
||
|
|
||
|
#### Kubernetes Runtime ####
|
||
|
# Pulsar function are deployed to Kubernetes
|
||
|
|
||
|
#functionRuntimeFactoryClassName: org.apache.pulsar.functions.runtime.kubernetes.KubernetesRuntimeFactory
|
||
|
#functionRuntimeFactoryConfigs:
|
||
|
# # uri to kubernetes cluster, leave it to empty and it will use the kubernetes settings in function worker
|
||
|
# k8Uri:
|
||
|
# # the kubernetes namespace to run the function instances. it is `default`, if this setting is left to be empty
|
||
|
# jobNamespace:
|
||
|
# # the docker image to run function instance. by default it is `apachepulsar/pulsar`
|
||
|
# pulsarDockerImageName:
|
||
|
# # the root directory of pulsar home directory in `pulsarDockerImageName`. by default it is `/pulsar`.
|
||
|
# # if you are using your own built image in `pulsarDockerImageName`, you need to set this setting accordingly
|
||
|
# pulsarRootDir:
|
||
|
# # this setting only takes effects if `k8Uri` is set to null. if your function worker is running as a k8 pod,
|
||
|
# # setting this to true is let function worker to submit functions to the same k8s cluster as function worker
|
||
|
# # is running. setting this to false if your function worker is not running as a k8 pod.
|
||
|
# submittingInsidePod: false
|
||
|
# # setting the pulsar service url that pulsar function should use to connect to pulsar
|
||
|
# # if it is not set, it will use the pulsar service url configured in worker service
|
||
|
# pulsarServiceUrl:
|
||
|
# # setting the pulsar admin url that pulsar function should use to connect to pulsar
|
||
|
# # if it is not set, it will use the pulsar admin url configured in worker service
|
||
|
# pulsarAdminUrl:
|
||
|
# # the custom labels that function worker uses to select the nodes for pods
|
||
|
# customLabels:
|
||
|
# # the directory for dropping extra function dependencies
|
||
|
# # if it is not an absolute path, it is relative to `pulsarRootDir`
|
||
|
# extraFunctionDependenciesDir:
|
||
|
# # Additional memory padding added on top of the memory requested by the function per on a per instance basis
|
||
|
# percentMemoryPadding: 10
|
||
|
# # The ratio cpu request and cpu limit to be set for a function/source/sink.
|
||
|
# # The formula for cpu request is cpuRequest = userRequestCpu / cpuOverCommitRatio
|
||
|
# cpuOverCommitRatio: 1.0
|
||
|
# # The ratio memory request and memory limit to be set for a function/source/sink.
|
||
|
# # The formula for memory request is memoryRequest = userRequestMemory / memoryOverCommitRatio
|
||
|
# memoryOverCommitRatio: 1.0
|
||
|
|
||
|
## A set of the minimum amount of resources functions must request.
|
||
|
## Support for this depends on function runtime.
|
||
|
## Only kubernetes runtime currently supports this.
|
||
|
# functionInstanceMinResources:
|
||
|
# cpu: 1
|
||
|
# ram: 1073741824
|
||
|
# disk: 10737418240
|
||
|
|
||
|
############################################
|
||
|
# security settings for worker service
|
||
|
############################################
|
||
|
|
||
|
# Enforce authentication
|
||
|
authenticationEnabled: false
|
||
|
# Enforce authorization on accessing functions api
|
||
|
authorizationEnabled: false
|
||
|
# Set of authentication provider name list, which is a list of class names
|
||
|
authenticationProviders:
|
||
|
# Authorization provider fully qualified class-name
|
||
|
authorizationProvider: org.apache.pulsar.broker.authorization.PulsarAuthorizationProvider
|
||
|
# Set of role names that are treated as "super-user", meaning they will be able to access any admin-api
|
||
|
superUserRoles:
|
||
|
|
||
|
#### tls configuration for worker service
|
||
|
# Enable TLS
|
||
|
tlsEnabled: false
|
||
|
# Path for the TLS certificate file
|
||
|
tlsCertificateFilePath:
|
||
|
# Path for the TLS private key file
|
||
|
tlsKeyFilePath:
|
||
|
# Path for the trusted TLS certificate file
|
||
|
tlsTrustCertsFilePath:
|
||
|
# Accept untrusted TLS certificate from client
|
||
|
tlsAllowInsecureConnection: false
|
||
|
# Tls cert refresh duration in seconds (set 0 to check on every new connection)
|
||
|
tlsCertRefreshCheckDurationSec: 300
|
||
|
|
||
|
########################
|
||
|
# State Management
|
||
|
########################
|
||
|
|
||
|
# the service url points to bookkeeper table service
|
||
|
# stateStorageServiceUrl: bk://localhost:4181
|
||
|
|
||
|
########################
|
||
|
# Connectors
|
||
|
########################
|
||
|
|
||
|
connectorsDirectory: ./connectors
|