美文网首页
Spark Chapter 5 PySpark 运行模式

Spark Chapter 5 PySpark 运行模式

作者: 深海suke | 来源:发表于2019-08-14 07:42 被阅读0次

    # 1 目前支持的模式

    1)local

    2)standalone

    3)Mesos国内用的不多

    4)YARN 目前国内70%的开发选择

    5)Kubernetes——实验版本

    * 有何区别,开发过程中如何选择

    # 2 local模式

    在开发过程中使用这种模式,step1  功能跑通—>step2 性能调优.

    帮助命令查看:./pyspark --help

    *重要pyshark参数

    --master local[2] 

    --name

    --py -file,.zip,.txt

    * 启动案例

    ```

    ./pyshark --master local[2] --name spark-local /home/xx.py file:///home/data file:///home/data

    ```

    ---

    ## 1 master说明

    local——一个线程

    local[2]

    local[K,F] K个线程,F次最大失败

    local[*]  所有

    local[*,F]

    spark://HOST:PORT  standalone模式

    spark://HOST1:PORT1,HOST2:PORT2  standalone模式

    mesos://HOST:PORT

    yarn

    k8s://HOST:PORT

    ## 2 standalone 模式

    hdfs:NameNode,DataNode

    yarn:ResourceManager NodeManager

    step1启动集群./sbin/start-master.sh

    step2启动从节点./sbin/start-slave.sh

    ps:如果启动成功,任务上会有master和worker

    *配置spark路径

    每台机器都在相同的路径下不部署spark

    文件名:$SPARK_HOME/conf/slaves

    添加内容hadoop000,hadoop001,……

    * 启动:

    启动命令:$spark_home/sbin/start-all.sh

    启动的时候关注启动日志,启动失败的原因可以从日志里去看

    ps:要提前配置$JAVA_HOME

    检测:

    jps:检测是否有master和worker启动

    webUI:端口可以在日志中的MasterUI后面进行查找,一般8080(在提交pyshark作业时可以设置,--webui-post PORT);使用时在浏览器的输入hadoop000:8080。(内部的端口一般为7077,通过-p PORT,--port PORT设置)

      *配置spark中的$JAVA_HOME:$spark_home/sbin/spark-env.sh中添加(cp spark-env.sh.template spark-env.sh )

      *查看系统$JAVA_HOME:eoch

      * 日志查看:cat 日志地址,地址在运行的第一、二行会有

      *查看进程情况:jps

      *杀掉进程kill -9进程编号

    * 测试模式,节点数量大于1,如果你使用本地文件进行测试,保证每个节点上都有本地测试的文件(推荐用hdfs文件进行测试)

    ```

    ./spark -sumbit --master spark://hadoop000:7077 -name spark-standalone /home/hadoop/script/spark0402.py hdfs://hadoop000:8020/wc.txt hdfs://hadoop000:8020/wc/output

    ```

      *hdfs操作 

    查看hdfs上的内容:hadoop fs -ls/

    传送文件到hdfs上:hadoop fs -put ~/data/hello.txt /wc.txt

    查看hdfs上文件内容:hadoop fs -text /wc.txt

    外部对其使用时hdfs://hadoop000:8020/hello.txt[file:///home/hadoop/wc/output](file:///home/hadoop/wc/output)

    ## 3 yarn 模式【重点】

    reduce yarn,spark on yarn 70%

    把spark作为客户端,需要做的事情时提交作业到yarn上去执行。

    yarn vs standalone

    yarn:只需要一个节点,可以提交作业,不需要spark集群(不需要启动master和worker;如果是standalone模式,则spark集群上每个节点都需要部署spark,然后需要启动spark集群(需要启动master和worker))

    *启动yarn

      *?

    *在yarn上运行spark

    ```

    ./spark -sumbit --master yarn -name spark-yarn /home/hadoop/script/spark0402.py hdfs://hadoop000:8020/wc.txt hdfs://hadoop000:8020/wc/output

    ```

    * 环境变量配置

    使用yarn模式的时候,需要指定HADOOP_CONF_DIR orYARN_CONF_DIR

    即在$spark_home/sbin/spark-env.sh添加HADOOP_CONF_DIR =$HADOOP_HOME地址(配置文件记得sourse)

    如何规避架包传输?

    *yarn支持  client和cluster:driver运行在哪里

      *如果是cluster上运行,则会运行在application master节点上。

      * client模式提交作业进程是不能停止的,cluster提交完就可以断开了,因为driver是并行在AM上的

      *--master yarn-client/cluster ,也可以加在参数--deploy-mode后面

    *yarn日志查看

      *(Jobhistory课程10小时学会hadoop)

      *yarn logs -applcationId

    tips:pyspark/spark-shell——交互式运行程序client,如果用集群模式,只能用./spark or ./spark-sumbit

    相关文章

      网友评论

          本文标题:Spark Chapter 5 PySpark 运行模式

          本文链接:https://www.haomeiwen.com/subject/nhdwjctx.html