Hi, I'm using Spark Thrift JDBC server and 2 limitations are really bother me - 

1) One instance per machine
2) Yarn client only(not yarn cluster)

Are there any architectural reasons for such limitations? About yarn-client I might understand in theory - master is the same process as a server, so it makes some sense, but it's really inconvenient - I need a lot of memory on my driver machine. Reasons for one instance per machine I do not understand. 

Sincerely yours
Egor Pakhomov