Spark集群环境搭建并测试

本文详细介绍了在三台虚拟机上搭建Spark环境的过程,包括Scala、Hadoop和Spark的下载与配置,以及如何通过WordCount测试验证环境配置的正确性。

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

不在此处介绍spark了,直接上步骤, spark环境需要jdk 、Scala环境 、下载hadoop 和是spark,jdk的安装十分简单,下面介绍其他三个步骤。

环境介绍

三台虚拟机
hadoop1  192.168.46.129   centos    2g
hadoop2  192.168.46.128   centos    2g
hadoop3  192.168.46.130   centos    2g

一、环境搭建

  1.1 scala下载

            spark是有scala编写的,Scala下载地址:https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz

             解压至指定文件夹

   1.2 hadoop下载

             spark与hadoop有很多关联,最常用的是用到里面的hdfs。hadoop下载地 址:  https://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz

        解压后进入配置文件目录   cd /etc/hadoop

          配置mapred-site.xml

          #cp mapred-site.xml.template  mapred-site.xml

          修改如下

<configuration>

<property>

 <name>mapreduce.framework.name</name>

<value>yarn</value>

</property>



<property>

<name>mapreduce.jobhistory.address</name>

<value>master.hadoop1:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>master.hadoop1:19888</value>

</property>
</configuration>

    编辑hdfs-site.xml

   

<configuration>
<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop-2.6.5/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop-2.6.5/hdfs/data</value>
</property>
</configuration>

注意文件目录位置,没有的话自行创建

编辑core-site.xml

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/bigdata/hadoop-2.6.5/tmp</value>
<description>Abase for other temporary directories</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9000</value>
</property>
</configuration>

1.3 spark下载

   下载地址:http://mirror.bit.edu.cn/apache/spark/spark-2.3.1/spark-2.3.1-bin-hadoop2.6.tgz 

 进入配置文件conf,将spark-env.sh.template 和slaves.template各复制一份

编辑saprk-env.sh

export LD_LIBRARY_PATH=${HADOOP_HOME}/lib/native
export JAVA_HOME=/usr/local/jdk1.8.0_181
export SPARK_MASTER_IP=192.168.46.129

编辑slaves

192.168.46.129
192.168.46.128
192.168.46.130

 

 

三个环境配置完成,添加环境变量,请根据个人的目录配置

export JAVA_HOME=/usr/local/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/usr/local/bigdata/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export SCALA_HOME=/usr/local/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin

完成后可以通过  scala  命令验证scala是否添加好。

 

二、测试环境是否配置好

此处通过在spark-shell中执行一个简单的wordcount来测试环境

首先启动hdfs 

#进入hadoop目录,执行下面命令
#hdfs初始化
#bin/hdfs namenode -format
#sbin/start-dfs.sh
#创建hdfs目录并上传一个本地文件
#bin/hdfs dfs -mkdir /input
#bin/hdfs dfs -put test.txt /input    test.txt为当前目录下创建的一个文件 并随意写入几个单词

进入spark目录,进行测试

执行 

#sbin/start-all.sh

#bin/spark-shell 

进入交互界面


scala> val file=sc.textFile("hdfs://192.168.46.129:9000/input/test.txt")
file: org.apache.spark.rdd.RDD[String] = hdfs://192.168.46.129:9000/input/test.txt MapPartitionsRDD[1] at textFile at <console>:24

scala> val count=file.flatMap(line => line.split(" ")).map(word => (word,1)).reduceByKey(_+_)
count: org.apache.spark.rdd.RDD[(String, Int)] = ShuffledRDD[4] at reduceByKey at <console>:25

scala> count.collect()
res0: Array[(String, Int)] = Array((is,1), (tom,2), (hello,3))

执行以上几个命令,可以看到最后输出了(is,1), (tom,2), (hello,3) 的信息。

至此测试完成 !!!

搭建Spark集群环境是一个涉及多个步骤的过程,主要目的是为Spark应用提供一个可靠的计算资源池。以下是搭建Spark集群环境的基本步骤: 1. 系统准备:首先确保集群中的所有机器都安装了合适的Linux操作系统(如CentOS或Ubuntu),并且进行了必要的系统配置优化,比如网络设置、主机名配置、关闭防火墙和SELinux等。 2. 安装Java:由于Spark需要Java运行环境,因此集群中的每台机器都需要安装Java。可以选择安装Oracle JDK或者OpenJDK,并设置JAVA_HOME环境变量。 3. 安装Scala(可选):虽然Spark可以使用内置的Scala版本,但是有时为了版本匹配或者使用特定的Scala特性,可能需要单独安装Scala。 4. 安装Spark:下载Spark的预编译包,解压到所有机器的相同目录下,并设置SPARK_HOME环境变量指向该目录。 5. 配置环境变量:设置SPARK_HOME、PATH等环境变量,以便在集群中的任何地方运行Spark命令。 6. 配置Spark:编辑conf目录下的spark-env.sh文件(可能需要创建),设置相关环境变量,比如SPARK_WORKER_CORES、SPARK_WORKER_MEMORY、SPARK_MASTER_HOST等。 7. 启动集群:使用sbt或Maven等构建工具编译你的Spark应用程序。然后,通过bin目录下的spark-submit脚本提交你的应用程序到集群上运行。 8. 监控和管理:可以使用Spark自带的Web UI来监控作业的运行状态,或者集成更复杂的监控系统,如Ganglia、Nagios等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值