我如何评估我的 spark 应用程序
how can i evaluate my spark application
你好我刚刚创建了我的第一个 spark 应用程序,现在我可以访问一个集群(12 个节点,每个节点有 2 个处理器 Intel(R) Xeon(R) CPU E5-2650 2.00GHz,其中每个处理器有 8 个内核),我想知道帮助我调整应用程序和观察其性能的标准是什么。
我已经访问过 spark 的官方网站,它在谈论数据序列化,但我无法确切地了解它是什么或如何指定它。
它也在谈论 "memory management","Level of Parallelism" 但我不明白如何控制这些。
还有一件事,我知道数据的大小有影响,但我所有的 files.csv 都是小文件,我怎样才能获得大文件(10 GB、20 GB、30 GB、50 GB、100 GB、300 GB、500 GB)
请尽量为我解释清楚,因为集群计算对我来说很新鲜
为了调整您的应用程序,您需要了解一些事情
1) 您需要监控您的应用程序,无论您的集群是否未得到充分利用,您创建的应用程序使用了多少资源
可以使用各种工具进行监控,例如。神经节
从 Ganglia 您可以找到 CPU、内存和网络使用情况.
2) 根据对 CPU 和内存使用情况的观察,您可以更好地了解您的应用程序需要什么样的调优
形成你的火花点
在火花-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
希望对您有所帮助!!
你好我刚刚创建了我的第一个 spark 应用程序,现在我可以访问一个集群(12 个节点,每个节点有 2 个处理器 Intel(R) Xeon(R) CPU E5-2650 2.00GHz,其中每个处理器有 8 个内核),我想知道帮助我调整应用程序和观察其性能的标准是什么。
我已经访问过 spark 的官方网站,它在谈论数据序列化,但我无法确切地了解它是什么或如何指定它。
它也在谈论 "memory management","Level of Parallelism" 但我不明白如何控制这些。
还有一件事,我知道数据的大小有影响,但我所有的 files.csv 都是小文件,我怎样才能获得大文件(10 GB、20 GB、30 GB、50 GB、100 GB、300 GB、500 GB)
请尽量为我解释清楚,因为集群计算对我来说很新鲜
为了调整您的应用程序,您需要了解一些事情
1) 您需要监控您的应用程序,无论您的集群是否未得到充分利用,您创建的应用程序使用了多少资源
可以使用各种工具进行监控,例如。神经节 从 Ganglia 您可以找到 CPU、内存和网络使用情况.
2) 根据对 CPU 和内存使用情况的观察,您可以更好地了解您的应用程序需要什么样的调优
形成你的火花点
在火花-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
希望对您有所帮助!!