Hello @Sami Ahmad,
Keeping the jargon aside -
- Ranger is used for deciding who can access what resources on a Hadoop cluster with the help of policies (there is more to this but this is in the most basic terms).
- Knox can be imagined as the gatekeeper which decides whether to allow user access to Hadoop cluster or not.
More complete definitions:
- Ranger is an authorization system which allows / denies access to Hadoop cluster resources (HDFS files, Hive tables etc.) based on pre-defined Ranger policies. When user request comes to Ranger, it is assumed to be authenticated already.
- Knox is a REST API based perimeter security gateway system which 'authenticates' user credentials (mostly against AD/LDAP). Only the successfully authenticated user are allowed access to Hadoop cluster. Knox also provides a layer of abstraction to the underneath Hadoop services i.e. all endpoints are accessed via Knox gateway URL.
Follow Apache Ranger project and Apache Knox project for more comprehensive description and full set of feature list.
Hope this helps !