Spark on Yarn 多机集群摆设

[复制链接]
发表于 2025-10-27 01:56:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Spark on Yarn 多机集群摆设

1. 规划呆板脚色

服务器IP 所在脚色Master192.168.1.100NameNode + ResourceManager + Spark MasterWorker1192.168.1.101DataNode + NodeManager + Spark WorkerWorker2192.168.1.102DataNode + NodeManager + Spark Worker
2. 设置全部呆板

2.1 安装 Java

在 全部节点 上实行:
  1. sudo apt update
  2. sudo apt install -y openjdk-8-jdk
复制代码
验证 Java:
  1. java -version
复制代码
2.2 免密 SSH

在 Master 节点实行:
  1. ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
复制代码
然后将公钥 id_rsa.pub 复制到 全部 节点:
  1. ssh-copy-id [email protected]
  2. ssh-copy-id [email protected]
  3. ssh-copy-id [email protected]
复制代码
验证:
3. 安装 Hadoop 并设置 Yarn

3.1 在全部节点安装 Hadoop
  1. wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
  2. tar -xzf hadoop-3.3.6.tar.gz
  3. sudo mv hadoop-3.3.6 /usr/local/hadoop
复制代码
3.2 设置 Master 节点

在 Master(192.168.1.100)上:
  1. vim ~/.bashrc
复制代码
添加:
  1. export HADOOP_HOME=/usr/local/hadoop
  2. export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
  3. export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
  4. export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
  5. export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
  6. export PATH=$JAVA_HOME/bin:$PATH
  7. export SPARK_HOME=/usr/local/spark
  8. export PATH=$SPARK_HOME/sbin:$PATH
复制代码
复制到 Worker 节点:
  1. scp ~/.bashrc [email protected]:~/
  2. scp ~/.bashrc [email protected]:~/
复制代码
在 全部节点 实行:
  1. source ~/.bashrc
复制代码
3.3 设置 core-site.xml
  1. vim $HADOOP_HOME/etc/hadoop/core-site.xml
复制代码
Master 上设置:
  1. xml<configuration>
  2.     <property>
  3.         <name>fs.defaultFS</name>
  4.         <value>hdfs://192.168.1.100:9000</value>
  5.     </property>
  6. </configuration>
复制代码
分发到 Worker:
  1. scp $HADOOP_HOME/etc/hadoop/core-site.xml [email protected]:$HADOOP_HOME/etc/hadoop/
  2. scp $HADOOP_HOME/etc/hadoop/core-site.xml [email protected]:$HADOOP_HOME/etc/hadoop/
复制代码
3.4 设置 hdfs-site.xml
  1. vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml
复制代码
Master 设置:
  1. xml<configuration>
  2.     <property>
  3.         <name>dfs.replication</name>
  4.         <value>2</value>
  5.     </property>
  6. </configuration>
复制代码
分发到 Worker:
  1. scp $HADOOP_HOME/etc/hadoop/hdfs-site.xml [email protected]:$HADOOP_HOME/etc/hadoop/
  2. scp $HADOOP_HOME/etc/hadoop/hdfs-site.xml [email protected]:$HADOOP_HOME/etc/hadoop/
复制代码
3.5 设置 Yarn

Master 设置 yarn-site.xml:
  1. vim $HADOOP_HOME/etc/hadoop/yarn-site.xml
  2. xml<configuration>
  3.     <property>
  4.         <name>yarn.resourcemanager.hostname</name>
  5.         <value>192.168.1.100</value>
  6.     </property>
  7.     <property>
  8.         <name>yarn.nodemanager.aux-services</name>
  9.         <value>mapreduce_shuffle</value>
  10.     </property>
  11. </configuration>
复制代码
分发到 Worker:
  1. scp $HADOOP_HOME/etc/hadoop/yarn-site.xml [email protected]:$HADOOP_HOME/etc/hadoop/
  2. scp $HADOOP_HOME/etc/hadoop/yarn-site.xml [email protected]:$HADOOP_HOME/etc/hadoop/
复制代码
3.6 设置 slaves
  1. vim $HADOOP_HOME/etc/hadoop/slaves
复制代码
添加:
  1. 192.168.1.101
  2. 192.168.1.102
复制代码
3.7 启动 Hadoop
  1. hdfs namenode -format
  2. start-dfs.sh
  3. start-yarn.sh
复制代码
假如碰到“ERROR: JAVA_HOME is not set and could not be found”的报错信息,实行下面的语句:
  1. sudo vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
  2. export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
  3. #保存后将文件分发到Worker
  4. scp $HADOOP_HOME/etc/hadoop/hadoop-env.sh [email protected]:$HADOOP_HOME/etc/hadoop/
  5. scp $HADOOP_HOME/etc/hadoop/hadoop-env.sh [email protected]:$HADOOP_HOME/etc/hadoop/
复制代码
验证:
  1. jps
复制代码

4. 安装 Spark

4.1 在全部节点安装 Spark
  1. wget https://archive.apache.org/dist/spark/spark-3.4.1/spark-3.4.1-bin-hadoop3.tgz
  2. tar -xzf spark-3.4.1-bin-hadoop3.tgz
  3. sudo mv spark-3.4.1-bin-hadoop3 /usr/local/spark
复制代码
分发 Spark 到 Worker:
  1. scp -r /usr/local/spark [email protected]:/usr/local/
  2. scp -r /usr/local/spark [email protected]:/usr/local/
复制代码
4.2 设置 Spark

修改 spark-env.sh:
  1. vim $SPARK_HOME/conf/spark-env.sh
复制代码
添加:
  1. export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
  2. export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
  3. export SPARK_MASTER_HOST=192.168.1.100
复制代码
分发到 Worker:
  1. scp $SPARK_HOME/conf/spark-env.sh [email protected]:$SPARK_HOME/conf/
  2. scp $SPARK_HOME/conf/spark-env.sh [email protected]:$SPARK_HOME/conf/
复制代码

5. 启动 Spark 集群

在 Master 节点启动:
  1. start-history-server.sh
复制代码
在 Worker1、Worker2 上:
  1. start-slave.sh spark://192.168.1.100:7077
复制代码

6. 提交 Spark 作业
  1. spark-submit --class org.apache.spark.examples.SparkPi \
  2.     --master yarn \
  3.     --deploy-mode cluster \
  4.     $SPARK_HOME/examples/jars/spark-examples_2.12-3.4.1.jar 10
复制代码
访问 UI:

  • Hadoop ResourceManager UI: http://192.168.1.100:8088
  • Spark History Server UI: http://192.168.1.100:18080
    ###########################################################################################################
    本日保举
    小说:《灰烬天下》
    简介:无女主,东方克苏鲁,无体系,不无敌,怪诞美学,非规则怪谈,科技修真) 老爷子说过,有道行的人大概妖怪邪祟,他们死后会化作一捧灰,被称之为秽灰。 秽灰里蕴藏着他们毕生能量,食之,便可添命灯,增寿命。 假如放任不管,便为秽土转生! 不外有一种破例,他们从秽灰里生长出来,长着人的容貌,却不是人的头脑。 他们主张无神论,想颠覆凡间,想扳倒众神,他们把器物拆解,拼装,组合,造物,打造出没有聪明的生命,供他们奴役。(又名怪诞修仙学)

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表