You need Java installed (Java 8 or later), and to build, you need to have Maven installed as well.
You need to have an RDBMS for storing stream, task and app states in the database. The local
Data Flow server by default uses embedded H2 database for this.
You also need to have Redis running if you are running any streams that involve analytics applications. Redis may also be required run the unit/integration tests.
For the deployed streams and tasks to communicate, either RabbitMQ or Kafka needs to be installed.