Centos下环境搭建spark环境

本文介绍如何在已安装Hadoop的基础上安装Scala和Spark,并详细说明了配置过程及环境变量设置。通过具体步骤指导读者完成从下载到启动Spark集群的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提:已安装Hadoop(至少安装了HDFS)
一、安装scala
下载scala-2.10.4.tgz 地址:http://www.scala-lang.org/download/2.10.4.html#Software_Requirements
下载好后,使用rz命令上传到/home/tools下后解压
tar -zxf scala-2.10.4.tgz -C ../softwares/
cd切换到softwares目录下,对scala-2.10.4进行重命名:mv scala-2.10.4 scala
配置环境变量:
vim /etc/profile
添加scala的路径:

export SCALA_HOME=/home/softwares/scala   
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$SCALA_HOME/bin

然后重新刷新一下profile文件:source /etc/profile
验证scala是不是安装成功:
这里写图片描述
则成功。
二、安装spark
下载spark-1.6.2-bin-hadoop2.6.tgz 地址:http://spark.apache.org/downloads.html
下载好后同样使用rz命令上传到/home/tools下后解压:tar -zxf spark-1.6.2-bin-hadoop2.6.tgz -C ../../softwares/ /
cd切换到softwares目录下,对sprk的解压文件重命名为spark
配置环境变量:

export SPARK_HOME=/home/softwares/spark
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$FINGBUGS_HOME/bin:$HADOOP_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin

修改配置文件:
1、修改spark下的conf下的文件:spark-env.sh
增加:

export  JAVA_HOME=/home/softwares/jdk
export  SCALA_HOME=/home/softwares/scala
export  SPARK_HOME=/home/softwares/spark
**export  SPARK_MASTER_IP=192.168.88.13(或者hostname)**
export  SPARK_MASTER_PORT=7077
export  SPARK_WORKER_CORES=1
export  SPARK_WORKER_INSTANCES=1
**export HADOOP_CONF_DIR=/home/softwares/hadoop/etc/hadoop   (hadoop的配置文件路径)**

2、修改spark-defaults.conf

 spark.master                     spark://hadoop:7077
 spark.network.timeout 500   #可不写,方式网络原因链接超时

3、修改hadoop下的etc/hadoop/slaves文件:直接增加:hadoop 即hostname或者ip
4、修改spark下的conf下的slaves文件:直接增加:hadoop 即hostname或者ip

以上配置文件均需要重命名:如slaves.template修改为slaves
然后启动spark:
sbin/start-all.sh
后再浏览器中输入:hadoop:8080
出现:
这里写图片描述
成功.
然后进入spark的shell命令:bin/spak-shell
这里写图片描述
启动之前确保hdfs已启动。
然后可以在spark-shell中执行spark操作:
这里写图片描述

