搭建Spark开发环境

搭建spark开发环境(spark-2.1.2 + jdk1.8.0_171 + hadoop-2.7.3 + scala-2.11.8)

一、安装jdk(jdk1.8.0_171)

1、解压

	tar -zxvf 文件 -C 指定文件夹

2、添加到环境变量

	vim /etc/profile

	export JAVA_HOME=/root/home/myapp/java/jdk1.8.0_171
	export JRE_HOME=/root/home/myapp/java/jdk1.8.0_171/jre
	export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
	export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

3、刷新环境变量

	source /etc/profile

4、验证

	java -version

二、安装Scala(scala-2.11.8)

1、解压

	tar -zxvf 文件 -C 指定文件夹

2、添加到环境变量

	vim /etc/profile

	export SCALA_HOME=文件夹路径
	export PATH=$PATH:$SCALA_HOME/bin

3、刷新环境变量

	source /etc/profile

4、验证

	scala -version

三、搭建Hadoop完全分布环境(略,详见本人博客)

四、搭建Spark2.1.0完全分布式环境

1、解压

	tar -zxvf 文件 -C 指定文件夹

2、添加到环境变量

	vim /etc/profile

	export SPARK_HOME=/opt/spark-2.1.0-bin-hadoop2.7/
	export PATH=$PATH:$SPARK_HOME/bin

3、修改spring下的/conf里面的配置文件

(1) 复制spark-env.sh.template成spark-env.sh

		cp spark-env.sh.template spark-env.sh

修改$SPARK_HOME/conf/spark-env.sh

		export JAVA_HOME=/usr/java/jdk1.8.0_112/
		export HADOOP_HOME=/opt/hadoop-2.7.3
		export HADOOP_CONF_DIR=/opt/hadoop-2.7.3/etc/hadoop
		export SCALA_HOME=/usr/share/scala
		export SPARK_MASTER_IP=主节点
		export SPARK_WORKER_MEMORY=1g

(2) 复制slaves.template成slaves

	  	cp slaves.template slaves
	修改$SPARK_HOME/conf/slaves,添加如下内容:
		node1
		node2
		node3		

4、将配置好的spark文件复制到Slave1和Slave2节点。

	scp -r 源地址 node2:/目的地址

5、修改节点上的spark-env.sh、slaves的配置

6、在主节点(node1)启动集群。

/spark-2.1.2-bin-hadoop2.7/sbin/start-all.sh  (注意:在spark的sbin目录下要执行./start-all.sh)

7、查看集群是否启动成功:

jps

主节点在Hadoop的基础上新增了:
Master
从节点在Hadoop的基础上新增了:
Worker

五、测试hadoop集群

1、测试的源文件wc.txt的内容为:

Hello hadoop
hello spark
hello bigdata

2、然后执行下列命令:

	hadoop fs -mkdir -p /Hadoop/Input
	hadoop fs -put wc.txt /Hadoop/Input
	hadoop jar /hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /Hadoop/Input /Hadoop/Output

3、等待mapreduce执行完毕后,查看结果;

	hadoop fs -cat /Hadoop/Output/*

六、测试spark

为了避免麻烦这里我们使用spark-shell,做一个简单的worcount的测试,用于在测试hadoop的时候我们已经在hdfs上存储了测试的源文件,下面就是直接拿来用就好了!

	spark-shell (下面的每句都要回车一下)
	val file=sc.textFile("hdfs://node1:9000/wc/srcdata/words.txt")
	val rdd = file.flatMap(line => line.split(" ")).map(word => (word,1)).reduceByKey(_+_)
	rdd.collect()
	rdd.foreach(println)

退出的话使用如下命令:

:quit

Spark例子

	var rdd = sc.parallelize(List(1,2,3,4,5))

	val mappedRDD = rdd.map(2*_)

	mappedRDD.collect

	val filteredRDD = mappedRDD.filter(_ > 4)

	filteredRDD.collect

http://192.168.2.101:4040/

7.运行Spark程序命令

local单机模式(结果xshell可见)

./bin/spark-submit --class org.apache.spark.examples.SparkPi --master local[1] ./lib/spark-examples-1.3.1-hadoop2.4.0.jar 100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值