博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark 分布式调试工具
阅读量:6068 次
发布时间:2019-06-20

本文共 1427 字,大约阅读时间需要 4 分钟。


 0. 说明

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

 


 

1. 工具类编写

  [ JMX ]

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

  主要用于运维和监控。

 

  【测试 JMX】

 

  开启 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.getHostAddressval pid = java.lang.management.ManagementFactory.getRuntimeMXBean.getName.split("@")(0)val tname = Thread.currentThread().getNameval classname = obj.getClass.getSimpleNameval objHash = obj.hashCode()val info = ip + "/" + pid + "/" + tname + "/" + classname + "@" + objHash + "/" + m + "("+param+")" + "\r\n"//发送数据给nc 服务器val sock = new java.net.Socket("s101" , 8888)val out = sock.getOutputStreamout.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 监听到的数据(参考  )

   

 

 

 


 

转载于:https://www.cnblogs.com/share23/p/9783419.html

你可能感兴趣的文章
一步一步学习SignalR进行实时通信_7_非代理
查看>>
AOL重组为两大业务部门 全球裁员500人
查看>>
字符设备与块设备的区别
查看>>
为什么我弃用GNOME转向KDE(2)
查看>>
Redis学习记录初篇
查看>>
爬虫案例若干-爬取CSDN博文,糗事百科段子以及淘宝的图片
查看>>
Web实时通信技术
查看>>
第三章 计算机及服务器硬件组成结合企业运维场景 总结
查看>>
IntelliJ IDEA解决Tomcal启动报错
查看>>
默认虚拟主机设置
查看>>
七周五次课(1月26日)
查看>>
Linux系统一些系统查看指令
查看>>
php中的短标签 太坑人了
查看>>
[译] 可维护的 ETL:使管道更容易支持和扩展的技巧
查看>>
### 继承 ###
查看>>
数组扩展方法之求和
查看>>
astah-professional-7_2_0安装
查看>>
函数是对象-有属性有方法
查看>>
uva 10107 - What is the Median?
查看>>
Linux下基本栈溢出攻击【转】
查看>>