如何评估spark应用程序

s71maibg  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(353)

你好,我刚刚创建完我的第一个spark应用程序,现在我可以访问一个群集(12个节点,每个节点有2个处理器intel(r)xeon(r)cpu e5-2650 2.00ghz,每个处理器有8个内核),我想知道有哪些标准可以帮助我调整应用程序并观察其性能。
我已经访问了spark的官方网站,它是关于数据序列化的,但是我不知道它到底是什么或者如何指定它。
它还谈到了“内存管理”、“并行级别”,但我不明白如何控制这些。
还有一件事,我知道数据的大小有影响,但是我所有的files.csv都有小的大小,如何才能得到大大小的文件(10 gb、20 gb、30 gb、50 gb、100 gb、300 gb、500 gb)
请给我解释清楚,因为集群计算对我来说是新鲜的。

cgh8pdjw

cgh8pdjw1#

对于调整应用程序,您需要知道一些事情
1) 您需要监视您的应用程序,看您的集群是否利用不足,您创建的应用程序使用了多少资源
可以使用各种工具进行监控,例如ganglia从ganglia可以找到cpu、内存和网络使用情况。
2) 根据对cpu和内存使用情况的观察,您可以更好地了解应用程序需要什么样的调优
形成你的Spark点
在spark-defaults.conf中
您可以指定需要什么样的序列化,应用程序需要多少驱动程序内存和执行程序内存,甚至可以更改垃圾收集算法。
下面是几个示例,您可以根据自己的需求调整此参数

spark.serializer                 org.apache.spark.serializer.KryoSerializer
spark.driver.memory              5g
spark.executor.memory            3g
spark.executor.extraJavaOptions  -XX:MaxPermSize=2G -XX:+UseG1GC
spark.driver.extraJavaOptions    -XX:MaxPermSize=6G -XX:+UseG1GC

有关更多详细信息,请参阅http://spark.apache.org/docs/latest/tuning.html
希望这有帮助!!

相关问题