如何搭建spark yarn模式的集群

Spark YARN 模式集群搭建指南​
一、环境准备​
硬件准备:准备多台服务器作为集群节点,至少包含 1 个主节点(Master Node)和多个工作节点(Worker Node)。各节点的硬件配置根据实际业务需求而定,例如每台节点建议配备 8GB 以上内存、多核心 CPU 以及足够的磁盘空间。​
软件准备:确保所有节点安装相同版本的 Linux 操作系统(如 CentOS 7),并且各节点之间网络互通,可通过ping命令测试节点间的网络连接。同时,关闭所有节点的防火墙和 SELinux,避免网络通信受到限制。​

TypeScript
取消自动换行

复制
# 关闭防火墙​
systemctl stop firewalld​
systemctl disable firewalld​
# 关闭SELinux​
sed -i's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config​
setenforce 0​

时间同步:为保证集群各节点时间一致,所有节点需配置时间同步服务。可以使用 NTP(Network Time Protocol)进行时间同步,以阿里云 NTP 服务器为例,执行以下命令:​

TypeScript
取消自动换行

复制
yum install ntp -y​
vim /etc/ntp.conf​
# 在文件中添加以下内容​
server ntp.aliyun.com iburst​
# 重启NTP服务​
systemctl restart ntpd​
systemctl enable ntpd​

二、安装配置 JDK​
下载 JDK:从 Oracle 官网下载适合 Linux 系统的 JDK 安装包(如 JDK 1.8),将安装包上传至所有节点的指定目录(如/opt/software)。​
解压安装:在所有节点上执行以下命令解压 JDK 安装包:​

TypeScript
取消自动换行

复制
tar -zxvf jdk-8uxxx-linux-x64.tar.gz -C /opt/​

配置环境变量:在所有节点上编辑/etc/profile文件,添加以下内容:​

TypeScript
取消自动换行

复制
export JAVA_HOME=/opt/jdk1.8.0_xxx​
export PATH=$JAVA_HOME/bin:$PATH​
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar​

保存文件后,执行source /etc/profile使环境变量生效。​
4. 验证安装:在所有节点上执行java -version命令,若显示 JDK 版本信息,则说明 JDK 安装配置成功。​
三、安装配置 Hadoop​
下载 Hadoop:从 Apache 官网下载 Hadoop 安装包(如 Hadoop 3.3.4),将安装包上传至所有节点的/opt/software目录。​
解压安装:在所有节点上执行以下命令解压 Hadoop 安装包:​

TypeScript
取消自动换行

复制
tar -zxvf hadoop-3.3.4.tar.gz -C /opt/​

配置 Hadoop 环境变量:在所有节点上编辑/etc/profile文件,添加以下内容:​

TypeScript
取消自动换行

复制
export HADOOP_HOME=/opt/hadoop-3.3.4​
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH​

保存文件后,执行source /etc/profile使环境变量生效。​
4. 配置核心文件​
core-site.xml:在/opt/hadoop-3.3.4/etc/hadoop目录下编辑core-site.xml文件,添加以下内容:​

TypeScript
取消自动换行

复制
<configuration>​
    <property>​
        <name>fs.defaultFS</name>​
        <value>hdfs://master:9820</value>​
    </property>​
    <property>​
        <name>hadoop.tmp.dir</name>​
        <value>/opt/hadoop-3.3.4/tmp</value>​
    </property>​
</configuration>​

其中master为 HDFS 主节点主机名,可根据实际情况修改。​
hdfs-site.xml:在/opt/hadoop-3.3.4/etc/hadoop目录下编辑hdfs-site.xml文件,添加以下内容:​

TypeScript
取消自动换行

复制
<configuration>​
    <property>​
        <name>dfs.replication</name>​
        <value>2</value>​
    </property>​
</configuration>​

dfs.replication表示数据副本数,可根据集群节点数量调整。​
mapred-site.xml:在/opt/hadoop-3.3.4/etc/hadoop目录下编辑mapred-site.xml文件,添加以下内容:​

TypeScript
取消自动换行

复制
<configuration>​
    <property>​
        <name>mapreduce.framework.name</name>​
        <value>yarn</value>​
    </property>​
</configuration>​

