在EMR客户端模式以及群集模式下,Spark Streaming Java自定义接收器问题在yarn中出现。
以下是问题。
当我们在EMR群集(纱线)上运行Spark Streaming的JavaCustomReceiver时,它将在执行程序之一上随机绑定侦听器。因此,我们要做的就是将所有传入流量转移到它随机选择的那个ip。
当那个执行器失败时,情况就更糟了。重新启动后,它将尝试将监听器绑定到另一个随机选择的执行器上。再次,我们必须将传入流量转移到该新选择的节点。
我的问题是:1.我们能否将侦听器绑定到我们选择的特定执行器上?(用于绑定侦听器的固定ip)否... 2.是否可以通过编程方式知道它在哪个执行器上重新启动了侦听器?(因为它选择了随机节点来启动该接收器),最重要的是。3.我们不能在运行驱动程序的节点上绑定侦听器吗?(在客户端模式下运行时)
费耶
我们已经尝试过Receiver超类的preferredLocation,但是我们并没有那么幸运。
对此,我们将给予任何帮助。