.. _system-requirements: =================== System Requirements =================== Hardware ======== ----------- On-Premises ----------- The following machine recommendations are for installing individual |cp| components: ============== ====== ====================================== =============== =========================== Component Nodes Storage Memory CPU ============== ====== ====================================== =============== =========================== |c3-short| 1 300 GB, preferably SSDs 32 GB RAM (JVM 12 cores or more default 6 GB) Broker 3 - 12 X 1 TB disk. RAID 10 is optional 64 GB RAM Dual 12 core sockets - Separate OS disks from |ak-tm| storage |kconnect| 2 Only required for installation 0.5 - 4 GB Typically not CPU- bound. heap size More cores is better than depending on faster cores. connectors KSQL 2 Use SSD. Sizing depends on the number 20 GB RAM 4 cores of concurrent queries and the aggregation performed. REST Proxy 2 Only required for installation 1 GB overhead 16 cores to handle HTTP plus 64 MB per requests in parallel and producer and 16 background threads for MB per consumer consumers and producers. |sr| 2 Only required for installation 1 GB heap size Typically not CPU- bound. More cores is better than faster cores. |zk| 3-5 - Transaction log: 512 GB SSD 32 GB RAM 2-4 Cores - Storage: 2 X 1 TB SATA, RAID 10 Each write to |zk| must be persisted in the transaction log before the client gets an ack. Using SSD reduces the |zk| write latency. ============== ====== ====================================== =============== =========================== ----- Cloud ----- See `Cloud Providers and Regions `__ Software ======== .. _sys-req-os: ----------------- Operating Systems ----------------- .. include:: ../includes/installation.rst :start-after: Operating system content :end-before: Java ---- Java ---- .. include:: ../includes/java-snippet.rst ------ Docker ------ .. include:: ../includes/installation.rst :start-after: docker_start ------- Network ------- |c3-short| relies heavily on |ak|, so a fast and reliable network is important for performance. Modern datacenter networking speed of 1 GbE, 10 GbE should be sufficient. ----- Ports ----- By default the |cp| components use these ports to communicate. These ports must be open. ================================= ================= Component Port ================================= ================= |ak| brokers (plain text) 9092 |c3| 9021 |kconnect-long| REST API 8083 KSQL Server REST API 8088 |mds-long| 8090 REST Proxy 8082 |sr| REST API 8081 |zk| 2181, 2888, 3888 ================================= ================= .. _time-sync: ---------------- Synchronize time ---------------- Clock synchronization on each |ak| broker is required to ensure the full system functions correctly. For example, secure network communication with the brokers that rely on TLS certificate verification may fail if clocks are not synchronized. Clock synchronization can be achieved using utilities like ``ntpd`` that implement the Network Time Protocol (NTP).