前言
這是筆者依照Apache Zeppelin on Spark Cluster Mode - Spark on Mesos mode的教學架設Zeppelin+Mesos時所出現的錯誤。
在構建好docker image並啟動docker container後,可以打開http://xx.xx.xx.xx:5050/#/
。
但是卻不時會在網頁彈出Failed to connect to xx.xx.xx.xx:5050!
,以下是螢幕截圖。
錯誤訊息
解決辦法
參考Mesos Failed to connect error to IP:5050這個stackoverflow上的問答:
把entrypoint.sh
這個檔案裡的:
mesos-master --ip=0.0.0.0 --work_dir=/var/lib/mesos &> /var/log/mesos_master.log &
加上--hostname=`hostname -I | cut -d' ' -f1`
這個flag,變成:
mesos-master --ip=0.0.0.0 --work_dir=/var/lib/mesos --hostname=`hostname -I | cut -d' ' -f1` &> /var/log/mesos_master.log &
註:--hostname=`hostname -I | cut -d' ' -f1`
是取出host ip的指令。
成功畫面
修改entropypoint.sh
,重新構建docker image,並重啟docker container後,在瀏覽器中開啟http://xx.xx.xx.xx:5050/#/
:
可以看到左上角Leader的ip由dcosa71變為192.168.2.171,這時也不會再彈出上述的錯誤訊息了。
參考連結
Apache Zeppelin on Spark Cluster Mode - Spark on Mesos mode
Mesos Failed to connect error to IP:5050