<think>好的,我需要帮助用户在CentOS 7上搭建Spark运行环境,并且要兼容Hadoop。首先,我得回顾一下用户提供的引用内容,看看有哪些信息可以利用。引用[1]提到了Hadoop的安装目录是/usr/local/hadoop/,引用[2]列出了安装顺序,包括Java、Hadoop伪分布式、集群等步骤,建议先完成其他工具再配置集群。引用[3]提到了在Hadoop安装后需要格式化NameNode,引用[4]是关于CentOS7安装Spark在Hadoop伪分布下的步骤,提到环境变量生效后测试scala,还有jdk版本的问题。引用[5]涉及修改Spark目录权限和分发给slave节点。 用户的问题是如何在CentOS7上配置Spark环境,并确保与Hadoop兼容。根据这些引用,我需要整理出一个步骤清晰的教程。首先,确保Hadoop已经正确安装并配置好伪分布式或集群环境,因为Spark需要依赖Hadoop。然后安装Java,因为Hadoop和Spark都需要Java环境。接下来是安装Scala和sbt,可能还有Spark本身的安装步骤。需要注意环境变量的配置,比如JAVA_HOME、HADOOP_HOME等,以及Spark的配置文件如spark-env.sh。权限设置和文件分发到集群节点也是关键步骤,特别是如果用户搭建的是Spark集群的话。 需要确保步骤正确,比如先安装Java,再Hadoop,然后Spark,并验证各组件版本兼容性。例如,Spark的版本需要与Hadoop的版本匹配,可能需要查看官方文档确认兼容性。此外,Hadoop的配置文件如core-site.xml、hdfs-site.xml是否正确,HDFS是否已经初始化(格式化NameNode)并启动。引用[3]提到格式化NameNode,所以步骤中需要包括这一步。另外,引用[4]提到环境变量生效后测试scala,可能是在安装Scala后检查是否安装成功。 可能的遗漏点包括:防火墙设置、SSH免密登录配置(如果是在集群环境下)、各个服务的启动顺序,以及最后的测试步骤,比如运行Spark示例程序来验证安装是否成功。同时,引用[5]提到修改Spark目录权限为Hadoop用户,并分发给slave节点,这可能是在集群配置中的步骤,需要详细说明如何操作。 需要检查用户提供的引用中是否有具体的配置示例,比如spark-env.sh的配置内容,或者环境变量的设置。例如,引用[4]提到使用jdk1.8.0,可能需要指定JAVA_HOME路径。另外,Hadoop的配置文件路径是否正确,比如是否在/usr/local/hadoop/etc/hadoop目录下。 可能还需要考虑Spark的运行模式,比如是本地模式、standalone模式,还是基于Hadoop YARN的资源管理。用户的问题提到Hadoop兼容,所以可能需要配置Spark使用Hadoop的YARN或者HDFS。需要指导用户在Spark配置中指定Hadoop的配置文件路径,或者将Hadoop的配置文件如core-site.xml和hdfs-site.xml复制到Spark的配置目录中。 最后,生成相关问题时要围绕Spark环境搭建,可能的后续问题包括如何配置Spark集群、如何优化Spark性能、如何处理版本冲突等。</think>### CentOS 7 Spark 环境配置教程(兼容Hadoop) #### 1. **前置条件** - **系统要求**:CentOS 7 64位,已配置SSH免密登录(集群环境下需配置)[^2]。 - **依赖组件**:需先完成以下安装: - **Java JDK 1.8+**:Hadoop和Spark均依赖Java环境[^2][^4]。 - **Hadoop伪分布式/集群**:确保Hadoop已正确安装并启动(需完成NameNode格式化)[^3]。 #### 2. **安装Hadoop(若未完成)** ```bash # 参考Hadoop伪分布式配置步骤 cd /usr/local/hadoop/ bin/hdfs namenode -format # 初始化HDFS sbin/start-dfs.sh # 启动HDFS ``` #### 3. **安装Scala** ```bash # 下载Scala(以2.12.x版本为例) wget https://downloads.lightbend.com/scala/2.12.15/scala-2.12.15.tgz tar -zxvf scala-2.12.15.tgz -C /usr/local/ # 配置环境变量 echo 'export SCALA_HOME=/usr/local/scala-2.12.15' >> /etc/profile echo 'export PATH=$PATH:$SCALA_HOME/bin' >> /etc/profile source /etc/profile scala -version # 验证安装 ``` #### 4. **安装Spark** ```bash # 下载Spark(选择与Hadoop兼容的版本,如Spark 3.1.3 + Hadoop 3.2) wget https://archive.apache.org/dist/spark/spark-3.1.3/spark-3.1.3-bin-hadoop3.2.tgz tar -zxvf spark-3.1.3-bin-hadoop3.2.tgz -C /usr/local/ mv /usr/local/spark-3.1.3-bin-hadoop3.2 /usr/local/spark # 配置环境变量 echo 'export SPARK_HOME=/usr/local/spark' >> /etc/profile echo 'export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin' >> /etc/profile source /etc/profile ``` #### 5. **配置Spark兼容Hadoop** - **修改`spark-env.sh`**: ```bash cd /usr/local/spark/conf cp spark-env.sh.template spark-env.sh echo 'export JAVA_HOME=/usr/local/jdk1.8.0' >> spark-env.sh # 替换为实际JDK路径 echo 'export HADOOP_HOME=/usr/local/hadoop' >> spark-env.sh # Hadoop安装路径[^1] echo 'export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop' >> spark-env.sh ``` - **分发配置到集群节点(若为集群模式)**: ```bash scp -r /usr/local/spark hadoop@slave1:/usr/local/ # 替换为实际节点IP chown -R hadoop:hadoop /usr/local/spark # 修改权限[^5] ``` #### 6. **验证Spark安装** ```bash # 启动Spark Shell spark-shell # 执行测试代码 val data = Array(1, 2, 3) val rdd = sc.parallelize(data) rdd.sum() # 应输出6 ``` #### 7. **运行Spark任务(基于HDFS)** ```bash # 上传文件到HDFS hdfs dfs -put /path/to/local/file /user/hadoop/input # 提交Spark任务 spark-submit --class org.apache.spark.examples.SparkPi \ --master yarn \ $SPARK_HOME/examples/jars/spark-examples_2.12-3.1.3.jar ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值