if you benchmark only versions up to Elasticsearch 2.x (which require at least Java 7), this should work. Rally will try to autodetect JDK 8, won't find it and it should ask you for the JDK 8 home directory. But it does not verify the Java version so you can just enter your JDK 7 home directory. However, please note that you cannot benchmark newer versions of Elasticseach (like 5.x) because they require Java 8 and will fail otherwise.
Python 3.4 or later is a hard requirement. Rally will not work with any version of Python 2. However, it is not a problem to install Python 2 and Python 3 together on the same machine. You can also look into virtualenv.
Btw, what you need to install also depends how you want to benchmark. E.g. if you set up the cluster yourself then neither Rally nor its prerequisites such as Python 3 need to be installed on the machine where Elasticsearch is installed but only on the load test driver machine (see the recipes in the docs for a a complete example).