spark安装配置及其spark shell练习

1、下载spark压缩包,在虚拟机上解压安装

2、配置

     在conf中复制spark-env.sh.template并重命名为spark-env.sh

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

文件中添加如下配置:

export JAVA_HOME=/root/apps/jdk1.8.0_201
#export SPARK_MASTER_HOST=hdp-1
#export SPARK_MASTER_PORT=7077
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hdp-1,hdp-2,hdp-3 -Dspark.deploy.zookeeper.dir=/spark"
export SPARK_WORKER_CORES=6
export SPARK_WORKER_MEMORY=8g
export SPARK_LOCAL_IP="192.168.234.129"
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

配置ha时需把上面两行注掉,不然其他机器启动master会失败

修改slaves在文件最后添加其他主机名:

hdp-2
hdp-3
hdp-4

启动spark(启动之前必须开启hdfs、zookeeper、yarn):

启动成功之后各个机器会有相应的master、worker节点

3、启动spark shell

[root@hdp-1 bin]# ./spark-shell --master spark://hdp-1:7077 --executor-memory 500m --total-executor-cores 1

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

--executor-memory 500m:指定每个worker可用内存为500m

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

4、在spark shell中编写一个简单wordcount程序

①先编写一个fengrui.txt文件并上传到hdfs中

在spark shell中用scala语言编写spark程序

scala> sc.textFile("hdfs://hdp-1:9000/spark/ScalaHelloWord.txt").flatMap(_.split(",")).map((_,1)).reduceByKey(_+_).saveAsTextFile("hdfs://hdp-1:9000/spark/helloword_out")

说明:

sc是SparkContext对象,该对象是提交spark程序的入口

textFile("hdfs://hdp-1:9000/spark/ScalaHelloWord.txt")是hdfs中读取数据

flatMap(_.split(" "))先map再压平

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

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

saveAsTextFile("hdfs://hdp-1:9000/spark/helloword_out")将结果写入到hdfs中

③查询

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值