Freon DFSG creates a huge amount of "Container Pre-allocated" space #9685
-
|
Hello Ozone team, I have been trying to stress test my HA cluster a bit, and have been using the freon dfsg tool to do so. The consequence of this is that if I run any larger tests (100 files of 100mb e.g.) my cluster fills up immediately and the execution gets stuck on ratis election between 3 datanodes, as they all appear full. Is this intended for the tool to generate so much Pre-allocated space for containers? If so, is there a way to reduce this space? I am aware that containers are by default 5Gb, so I would not have thought so many containers need to be allocated in advance. Thank you! |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments
-
|
For the type of errors that occur, Freon outputs like so: and from one of the datanodes perspective, the logs show many warnings about failing request votes: |
Beta Was this translation helpful? Give feedback.
-
|
Further testing with a lower thread amount yield the same errors with the same amount of "container pre-allocated space" (80Gb). This is on Version 2.0.0 , with default container size. For just a singular file it successfully executes, a new container is created, and 15gb of Container pre-allocated space is created: It appears that containers scale linearly with file count, and close when they only have a few mbs/ 1 or 2 key's in. E.g. Only one container stays open at a time. The issue for this is unclear, as it appears all pipelines are fine. Connectivity between datanodes is also fine when curling. The layout of the bucket that freon is running on is FILE_SYSTEM_OPTIMIZED. |
Beta Was this translation helpful? Give feedback.
-
|
Ozone creates multiple containers and pipelines to improve concurrent writes. With only 3 datanodes, single disk, limited space, it's better to reduce some of the settings, like:
|
Beta Was this translation helpful? Give feedback.
-
|
Thanks @adoroszlai for the answer. |
Beta Was this translation helpful? Give feedback.
Ozone creates multiple containers and pipelines to improve concurrent writes. With only 3 datanodes, single disk, limited space, it's better to reduce some of the settings, like:
ozone.scm.datanode.pipeline.limit: 1ozone.scm.pipeline.owner.container.count: 1ozone.scm.container.size: 1GB