1.环境准备
1)三台CentOS-7-x86_64虚拟机,hadoop-2.7.2,spark-2.1.1
相应安装包请自行前往对应官网下载。
2.在/etc/profile添加环境变量
export SPARK_HOME=/opt/module/spark-2.1.1 export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
生效文件配置:source /etc/profile
3.修改conf/spark-env.sh添加:
1 export JAVA_HOME=/opt/module/jdk #JDK安装路径 2 export HADOOP_CONF_DIR=/opt/module/hadoop/etc/hadoop #指定hadoop的配置文件目录 3 export SPARK_HOME=/opt/module/spark #spark安装路径 4 export SPARK_LOG_DIR=/opt/module/spark/logs 5 export SPARK_PID_DIR=/opt/module/spark/pid 6 export SPARK_MASTER_IP=.......... #主节点的IP地址 7 export SPARK_MASTER_PORT=7077 #端口号 8 export SPARK_WORKER_MEMORY=2G #分配内存大小,作业可使用的内存容量,注意内存设置必须是整数 9 export SPARK_WORKER_CORES=2 #cpu个数 10 export SPARK_WORKER_INSTANCES=1 #每个节点worker进程数 11 export SPARK_EXECUTOR_MEMORY=512 #每个执行器的内存 12 export SPARK_EXECUTOR_CORES=2 #执行器的核数
4.向conf/slaves添加WorkNode主机名,一列配置一个
备注:其他的Slave机都需要配置park-env.sh文件和slaves
5.启动spark配置文件(三台虚拟机都要启动)
进入spark/sbin/目录执行:./start-all.sh 或 在spark目录下执行: sbin/start-all.sh
在其它Slave上查看
6.启动spark-shell
进入spark/sbin/目录执行:./spark-shell 或 在spark目录下执行: bin/spark
7.测试案列
1 val textFile=sc.textFile("file:///opt/module/spark-2.1.1/README.md") 2 textFile.count() 3 textFile.first() 4 val worldCount = textFile.flatMap(line=>line.split(" ")).map(world=>(world,1)).reduceByKey((a,b)=>a+b) 5 worldCount.collect()