spark standalone mode

本文介绍了如何在集群上安装并配置Apache Spark Standalone模式,包括手动启动集群的方法及连接应用程序到集群的具体步骤。此外,还提供了使用spark-shell及spark-submit提交应用程序的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.  Installing Spark Standalone to a Cluster
    To install Spark Standalone mode, you simply place a compiled version of Spark on each node on the cluster.

to visit the below blog:
http://blog.chinaunix.net/uid-29454152-id-5148300.html
http://blog.chinaunix.net/uid-29454152-id-5148347.html

2. Starting a Cluster Manually

    1)at master 

         command to start spark 
sudo ./sbin/start-master.sh
        spark://HOST:PORT can be find in webUI address :    http://localhost:8080   

    2)at worker

           command to connect master 
./bin/spark-class org.apache.spark.deploy.worker.Worker spark://IP:PORT

3. Connecting an Application to the Cluster

    command to start app in spark

sudo ./bin/spark-shell --master spark://IP:PORT --total-executor-cores <numCores>

4.submit jar

    mode:down at spark dir 

        ./bin/spark-submit --class path.to.your.class [options] <app jar>

    example:at standalone

        ./bin/spark-submit \
        --class my.main.classname \
        --master spark://127.0.0.1:7077
        --executor-memory 2G \
        --total-executor-cores 4 \
        /home/warrior/IdeaProjects/sparkTest/out/artifacts/sparkTest_jar/sparkTest.jar
        


### 配置和使用 Spark Standalone 模式 #### 安装 Spark Standalone 模式 要设置 Spark 的独立模式 (Standalone Mode),可以按照以下方式操作。首先,在集群中的每个节点上部署已编译好的 Spark 版本文件夹。可以通过官方发布的预构建版本或者自行编译来获得这些文件[^2]。 #### 启动集群 手动启动集群时,需要分别运行 `start-master.sh` 和 `start-slave.sh` 脚本来初始化 Master 和 Worker 进程。Master 是整个集群的核心管理器,而 Slave 则代表各个工作节点。通过指定 Master URL (`spark://<master-host>:7077`) 来让 Workers 注册到对应的 Master 上。 对于更复杂的环境配置,还可以利用脚本自动化批量分发并启动服务进程;此外也有图形界面监控工具可供查看当前系统的状态信息以及历史作业记录等数据[^3]。 #### 使用 Client 或 Cluster Deploy Modes 当提交应用程序至 Spark 独立集群执行时,有两种主要的部署模式可以选择——Client 模式与 Cluster 模式: - **Client 模式**: Driver 程序会在客户端本地运行,并连接远程服务器完成计算任务处理流程。这种方式适合调试阶段因为便于日志观察及错误排查等工作[^1]。 - **Cluster 模式**: 将 driver 移植到了 worker 节点内部去运作,从而使得 master 不再承担额外负载压力的同时提高了整体性能表现水平。不过由于缺乏直接交互能力所以通常用于生产环境中长期无人值守的任务调度场景下更为合适一些。 以下是简单的 Python API 示例代码展示如何向不同类型的 spark-submit 命令附加参数以适应上述两种情况之一的需求: ```python from pyspark.sql import SparkSession # 创建一个新的会话实例对象 spark = SparkSession.builder \ .appName("example") \ .getOrCreate() data = [("James", "", "Smith"), ("Anna", "Rose", ""), ("Mike", "John", "Williams")] columns = ["firstname", "middlename", "lastname"] df = spark.createDataFrame(data=data, schema=columns) df.show() ``` 如果采用的是 client 方式,则只需要简单调用如下命令即可: ```bash ./bin/spark-submit --class com.example.MainApp --deploy-mode client /path/to/jarfile.jar arg1 arg2 ... ``` 如果是 cluster 方法的话则需改成这样形式传递选项进去: ```bash ./bin/spark-submit --class com.example.MainApp --deploy-mode cluster --master spark://HOST:PORT hdfs:///path/to/jarfile.jar arg1 arg2 ... ``` 以上就是关于怎样设定好并且运用 Sparkstandalone mode 下的一些基本指导原则了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值