Spark安装配置
安装配置java
Spark 本身是用Scala 写的,运行在Java 虚拟机(JVM)上。要在你的电脑或集群上运行Spark,你要做的准备工作只是安装Java 6 或者更新的版本。
安装配置hadoop
其次需要安装Hadoop,因为Spark需要HDFS(非必要)。
安装Hadoop可以查看我之前的文章,https://blog.csdn.net/No_Game_No_Life_/article/details/87969819以及https://blog.csdn.net/No_Game_No_Life_/article/details/87969819
安装配置scala
下载Scala2.11
wget https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
tar -zxvf
vi /etc/profile
export SCALA_HOME=/root/scala/
export PATH=$SCALA_HOME/bin:$PATH
source /etc/profile
检测是否安装成功:scala -version
安装配置spark
由于我安装的hadoop是2.7版本以上的,所以我的下载是:
wget https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.4.0/spark-2.4.0-bin-hadoop2.7.tgz
tar -zxvf ...
修改相应的配置文件:
(1)/etc/profie
#Spark enviroment
export SPARK_HOME=/root/spark/
export PATH="$SPARK_HOME/bin:$PATH"
(2)$SPARK_HOME/conf/spark-env.sh
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
#配置内容如下:
export SCALA_HOME=/root/scala
export JAVA_HOME=/root/java
export SPARK_MASTER_IP=master
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/root/hadoop/etc/hadoop
3)$SPARK_HOME/conf/slaves
cp slaves.template slaves
master
slave
(4)$SPARK_HOME/sbin
./start-all.sh
验证是否成功
- 启动hadoop
- 启动spark
- 完成一次hadoop mapreduce
测试的源文件的内容为:
Hello hadoop
hello spark
hello bigdata
然后执行下列命令:
hadoop fs -mkdir -p /Hadoop/Input
hadoop fs -put wordcount.txt /Hadoop/Input
hadoop jar /opt/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /Hadoop/Input /Hadoop/Output
等待mapreduce执行完毕后,查看结果;
hadoop fs -cat /Hadoop/Output/*
hadoop集群搭建成功!
- 测试spark
为了避免麻烦这里我们使用spark-shell,做一个简单的worcount的测试
用于在测试hadoop的时候我们已经在hdfs上存储了测试的源文件,下面就是直接拿来用就好了!
spark-shell
我们运行到这里的时候,服务器内存不够了,使用free -m
查看内存
使用ps aux
查看占用内存多的进程
使用echo 3 > /proc/sys/vm/drop_caches
清理缓存
使用kill -9 进程号
清理进程
val file=sc.textFile("hdfs://master:9000/Hadoop/Input/wordcount.txt")
val rdd = file.flatMap(line => line.split(" ")).map(word => (word,1)).reduceByKey(_+_)
rdd.collect()
rdd.foreach(println)
退出的话使用如下命令:
:quit