2. 从0到1搭建DeltaLake大数据平台 - 配置Spark集群

BI, AI, 大数据学习 / 2024-10-23 / 原文

1. 配置Master

vi $SPARK_HOME/conf/spark-env.sh
export SPARK_MASTER_HOST=192.168.130.126
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=2
export SPARK_WORKER_MEMORY=2g

启动Master

$SPARK_HOME/sbin/start-master.sh

 Master可以启动成功。

2. 配置Worker节点

export SPARK_MASTER_URL=spark://192.168.130.126:7077
export SPARK_WORKER_MEMORY=2g

 启动worker 节点

$SPARK_HOME/sbin/start-worker.sh
//提示如下错误
org.apache.spark.SparkException: Invalid master URL: spark://spark:/192.168.130.126:7077
$SPARK_HOME/sbin/start-worker.sh spark://192.168.130.126:7077
//指定Master,提示如下错误
aused by: java.io.IOException: Failed to connect to /192.168.130.126:7077

 worker 节点启动失败,提示连接Master失败,可以ping通Master节点,但是telent提示路由失败。

telnet 192.168.130.126 7077
Trying 192.168.130.126...
telnet: connect to address 192.168.130.126: No route to host
//设置防火墙后,可以Telnet,saprk-worker启动成功
sudo
firewall-cmd --add-port=7077/tcp --permanent
sudo firewall-cmd --reload

 telnet 192.168.130.126 7077
 Trying 192.168.130.126...
 Connected to 192.168.130.126.

 //下面命令可以启动worker成功,但是不带URL参数,还是报同样错误 (暂时用URL参数启动,之后再查找原因)

$SPARK_HOME/sbin/start-worker.sh spark://192.168.130.126:7077

 

从Master节点,启动多个节点

在192.168.130.126上生成密钥

ssh-keygen -t rsa -b 4096

在192.168.130.126上复制密钥到远程服务器

ssh-copy-id sparkuser@192.168.130.128

ssh-copy-id sparkuser@192.168.130.130

配置 /opt/spark/conf/worker文件,增加下面的主机

192.168.130.128

192.168.130.130