我想创建一个spark独立群集。我有2个工作站和笔记本电脑。都有Ubuntu作为他们的操作系统。这些系统中的每一个都具有不同的用户名。 我关注了此博客Spark cluster。我编辑了主机文件
sudo gedit /etc/hosts
10.8.9.13 master
10.8.19.23 slave01
10.8.5.158 slave02
user-name of Master: lab
user-name of Slave01: lab-zero
user-name of Slave02: computer
我还生成了键值对ssh-keygen -t rsa
并将其添加到.ssh / authorized_keys文件中。
所以当我ssh这两台机器时,我能够在没有密码的情况下登录。
但是当我运行./start-all.sh
时,它会给出
lab@slave02's password: lab@slave01's password: localhost: starting org.apache.spark.deploy.worker.Worker, logging to /home/lab/Downloads/spark-2.1.1-bin-hadoop2.7/logs/spark-acs-lab-rg.apache.spark.deploy.worker.Worker-1-M1.out
它被卡在这里,并且使用我的默认用户名lab
而不是远程主机的用户名(在这种情况下是奴隶的用户名:lab-zero
和{{}来访问这两个奴隶1}})
当我检查Spark Master UI时,它给了我一个错误:
computer
当我输入The requested URL could not be retrieved
时,它会返回
./stop-slaves.sh
这是我的工作日志:
no org.apache.spark.deploy.worker.Worker to stop
答案 0 :(得分:1)
通过将所有系统名称更改为具有相同名称来解决问题。还在master中创建了一个slaves
文件:〜/ spark-2.0.2-bin-hadoop2.7 / conf。从属文件具有以下内容:
# A Spark Worker will be started on each of the machines listed below.
10.8.9.13
10.8.19.23
10.8.5.158
还将主IP地址添加到〜/ spark-2.0.2-bin-hadoop2.7 /conf/spark-env.sh文件
export SPARK_MASTER_HOST=10.8.9.13
答案 1 :(得分:0)
./sbin/start-master.sh
,然后检查
ui中的可用性,默认端口为8080
。在每个从属主机上运行./sbin/start-slave.sh spark://10.8.9.13:7077
。
有关详细信息,请参阅this link。