Spark集群环境搭建并测试
不在此处介绍spark了,直接上步骤, spark环境需要jdk 、Scala环境 、下载hadoop 和是spark,jdk的安装十分简单,下面介绍其他三个步骤。环境介绍三台虚拟机hadoop1192.168.46.129centos2ghadoop2192.168.46.128centos2ghadoop3192.168.46.130...
不在此处介绍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) 的信息。
至此测试完成 !!!
更多推荐
所有评论(0)