一、DataGen发包服务器
可以用多个脚本(HiBench/bin/workloads/streaming/repartition/prepare/dataGen.sh)来发起多个进程来发包,但并不是越多进程越好。因为进程(java)本身也要消耗CPU/MEM,所以要根据自己的平台来适配。TX2 服务器上测试中发现,4个进程即可以达到最优。如果起16/32/48个进程,反而性能下降。
二、用dstat来监控数据流
在kafka/datagen服务器上启动dstat来监控网络及磁盘的流量,来分析网络和磁盘是否达到了最大带宽。
三、可以搭建ZK及kafka集群
1。搭建zk及kafka集群来消除kafka数据生产者的带宽及磁盘IO限制。已经搭建多台datagen发包服务器往一个kafka集群提供数据。
2。kafka服务器配置12个HDD或者1个PCIE NVME disk,因为kafka checkpoint及log需要消耗大量的磁盘IO。
四、搭建flink服务器
增加flink task( -ytm 6144 )和job(-yjm 8192)的内存配置,yarn counter(-yn 6) ,yarn slot(-ys 4)来提高性能,如下:
./bin/flink run -m yarn-cluster -yn 6 -ys 4 -ytm 6144 -yjm 8192 -c com.intel.hibench.flinkbench.RunBench /home/flink/HiBench-7.0/flinkbench/streaming/target/flinkbench-streaming-7.1-SNAPSHOT-jar-with-dependencies.jar /home/flink/HiBench-7.0/report/repartition/flink/conf/sparkbench/sparkbench.conf