感谢您打开这篇文章👍👍
体验第一个spark程序
一.先进入spark目录,然后执行如下命令:
$ bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://master:7077 \
--executor-memory 1G \
--total-executor-cores 1 \
examples/jars/spark-examples_2.11-2.3.2.jar \
10
(1)--master spark://master:7077:指定master地址是master节点
(2)--executor-memory 1G:指定每个executor可用内存为1GB
(3)--total-executor-cores 1:指定每个executor使用CPU核心数为1个
二.查看master地址页面应用执行完毕和Pi值被计算完毕
步骤3 在高可用模式提交任务时,可能涉及多个master,所以应用程序提交就发生变化,因为应用程序要知道当前master的IP地址和端口,解决这个问题,需在sparkContext指向一个master列表
$bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://master:7077,slave1:7077,slave2:7077 \
--executor-memory 1G \
--total-executor-cores 1 \
examples/jars/spark-examples_2.11-2.3.2.jar \
10
启动spark-shell
一.运行spark-shell命令
1.进入spark-shell交互式环境命令
$ bin/spark-shell --master
--master : 当前连接的master节点
: spark运行模式
master-url参数列表
参数名称
功能介绍
Local
使用一个worker线程本地化运行spark
Local[*]
本地运行spark,其工作线程数量与本机CPU逻辑核心数量相同
Local[N]
使用N个worker线程本地化运行spark
Spark://host:port
在standalone模式下,连接到指定spark集群,默认端口号是7077
Yarn-client
以客户端模式连接Yarn集群,集群的位置可以在HADOOP_CONF_DIR环境变量中配置
Yarn-cluster
以集群模式连接Yarn集群,集群的位置可以在HADOOP_CONF_DIR环境变量中配置
Mesos://host:port
连接到指定的mesos集群,默认端口是5050
二.运行spark-shell 读取hdfs文件
1.先启动spark集群或者启动hdfs集群,如果之前有开启,则需要重新关闭再开启spark集群或者启动hdfs集群
$ start-dfs.sh\start-all.sh
2.建一个文件words.txt,写入内容,然后创建2个目录,最后上传/spark/text/路径
$ vi words.txt
$ hadoop fs -mkdir -p /spark/test
$ hadoop fs -put words.txt /spark/test
问题及解决
遇到不能创建问题是因为分布式文件系统处于安全模式的情况
解决命令:
手动离开安全模式
$ Hadoop dfsadmin -safemode leave
三.整合spark和hdfs
1.修改spark-env.sh配置文件,添加HADOOP_CONF_DIR配置参数
$ vi spark-env.sh
export HADOOP_CONF_DIR=/opt/module/hadoop/etc/hadoop
2.因为只在master上修改,但它是spark集群,所以得分发到slave1和slave2
$ scp spark-env.sh slave1:/opt/module/spark/conf
$ scp spark-env.sh slave2:/opt/module/spark/conf
四.启动Hadoop、spark服务
1.启动Hadoop服务(未停止的,先停止在启动)
$ start-all.sh
2.在spark目录下启动spark服务(未停止的,先停止在启动)
$ sbin/start-all.sh
**$ jps # **查看
五.启动spark-shell编写程序
1.启动spark-shell交互命令
$ bin/spark-shell
2.编写Scala代码实现单词计数
sc.textFile(”/spark/test/words.txt”).flatMap(.split(” ”)).map((,1)).reduceByKey(+).collect
版权归原作者 发量不足 所有, 如有侵权,请联系我们删除。