HA for thrift interface (binary/http) via nginx #4922
-
Hi, I've deployed three instance of Kyuubi behind nginx. With this setup, I'm able to submit jobs through REST (BatchSession) but when connecting to thrift interface (both binary, and HTTP), the client fails to connect. Does thrift interface supports HA through load balancer? I can't use Zookeeper based service discovery and the clients don't have permission to connect to Zookeeper. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments
-
The THRIFT BINARY protocol is based on TCP protocol, should be fine to use w/ nginx. But THRIFT HTTP should not work, since different Kyuubi instances do not share session state |
Beta Was this translation helpful? Give feedback.
-
Thanks for the response @pan3793. I tried THRIFT binary through nginx, and when only one upstream Kyuubi instance is defined it works. When I define three upstream servers with the following conf:
I run into the following exception:
I'll try to debug this on my end. FWIW, I'm running Kyuubi 1.7.1. |
Beta Was this translation helpful? Give feedback.
-
I suppose you are using Spark cluster mode, and the Basically, when a new connection comes in, Kyuubi lookups for a suitable engine from the ZK, and if no candidates, it invokes You should make sure that your network topology meets the above requirements. |
Beta Was this translation helpful? Give feedback.
I suppose you are using Spark cluster mode, and the
data-C12-30.hiyu.hadoop.dfw.wordpress.com
is a YARN Node Manager node. Is each Kyuubi instance's network reachable to this node?Basically, when a new connection comes in, Kyuubi lookups for a suitable engine from the ZK, and if no candidates, it invokes
spark-submit
to launch a new one. The launched engine register itself to the ZK so that the Kyuubi can find them.You should make sure that your network topology meets the above requirements.