github.com/ncodes/nomad@v0.5.7-0.20170403112158-97adf4a74fb3/website/source/guides/cluster/requirements.html.md (about) 1 --- 2 layout: "guides" 3 page_title: "Nomad Client and Server Requirements" 4 sidebar_current: "guides-cluster-requirements" 5 description: |- 6 Learn about Nomad client and server requirements such as memory and CPU 7 recommendations, network topologies, and more. 8 --- 9 10 # Cluster Requirements 11 12 ## Resources (RAM, CPU, etc.) 13 14 **Nomad servers** may need to be run on large machine instances. We suggest 15 having 8+ cores, 32 GB+ of memory, 80 GB+ of disk and significant network 16 bandwidth. The core count and network recommendations are to ensure high 17 throughput as Nomad heavily relies on network communication and as the Servers 18 are managing all the nodes in the region and performing scheduling. The memory 19 and disk requirements are due to the fact that Nomad stores all state in memory 20 and will store two snapshots of this data onto disk. Thus disk should be at 21 least 2 times the memory available to the server when deploying a high load 22 cluster. 23 24 **Nomad clients** support reserving resources on the node that should not be 25 used by Nomad. This should be used to target a specific resource utilization per 26 node and to reserve resources for applications running outside of Nomad's 27 supervision such as Consul and the operating system itself. 28 29 Please see the [reservation configuration](/docs/agent/configuration/client.html#reserved) for 30 more detail. 31 32 ## Network Topology 33 34 **Nomad servers** are expected to have sub 10 millisecond network latencies 35 between each other to ensure liveness and high throughput scheduling. Nomad 36 servers can be spread across multiple datacenters if they have low latency 37 connections between them to achieve high availability. 38 39 For example, on AWS every region comprises of multiple zones which have very low 40 latency links between them, so every zone can be modeled as a Nomad datacenter 41 and every Zone can have a single Nomad server which could be connected to form a 42 quorum and a region. 43 44 Nomad servers uses Raft for state replication and Raft being highly consistent 45 needs a quorum of servers to function, therefore we recommend running an odd 46 number of Nomad servers in a region. Usually running 3-5 servers in a region is 47 recommended. The cluster can withstand a failure of one server in a cluster of 48 three servers and two failures in a cluster of five servers. Adding more servers 49 to the quorum adds more time to replicate state and hence throughput decreases 50 so we don't recommend having more than seven servers in a region. 51 52 **Nomad clients** do not have the same latency requirements as servers since they 53 are not participating in Raft. Thus clients can have 100+ millisecond latency to 54 their servers. This allows having a set of Nomad servers that service clients 55 that can be spread geographically over a continent or even the world in the case 56 of having a single "global" region and many datacenter. 57 58 ## Ports Used 59 60 Nomad requires 3 different ports to work properly on servers and 2 on clients, 61 some on TCP, UDP, or both protocols. Below we document the requirements for each 62 port. 63 64 * HTTP API (Default 4646). This is used by clients and servers to serve the HTTP 65 API. TCP only. 66 67 * RPC (Default 4647). This is used by servers and clients to communicate amongst 68 each other. TCP only. 69 70 * Serf WAN (Default 4648). This is used by servers to gossip over the WAN to 71 other servers. TCP and UDP.