zoukankan      html  css  js  c++  java
  • Spark 分布式调试工具


     0. 说明

      编写工具类,考察 Spark 分布式程序的执行地点


    1. 工具类编写

      [ JMX ]

      Java Management Extend , Java 管理扩展服务。

      主要用于运维和监控。

      【测试 JMX】

      开启 nc,参考 [Linux] nc

    nc -lk 8888

      通过 Client 模式运行 Spark

    spark-shell --master spark://s101:7077  --deploy-mode client

      在 Spark Shell 下通过 :paste 执行以下代码

    def sendInfo(obj:Object ,m:String , param:String)= {
    val ip = java.net.InetAddress.getLocalHost.getHostAddress
    val pid = java.lang.management.ManagementFactory.getRuntimeMXBean.getName.split("@")(0)
    val tname = Thread.currentThread().getName
    val classname = obj.getClass.getSimpleName
    val objHash = obj.hashCode()
    val info = ip + "/" + pid + "/" + tname + "/" + classname + "@" + objHash + "/" + m + "("+param+")" + "
    "
    
    //发送数据给nc 服务器
    val sock = new java.net.Socket("s101" , 8888)
    val out = sock.getOutputStream
    out.write(info.getBytes())
    out.flush()
    out.close()
    }

      再执行以下命令

    sendInfo(this, "method001" , "argument001")

      在 nc 端监听到的数据如下

      

         IP                     进程id    线程     对象id                              方法(参数 )


    2. WordCount

      通过 Client 模式运行 Spark

    spark-shell --master spark://s101:7077  --deploy-mode client

      在 Spark Shell 下通过 :paste 执行以下代码

    val rdd1 = sc.textFile("/user/centos/data/11.txt" , 4)
    val rdd2 = rdd1.flatMap(line=>{
    sendInfo(this , "flatMap" , line)
    line.split(" ")}
    )
    val rdd3 = rdd2.map(word=>{
    sendInfo(this , "map" , word)
    (word,1)
    })
    val rdd4 = rdd3.reduceByKey((a,b)=>{
    sendInfo(this, "reduceByKey", a + "," + b)
    a + b
    })
    val arr = rdd4.collect()

      nc 监听到的数据(参考  [Linux] nc

       


    且将新火试新茶,诗酒趁年华。
  • 相关阅读:
    OnEraseBkgnd、OnPaint与画面重绘
    .编译ADO类DLL时报错的解决方案
    VC列表框样式
    Codeforces 131D. Subway 寻找环树的最短路径
    Codeforces 103B. Cthulhu 寻找奈亚子
    Codeforces 246D. Colorful Graph
    Codeforces 278C. Learning Languages 图的遍历
    Codeforces 217A. Ice Skating 搜索
    Codeforces 107A. Dorm Water Supply 搜图
    Codeforces 263 D. Cycle in Graph 环
  • 原文地址:https://www.cnblogs.com/share23/p/9783419.html
Copyright © 2011-2022 走看看