yarn-site.xml:在/opt/hadoop-3.3.4/etc/hadoop目录下编辑yarn-site.xml文件,添加以下内容:​

TypeScript
取消自动换行

复制
<configuration>​
    <property>​
        <name>yarn.resourcemanager.hostname</name>​
        <value>master</value>​
    </property>​
    <property>​
        <name>yarn.nodemanager.aux-services</name>​
        <value>mapreduce_shuffle</value>​
    </property>​
</configuration>​

配置 SSH 免密登录:在主节点上执行以下命令生成 SSH 密钥对:​

TypeScript
取消自动换行

复制
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa​

将主节点的公钥复制到所有节点(包括主节点自身):​

TypeScript
取消自动换行

复制
ssh-copy-id master​
ssh-copy-id worker1​
ssh-copy-id worker2​
# 依次类推,将公钥复制到所有工作节点​

格式化 HDFS:在主节点上执行以下命令格式化 HDFS 文件系统:​

TypeScript
取消自动换行

复制
hdfs namenode -format​

启动 Hadoop 集群:在主节点上执行以下命令启动 Hadoop 集群:​

TypeScript
取消自动换行

复制
start-dfs.sh​
start-yarn.sh​

通过浏览器访问http://master:9870(HDFS 管理界面)和http://master:8088(YARN 管理界面),查看 Hadoop 集群运行状态。​
四、安装配置 Spark​
下载 Spark:从 Apache 官网下载适合 Hadoop 版本的 Spark 安装包(如 Spark 3.3.2-bin-hadoop3.3),将安装包上传至所有节点的/opt/software目录。​
解压安装:在所有节点上执行以下命令解压 Spark 安装包:​

TypeScript
取消自动换行

复制
tar -zxvf spark-3.3.2-bin-hadoop3.3.tgz -C /opt/​

配置 Spark 环境变量:在所有节点上编辑/etc/profile文件,添加以下内容:​

TypeScript
取消自动换行

复制
export SPARK_HOME=/opt/spark-3.3.2-bin-hadoop3.3​
export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH​

保存文件后,执行source /etc/profile使环境变量生效。​
4. 配置 Spark 文件​
spark-env.sh:在/opt/spark-3.3.2-bin-hadoop3.3/conf目录下复制spark-env.sh.template文件并重命名为spark-env.sh,编辑该文件,添加以下内容:​

TypeScript
取消自动换行

复制
export JAVA_HOME=/opt/jdk1.8.0_xxx​
export HADOOP_CONF_DIR=/opt/hadoop-3.3.4/etc/hadoop​
export SPARK_MASTER_IP=master​
export SPARK_WORKER_MEMORY=4g​

其中JAVA_HOME根据实际 JDK 安装路径修改,SPARK_WORKER_MEMORY可根据节点内存情况调整。​
slaves:在/opt/spark-3.3.2-bin-hadoop3.3/conf目录下复制slaves.template文件并重命名为slaves,编辑该文件,添加所有工作节点的主机名或 IP 地址,每行一个。​
启动 Spark 集群:在主节点上执行以下命令启动 Spark 集群:​

TypeScript
取消自动换行

复制
start-all.sh​

通过浏览器访问http://master:8080(Spark 管理界面),查看 Spark 集群运行状态。​
五、测试验证​
运行 Spark 示例程序:在主节点上执行以下命令,运行 Spark 自带的 WordCount 示例程序:​

TypeScript
取消自动换行

复制
spark-submit \​
--class org.apache.spark.examples.JavaWordCount \​
--master yarn \​
/opt/spark-3.3.2-bin-hadoop3.3/examples/jars/spark-examples_2.12-3.3.2.jar \​
hdfs://master:9820/user/hadoop/input.txt \​
hdfs://master:9820/user/hadoop/output​

其中input.txt为 HDFS 上的输入文件路径,output为输出文件路径。​
2. 查看运行结果:程序运行完成后,通过 HDFS 管理界面或命令行查看输出结果:​

TypeScript
取消自动换行

复制
hdfs dfs -cat hdfs://master:9820/user/hadoop/output/part-*.txt​

若能正确显示单词统计结果,则说明 Spark YARN 模式集群搭建成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值