Spark 启动方式

1spark 提交任务方式


1)、spark on yarn

$ ./bin/spark-submit--class org.apache.spark.examples.SparkPi \

    --master yarn-cluster \

    --num-executors 3 \

    --driver-memory 4g \

    --executor-memory 2g \

    --executor-cores 1 \

    --queue thequeue \

    lib/spark-examples*.jar \

    10

 

2)、spark on yarn提交任务时:在yarn-cluster的集群模式,驱动程序运行在不同的机器比客户端,所以sparkcontext.addjar不会解决的是客户端的本地文件盒。在可sparkcontext.addjar客户端文件,包括他们的——jars选项在启动命令。

$ ./bin/spark-submit--class my.main.Class \

    --master yarn-cluster \

    --jarsmy-other-jar.jar,my-other-other-jar.jar

    my-main-jar.jar

    app_arg1 app_arg2

 

测试spark自带的Pi程序,

./bin/spark-submit--class org.apache.spark.examples.SparkPi \

--master yarn-cluster\

--num-executors 1 \

--driver-memory 1g \

--executor-memory 1g \

--executor-cores 1 \

lib/spark-examples*.jar\

 

3)、spark-submit

spark-submit测试PI

Sparkbin子目录中的spark-submit脚本是用于提交程序到集群中运行的工具,我们使用此工具做一个关于pi的计算。命令如下:

./bin/spark-submit --master spark://spark113:7077 \ 

--class org.apache.spark.examples.SparkPi \  --name Spark-Pi --executor-memory 400M \  --driver-memory 512M \  

/home/hadoop/spark-1.0.0/examples/target/scala-2.10/spark-examples-1.0.0-hadoop2.0.0-cdh4.5.0.jar    

 

spark-submit 测试:

/home/hadoop/spark/spark-1.3.0-bin-hadoop2.4/bin/spark-submit\

--classorg.apache.spark.examples.SparkPi \

--masterspark://192.168.6.71:7077 \

--executor-memory100m \

--executor-cores 1 \

1000

 

4)、以集群的模式启动spark-shell

./spark-shell  --master spark://hadoop1:7077 --executor-memory  500m


 

2Spark 启动方式:

1)、本地模式启动spark./spark-shell  --master local[2]        注意:可以指定多个线程

2)、集群模式启动spark

[hadoop@hadoop1 spark-1.3.0-bin-hadoop2.4]$ ./bin/spark-shell --masterspark://hadoop1:7077 --executor-memory500m    注意:此启动方式指定了spark-shell 运行时暂用的每个机器上executor 的内存为500m

spark-shell --masteryarn-client --driver-memory 10g --num-executors 20 --executor-memory 20g--executor-cores 3 --queue spark

 

3)、在Python解释器中启动spark bin/pyspark--master local[3]

4)、R语言的解释器中启动spark bin/sparkR --master local[2]

5)、yarn的方式启动spark  yarn集群启动spark$ ./bin/spark-shell --master yarn-cluster  

                                                             yarn客户端启动spark$ ./bin/spark-shell --masteryarn-client

spark-sql --masteryarn-client --driver-memory 10g --num-executors 20 --executor-memory 20g--executor-cores 3 --queue spark

spark-sql --masterspark://master:7077 --driver-memory 10g --executor-memory 20g --driver-cores 3 

### 如何启动 Spark 或解决 Spark 启动失败的问题 #### 1. 正常启动 Worker 节点的方法 当一个 Worker 节点启动失败时,可以通过对比正常运行的节点来排查问题。具体操作是在正常的 Worker 节点上查看日志文件,分析其启动命令以及参数设置是否正确。例如,在正常工作的节点上可以找到以下启动命令的日志记录: ```bash Spark Command: /opt/java8/bin/java ... ``` 这表明 Java 环境路径可能是一个重要的因素[^1]。 #### 2. 版本兼容性问题 如果在执行 `spark-shell` 或者提交作业时遇到失败,可能是由于版本不匹配引起的。对于某些环境中,默认安装的是 Spark 的旧版或者未指定特定版本的情况下,可能会导致指令无法识别。因此建议确认当前使用的 Spark 是哪个版本并调整相应的命令前缀。比如如果是 Spark2,则应使用如下形式调用工具: ```bash [root@cdh0 ~]# spark2-shell [root@cdh0 wordcount]# spark2-submit --class "SimpleApp" /home/spark/mycode/wordcount/target/scala-2.11/simple-project_2.11-1.0.jar ``` 这样能够有效避免因默认加载错误版本而引发的一系列异常情况[^2]。 #### 3. IP 地址变更后的重新配置 当虚拟机迁移或网络发生变化致使IP地址被修改之后,原有的 Spark 配置将不再适用,从而影响到整个集群的服务状态。此时需要进入 `/conf` 文件夹下编辑对应的环境变量定义脚本(通常命名为 `spark-env.sh`),确保其中涉及主机名的部分与实际相符。另外还需注意检查是否有其他地方硬编码了老的 IP 数据[^3]。 #### 4. 日志目录权限不足或其他基础设施层面障碍 有时即使完成了以上步骤仍然会遭遇诸如找不到目标文件之类的报错消息,像下面这样的例子就反映了这一点: ```plaintext mv: cannot move '/path/to/logfile' to '/another/path': No such file or directory. ``` 这类现象往往源于两方面原因:一是日志存储位置本身存在问题;二是负责处理这些资源的应用程序未能成功初始化。针对前者可通过手动创建缺失的目标文件夹结构加以修复;至于后者则需仔细核查 Slave 列表(`slaves`)里所列成员名称及其关联关系是否准确无误[^4]。 最后附带一段简单的 Python 测试代码用于验证基本功能连通状况: ```python from pyspark import SparkContext, SparkConf if __name__ == "__main__": conf = SparkConf().setAppName("TestConnection").setMaster("local[*]") sc = SparkContext(conf=conf) data = range(1, 6) rdd = sc.parallelize(data).map(lambda x:x*x) result = rdd.collect() print(result) sc.stop() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值