不知道WSL归类算到Windows还是Linux……
(一)Deploy Mode: Client
1.1 绑定IP地址
WSL默认拷贝一份Windows下的hosts。
不过Ubuntu会比CentOS多干一件事儿。
把自己的主机名,绑定到127.0.1.1上。导致Spark警告:
WARN Utils: Your hostname, shionwsl resolves to a loopback address: 127.0.1.1; using 192.168.50.16 instead (on interface eth0)
WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
除非让WSL不要从Windows生成hosts:
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateHosts = false
这部分在:🔗《大家来玩WSL(Windows Subsystem for Linux)》里提到过。
1.2 子网无法提交
由于集群的服务器无法访问WSL子网,所以Client模式下,任务提交成功,但是driver和executor永远连接超时。
虽然WSL理论上可以桥接,但日常用太麻烦,所以还是改用桥接的Linux虚拟机来提交spark应用吧。
1.3 放弃
⚠️目前我没办法在WSL下用Client模式提交Spark任务。
😄呵呵……
(一)Deploy Mode: Cluster
1.1 问题都一样
由于Spark独立集群暂时无法获取到信息,暂时只能提交到Yarn集群。
请参考在普通Linux服务器下遇到的问题:
🔗《提交Spark应用的若干问题记录(sparklauncher with cluster deploy mode)》
最后成功了: