标签:计算 hadoop 规模 topic records sec ms 集群 size
一、数据规模
二、集群处理数据的吞吐量
2.1 hdfs的读写测试
Hadoop自带一个测试用的jar包,可以运行它来得知集群处理数据的性能如何
hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.2-tests.jar TestDFSIO -write -nrFiles 10 -fileSize 128MB
结果如下
吞吐量大约为 10m/s ,一个小时大概能写36g左右的数据,能够满足项目需求
优化:
可以尝试从硬件方面升级(磁盘IO,网络IO)
集群扩容
2.2Kafka测试
2.2.1生产者压力测试
bin/kafka-producer-perf-test.sh --topic test --record-size 100 --num-records 100000 --throughput -1 --producer-props bootstrap.servers=hadoop102:9092,hadoop103:9092,hadoop104:9092
说明:
record-size是一条信息有多大,单位是字节。
num-records是总共发送多少条信息。
throughput 是每秒多少条信息,设成-1,表示不限流,可测出生产者最大吞吐量。
测试结果示例
100000 records sent, 59665.871122 records/sec (5.69 MB/sec), 463.76 ms avg latency, 626.00 ms max latency, 519 ms 50th, 608 ms 95th, 622 ms 99th, 626 ms 99.9th.
重点查看 吞吐量 5.69m/s 延迟 463.76 ms avg latency
优化
如果生产能力不足,可以对主题添加分区,或扩容集群,或设置kafka同时挂载多个磁盘目录,提高磁盘的IO能力!
2.2.2消费者压力测试
bin/kafka-consumer-perf-test.sh --zookeeper hadoop102:2181 --topic test --fetch-size 10000 --messages 10000000 --threads 1
参数说明:
--zookeeper 指定zookeeper的链接信息
--topic 指定topic的名称
--fetch-size 指定每次fetch的数据的大小
--messages 总共要消费的消息个数
重点查看:
MB.sec: 一秒消费多少M数据
nMsg.sec: 一秒消费多少数据
优化: 提高消费者的线程数;前提是一个主题有多个可用的分区!
在消费者端配置一些参数,例如offset的异步提交等!
标签:计算,hadoop,规模,topic,records,sec,ms,集群,size 来源: https://www.cnblogs.com/yangxusun9/p/12577198.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。