spark集群搭建与集群上运行wordcount程序

Spark 配置

1、master 机器

Spark 配置

进入 Spark 安装目录下的 conf 目录, 拷贝 spark-env.sh.template 到 spark-env.sh。

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

编辑 spark-env.sh,在其中添加以下配置信息:

 

export SCALA_HOME=/opt/scala-2.11.8
export JAVA_HOME=/opt/java/jdk1.7.0_80
export SPARK_MASTER_IP=192.168.109.137
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/opt/hadoop-2.6.4/etc/hadoop


JAVA_HOME 指定 Java 安装目录; 
SCALA_HOME 指定 Scala 安装目录; 
SPARK_MASTER_IP 指定 Spark 集群 Master 节点的 IP 地址; 
SPARK_WORKER_MEMORY 指定的是 Worker 节点能够分配给 Executors 的最大内存大小; 
HADOOP_CONF_DIR 指定 Hadoop 集群配置文件目录。 

将 slaves.template 拷贝到 slaves, 编辑其内容为:

 

1
2
3
master
slave01
slave02

即 master 既是 Master 节点又是 Worker 节点。

2、slave机器

slave01 和 slave02 参照 master 机器安装步骤进行安装。

启动 Spark 集群

1、启动 Hadoop 集群

此处不再详细介绍,可以参考hadoop集群搭建

2、启动 Spark 集群

(1) 启动  Master 节点

运行 start-master.sh,结果如下:

可以看到 master 上多了一个新进程 Master。


(2) 启动所有 Worker 节点

运行 start-slaves.sh, 运行结果如下:


在 master、slave01 和 slave02 上使用 jps 命令,可以发现都启动了一个 Worker 进程


(3) 浏览器查看 Spark 集群信息。

地址      master:8080

3、停止 Spark 集群

1、停止 Master 节点

运行 stop-master.sh 来停止 Master 节点。


使用 jps 命令查看当前 java 进程

可以发现 Master 进程已经停止。


2、停止 Worker 节点

运行 stop-slaves.sh 可以停止所有的 Worker 节点


使用 jps 命令查看 master、slave01、slave02 上的进程信息:

可以看到, Worker 进程均已停止,最后再停止 Hadoop 集群。




PS:贴python版wordcount程序
import logging
import time
from operator import add

from pyspark import SparkContext,SparkConf
conf=SparkConf()
conf.setMaster("spark://ckx:7077")
conf.setAppName("test application7")



test_file_name = "hdfs://ckx:9000/user/hadoop/test/kk.txt"
out_file_name = "hdfs://ckx:9000/user/hadoop/spark-out9"
starttime=time.time()
# Word Count  
sc=SparkContext(conf=conf)
# text_file rdd object  
text_file = sc.textFile(test_file_name)
# counts  
counts = text_file.flatMap(lambda line: line.split(" ")).map(lambda word: (word, 1)).reduceByKey(lambda a, b: a + b)
counts.saveAsTextFile(out_file_name)
endtime=time.time()
print(endtime-starttime)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值