赞
踩
利用 Spark 自带的例子程序执行一个求 PI(蒙特卡洛算法)的程序:
- $SPARK_HOME/bin/spark-submit \
- --class org.apache.spark.examples.SparkPi \
- --master spark://hadoop02:7077 \
- --executor-memory 512m \
- --total-executor-cores 2 \
- $SPARK_HOME/examples/jars/spark-examples_2.11-2.3.0.jar \
- 100
启动命令:
- $SPARK_HOME/bin/spark-shell \
- --master spark://hadoop02:7077,hadoop04:7077 \
- --executor-memory 512M \
- --total-executor-cores 2
注意上图中的 cores 参数,是 0,那么以后这个 spark shell 中运行的代码是不能执行成功的。
千万注意。必要要把 cpu cores 和 memory 设置合理
1、 executor memory 不能超过虚拟机的内存
2、 cpu cores 不要超过 spark 集群能够提供的总 cpu cores,否则会使用全部。最好不要使用 全部。否则其他程序由于没有 cpu core 可用,就不能正常运行
参数说明:
--master spark://hadoop02:7077 指定 Master 的地址
--executor-memory 2G 指定每个 worker 可用内存为 2G
--total-executor-cores 2 指定整个集群使用的 cup 核数为 2 个
注意: 如果启动 spark shell 时没有指定 master 地址,但是也可以正常启动 spark shell 和执行 spark shell 中的程序,其实是启动了 spark 的 local 模式,该模式仅在本机启动一个进程,没有与 集群建立联系。
Spark-2.X:
Spark Shell 中已经默认将 SparkContext 类初始化为对象 sc。 Spark Shell 中已经默认将 SparkSession 类初始化为对象 spark。 用户代码如果需要用到,则直接应用 sc,spark 即可
Spark-1.X:
Spark Shell 中已经默认将 SparkContext 类初始化为对象 sc。 Spark Shell 中已经默认将 SQLContext 类初始化为对象 sqlContext。 用户代码如果需要用到,则直接应用 sc,sqlContext 即可
在提交 WordCount 程序之前,先在 HDFS 集群中的准备一个文件用于做单词统计:
words.txt 内容如下:
- hello huangbo
- hello xuzheng
- hello wangbaoqiang
把该文件上传到 HDFS 文件系统中:
[hadoop@hadoop05 ~]$
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。