spark新手入门安装+小练习

解压安装包到指定位置

tar -zxvf spark-1.5.2-bin-hadoop2.6.tgz -C /usr/local

进入到Spark安装目录

cd /usr/local/spark-1.5.2-bin-hadoop2.6

进入conf目录并重命名并修改spark-env.sh.template文件

cd conf/

mv spark-env.sh.template spark-env.sh

vi spark-env.sh

在该配置文件中添加如下配置

export JAVA_HOME=/usr/java/jdk1.7.0_45

export SPARK_MASTER_IP=master

export SPARK_MASTER_PORT=7077

保存退出

重命名并修改slaves.template文件

mv slaves.template slaves

vi slaves

在该文件中添加子节点所在的位置(Worker节点

node1

node2

保存退出

将配置好的Spark拷贝到其他节点上

scp -r spark-1.5.2-bin-hadoop2.6/ node2.bw.cn:/usr/local/

scp -r spark-1.5.2-bin-hadoop2.6/ node3.bw.cn:/usr/local/

Spark集群配置完毕目前是1Master,2Work,node1.bw.cn上启动Spark集群

sbin下启动命令: ./start-all.sh --master spark://kaoshi1:7077 --total-executor 1

启动后执行jps命令主节点上有Master进程其他子节点上有Work进行登录Spark管理界面查看集群状态主节点):http://node1.bw.cnIP:8080/


启动spark shell

/usr/local/spark/bin/spark-shell \
--master spark://kaoshi1:7077 \
--executor-memory 512m \
--total-executor-cores 1

参数说明

--master spark://kaoshi1:7077 指定Master的地址

--executor-memory 2g 指定每个worker可用内存为2G

--total-executor-cores 2 指定整个集群使用的cup核数为2

注意

如果启动spark shell时没有指定master地址但是也可以正常启动spark shell和执行spark shell中的程序其实是启动了sparklocal模式该模式仅在本机启动一个进程没有与集群建立联系

Spark Shell中已经默认将SparkContext类初始化为对象sc。用户代码如果需要用到则直接应用sc即可

小练习

在sparck shell 中编写wordcount程序

1.首先启动hdfs

2.hdfs上传一个文件到hdfs://node1.bw.cn:9000/words.txt

3.spark shell中用scala语言编写spark程序  把统计的结果再次放到hdfs

sc.textFile("hdfs://node1.bw.cn:9000/words.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("hdfs://node1.bw.cn:9000/out")

下面这种是把结果输出到控制台


4.使用hdfs命令查看结果

hdfs dfs -ls hdfs://node1.bw.cn:9000/out/p*



说明

scSparkContext对象该对象时提交spark程序的入口

textFile(hdfs://node1.bw.cn:9000/words.txt)hdfs中读取数据

flatMap(_.split(" "))map在压平

map((_,1))将单词和1构成元组

reduceByKey(_+_)按照key进行reduce,并将value累加

saveAsTextFile("hdfs://node1.bw.cn:9000/out") 将结果写入到hdfs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值