我在aws ec2环境中尝试使用hyperledger结构poc时遇到了一点问题。
我有我的网络设置了3个组织,3个对等点(每个对等点1个),2个订购者,4个Kafka,3个Zookeeper。每个组织位于不同的示例中,ordering+kafka+zookeeper共享同一个示例。我还在另一个示例上使用nodesdk1.2。
在我尝试使用另一个示例的火炮进行性能测试之前,一切似乎都很正常。首先,我无法获得高吞吐量的性能,当我尝试一个测试与许多同时用户(约50),网络似乎崩溃。从炮兵的图形显示不稳定的性能,然后它完全死亡。
第二,也是最重要的一点,当我将负载降低到5个同时使用的用户时,性能问题消失了,但我注意到,在订购服务的示例运行了很短一段时间后,kafka和zk的磁盘空间就用完了。我做了一些研究,在我的/var/lib/docker/overlay2目录下发现了大量数据。
在一些较大的容器中,我发现了一个带有1gb.log文件的kafka日志目录。我设法找到了一个,它显示了一些证书如下
开始证书
[...]
结束证书重复
它以1gb的速度分割文件并存储其中的许多文件,比如说30分钟内存储3gb的文件。
我尝试在compose和daemon.json中使用docker log rotate:
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "3"
它实际上在/var/lib/docker/containers目录下工作,其中.log文件被限制为1mb,最多3个文件。但是overlay2的问题仍然存在。
Kafka的docker composer :
kafka:
image: hyperledger/fabric-kafka:0.4.10
restart: always
environment:
- KAFKA_MESSAGE_MAX_BYTES=103809024 # 99 * 1024 * 1024 B
- KAFKA_REPLICA_FETCH_MAX_BYTES=103809024 # 99 * 1024 * 1024 B
- KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false
- KAFKA_MIN_INSYNC_REPLICAS=2
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0.example.com:2181,zookeeper1.example.com:2181,zookeeper2.example.com:2181
- log.retention.bytes = 1000000
- log.retention.ms = 30000
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "3"
如您所见,我也尝试过log.retention.bytes=1000000,但我不确定这是否是参数的正确用法,因为它没有任何效果。
也重新启动了docker服务。我已经挣扎了一个星期,所以我已经尝试了最常见的解决方案,我发现网上。
有什么想法吗?
提前谢谢
1条答案
按热度按时间zzwlnbp81#
配置参数应为:
参考织物测试kafka.yaml:
https://github.com/hyperledger/fabric-test/blob/master/feature-upgrade/dc-orderer-kafka-base.yml