Client applications binaries are also installed. They need to be capable to access remotely server processes. Some client processes may be also started.
For example, you may to perform some ETL jobs for that you need to have access to Hive or Pig client. You access these client applications from the edge nodes where they are installed. As a good practice for a production environment, clients should not be installed on data nodes nor name nodes. Ideally, you would use edge nodes. It is a matter of security and workload distribution. You don't want various users accessing directly data nodes or running scripts on data nodes or name nodes. Your access model will be much easier to setup and manage. Keep a good separation of concerns: access, management, processing, data.
Here is a real-life scenario: https://community.hortonworks.com/questions/39568/how-to-create-edge-node-for-kerberized-cluster.htm...