github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/zookeeper/config/zookeeper-config-constraint.cue (about) 1 // Copyright (C) 2022-2023 ApeCloud Co., Ltd 2 // 3 // This file is part of KubeBlocks project 4 // 5 // This program is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU Affero General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // This program is distributed in the hope that it will be useful 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU Affero General Public License for more details. 14 // 15 // You should have received a copy of the GNU Affero General Public License 16 // along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18 #ZookeeperParameter: { 19 // the length of a single tick, which is the basic time unit used by ZooKeeper, as measured in milliseconds. It is used to regulate heartbeats, and timeouts. For example, the minimum session timeout will be two ticks. 20 "tickTime": int & >=1 & <=100000 | *2000 21 22 // Amount of time, in ticks (see tickTime), to allow followers to connect and sync to a leader. Increased this value as needed, if the amount of data managed by ZooKeeper is large. 23 "initLimit": int | *10 24 25 // Amount of time, in ticks (see tickTime), to allow followers to sync with ZooKeeper. If followers fall too far behind a leader, they will be dropped. 26 "syncLimit": int | *30 27 28 // the port to listen for client connections; that is, the port that clients attempt to connect to. 29 "clientPort": int & >=1 & <=65535 | *2181 30 31 // Limits the number of concurrent connections (at the socket level) that a single client, identified by IP address, may make to a single member of the ZooKeeper ensemble. This is used to prevent certain classes of DoS attacks, including file descriptor exhaustion. The default is 60. Setting this to 0 entirely removes the limit on concurrent connections. 32 "maxClientCnxns"?: int 33 34 // New in 3.3.0: the maximum session timeout in milliseconds that the server will allow the client to negotiate. 35 "maxSessionTimeout"?: int 36 37 // New in 3.4.0: When enabled, ZooKeeper auto purge feature retains the autopurge.snapRetainCount most recent snapshots and the corresponding transaction logs in the dataDir and dataLogDir respectively and deletes the rest. Defaults to 3. Minimum value is 3. 38 "autopurge.snapRetainCount"?: int 39 40 // New in 3.4.0: The time interval in hours for which the purge task has to be triggered. Set to a positive integer (1 and above) to enable the auto purging. Defaults to 0. 41 "autopurge.purgeInterval"?: int 42 43 // the location where ZooKeeper will store the in-memory database snapshots and, unless specified otherwise, the transaction log of updates to the database.Be careful where you put the transaction log. A dedicated transaction log device is key to consistent good performance. Putting the log on a busy device will adversely effect performance. 44 "dataDir": string | *"/zookeeper/data" 45 46 // This option will direct the machine to write the transaction log to the dataLogDir rather than the dataDir. This allows a dedicated log device to be used, and helps avoid competition between logging and snapshots. 47 "dataLogDir": string | *"/zookeeper/log" 48 49 // When set to false, a single server can be started in replicated mode, a lone participant can run with observers, and a cluster can reconfigure down to one node, and up from one node. 50 "standaloneEnabled": bool | *false 51 52 // This controls the enabling or disabling of Dynamic Reconfiguration feature 53 "reconfigEnabled": bool | *true 54 55 // A list of comma separated Four Letter Words commands that user wants to use 56 "4lw.commands.whitelist": string | *"srvr, mntr, ruok" 57 58 // Dynamic Config File 59 "dynamicConfigFile": string | *"/opt/zookeeper/conf/zoo.cfg.dynamic" 60 }