Spark学习笔记之-Spark Standalone(环境搭建)

Spark standalone分为master和worker,具体启动方法可用手动启动或脚本启动集群。
官方参考手册: http://spark.apache.org/docs/1.4.0/spark-standalone.html

1、手动启动可以参考 :  http://www.th7.cn/Program/java/201309/148408.shtml
2、启动脚本方式:
可以通过 SPARK_HOME目录下命令来启动:
sbin/start-master.sh-在机器上执行脚本,启动 master .
sbin/start-slaves.sh- 启动conf/slaves中指定的每一个 slave .
sbin/start-all.sh - 同时启动master 以及 上面所说文件中指定的slave
sbin/stop-master.sh- 停止通过bin/start-master.sh脚本启动的master
sbin/stop-slaves.sh- 停止通过bin/start-slaves.sh启动的 slave .
sbin/stop-all.sh - 停止上述的两种启动脚本启动的master和slave

具体步骤:1.编辑conf下slaves文件,添加想要启动的worker的hostname。如下:
Sparker-worker-1  //每个hostname占一行
Sparker-worker-2
Sparker-worker-3
Sparker-worker-4
                            2.确保master机可以通过ssh无密码链接到每个workers机器上。
                            3.配置spark-env.sh来设置环境变量,下面是一些常用变量
SPARK_MASTER_IP  绑定一个外部IP给master. // 如SPARK_MASTER_IP   Sparker-worker-1   这样设置
SPARK_MASTER_PORT 从另外一个端口启动master(默认: 7077)
SPARK_MASTER_WEBUI_PORT Master的web UI端口 (默认: 8080)
SPARK_WORKER_PORT 启动Spark worker 的专用端口(默认:随机)
SPARK_WORKER_DIR 伸缩空间和日志输入的目录路径(默认: SPARK_HOME/work);
SPARK_WORKER_CORES 作业可用的CPU内核数量(默认: 所有可用的);
SPARK_WORKER_MEMORY 作业可使用的内存容量,默认格式1000M或者 2G (默认:  所有RAM去掉给操作系统用的1 GB);注意:每个作业自己的内存空间由SPARK_MEM决定。
SPARK_WORKER_WEBUI_PORT worker 的web UI 启动端口(默认: 8081)
SPARK_WORKER_INSTANCES 每台机器上运行worker数量 (默认: 1). 当你有一个非常强大的计算机的时候和需要多个Spark worker进程的时候你可以修改这个默认值大于1 . 如果你设置了这个值。要确保SPARK_WORKER_CORE 明确限制每一个r worker的核心数, 否则每个worker 将尝试使用所有的核心
SPARK_DAEMON_MEMORY 分配给Spark master和 worker 守护进程的内存空间 (默认: 512m)
SPARK_DAEMON_JAVA_OPTS Spark master 和 worker守护进程的JVM 选项(默认: none)

Standalone模式集群部署完毕可以使用脚本start-all.sh/stop-all.sh来启用/停止spark集群,然后就可以启动spark应用程序了。

3.spark应用启动有两种方式,client和cluster,可以在执行spark-submit时指定 --deploy-mode cluster或者client(默认)
一些常用的选项是:
    • --class:你的应用程序的入口点(如org.apache.spark.examples.SparkPi)
    • --master:集群的master URL(如spark://Sparker-worker-1:7077)
    • --deploy-mode:在worker节点部署你的driver(cluster)或者本地作为外部客户端(client)。默认是client。
    • --conf:任意的Spark配置属性,格式是key=value。
    • application-jar:包含应用程序以及其依赖的jar包的路径。这个URL必须在集群中全局可见,例如,存在于所有节点的hdfs://路径或file://路径
    • application-arguments:传递给主类的主方法的参数






你可能感兴趣的:(Spark学习笔记之-Spark Standalone(环境搭建))