Note that zookeeper does not 'see' the agents (or the console), it is the agents (and the console) that talk to zookeeper. The console get the ip address and ports of the agents from zookeeper.
The console talks to the agents through ports 12906 (http) and 12907 (https) by default, but you can override that per agent if needed.
If used in a cluster (recommended) the zookeeper instances will talk to each other through ports 2888 and 3888. These ports are purely for zookeeper's use and neither the console or the agents use them. Usually you will want 1 host for the console, 3 hosts for zookeeper, and an other host per agent.
I recommend that you use a dedicated system to distribute your binary dependencies. We use artifactory in my current company as the REST API allow us to access it through scripts. My previous company was on EC2 and we used S3 (solves scalability for cheap).