Elasticsearch shard allocation, uneven distribution of shards among nodes

this issue I already reported here Elasticseach shards allocation

appretiate any advice thank you

and here is cluster stats

GET _cluster/stats?pretty&human
{
  "_nodes" : {
    "total" : 49,
    "successful" : 49,
    "failed" : 0
  },
  "cluster_name" : "o2-cz-cem",
  "cluster_uuid" : "OAIGGQ4QTqiz4i_tgdFx3g",
  "timestamp" : 1671527409789,
  "status" : "green",
  "indices" : {
    "count" : 2750,
    "shards" : {
      "total" : 7579,
      "primaries" : 4291,
      "replication" : 0.7662549522255885,
      "index" : {
        "shards" : {
          "min" : 1,
          "max" : 10,
          "avg" : 2.756
        },
        "primaries" : {
          "min" : 1,
          "max" : 10,
          "avg" : 1.5603636363636364
        },
        "replication" : {
          "min" : 0.0,
          "max" : 1.0,
          "avg" : 0.9225454545454546
        }
      }
    },
    "docs" : {
      "count" : 100377328903,
      "deleted" : 49381640
    },
    "store" : {
      "size" : "43.2tb",
      "size_in_bytes" : 47585991377166,
      "total_data_set_size" : "43.2tb",
      "total_data_set_size_in_bytes" : 47585991377166,
      "reserved" : "0b",
      "reserved_in_bytes" : 0
    },
    "fielddata" : {
      "memory_size" : "2.1gb",
      "memory_size_in_bytes" : 2360492980,
      "evictions" : 0
    },
    "query_cache" : {
      "memory_size" : "33gb",
      "memory_size_in_bytes" : 35441901188,
      "total_count" : 3528593277,
      "hit_count" : 42556885,
      "miss_count" : 3486036392,
      "cache_size" : 266506,
      "cache_count" : 1024634,
      "evictions" : 758128
    },
    "completion" : {
      "size" : "0b",
      "size_in_bytes" : 0
    },
    "segments" : {
      "count" : 91019,
      "memory" : "2gb",
      "memory_in_bytes" : 2196122264,
      "terms_memory" : "1.6gb",
      "terms_memory_in_bytes" : 1769496376,
      "stored_fields_memory" : "151.4mb",
      "stored_fields_memory_in_bytes" : 158817912,
      "term_vectors_memory" : "0b",
      "term_vectors_memory_in_bytes" : 0,
      "norms_memory" : "34.8mb",
      "norms_memory_in_bytes" : 36535744,
      "points_memory" : "0b",
      "points_memory_in_bytes" : 0,
      "doc_values_memory" : "220.5mb",
      "doc_values_memory_in_bytes" : 231272232,
      "index_writer_memory" : "1.1gb",
      "index_writer_memory_in_bytes" : 1217068942,
      "version_map_memory" : "836.7kb",
      "version_map_memory_in_bytes" : 856803,
      "fixed_bit_set" : "2.2gb",
      "fixed_bit_set_memory_in_bytes" : 2430196608,
      "max_unsafe_auto_id_timestamp" : 1671527327933,
      "file_sizes" : { }
    },
    "mappings" : {
      "field_types" : [
        {
          "name" : "alias",
          "count" : 61,
          "index_count" : 16,
          "script_count" : 0
        },
        {
          "name" : "binary",
          "count" : 8,
          "index_count" : 8,
          "script_count" : 0
        },
        {
          "name" : "boolean",
          "count" : 1796,
          "index_count" : 242,
          "script_count" : 0
        },
        {
          "name" : "byte",
          "count" : 17,
          "index_count" : 17,
          "script_count" : 0
        },
        {
          "name" : "constant_keyword",
          "count" : 52,
          "index_count" : 18,
          "script_count" : 0
        },
        {
          "name" : "date",
          "count" : 7306,
          "index_count" : 2458,
          "script_count" : 0
        },
        {
          "name" : "date_nanos",
          "count" : 2,
          "index_count" : 2,
          "script_count" : 0
        },
        {
          "name" : "date_range",
          "count" : 2,
          "index_count" : 2,
          "script_count" : 0
        },
        {
          "name" : "double",
          "count" : 4319,
          "index_count" : 19,
          "script_count" : 0
        },
        {
          "name" : "double_range",
          "count" : 2,
          "index_count" : 2,
          "script_count" : 0
        },
        {
          "name" : "flattened",
          "count" : 168,
          "index_count" : 14,
          "script_count" : 0
        },
        {
          "name" : "float",
          "count" : 4058,
          "index_count" : 310,
          "script_count" : 0
        },
        {
          "name" : "float_range",
          "count" : 2,
          "index_count" : 2,
          "script_count" : 0
        },
        {
          "name" : "geo_point",
          "count" : 404,
          "index_count" : 175,
          "script_count" : 0
        },
        {
          "name" : "geo_shape",
          "count" : 5,
          "index_count" : 5,
          "script_count" : 0
        },
        {
          "name" : "half_float",
          "count" : 72,
          "index_count" : 16,
          "script_count" : 0
        },
        {
          "name" : "integer",
          "count" : 1389,
          "index_count" : 347,
          "script_count" : 0
        },
        {
          "name" : "integer_range",
          "count" : 2,
          "index_count" : 2,
          "script_count" : 0
        },
        {
          "name" : "ip",
          "count" : 330,
          "index_count" : 21,
          "script_count" : 0
        },
        {
          "name" : "ip_range",
          "count" : 2,
          "index_count" : 2,
          "script_count" : 0
        },
        {
          "name" : "keyword",
          "count" : 167941,
          "index_count" : 2354,
          "script_count" : 0
        },
        {
          "name" : "long",
          "count" : 50036,
          "index_count" : 1578,
          "script_count" : 0
        },
        {
          "name" : "long_range",
          "count" : 2,
          "index_count" : 2,
          "script_count" : 0
        },
        {
          "name" : "match_only_text",
          "count" : 910,
          "index_count" : 14,
          "script_count" : 0
        },
        {
          "name" : "nested",
          "count" : 331,
          "index_count" : 60,
          "script_count" : 0
        },
        {
          "name" : "object",
          "count" : 80035,
          "index_count" : 674,
          "script_count" : 0
        },
        {
          "name" : "scaled_float",
          "count" : 2030,
          "index_count" : 14,
          "script_count" : 0
        },
        {
          "name" : "shape",
          "count" : 2,
          "index_count" : 2,
          "script_count" : 0
        },
        {
          "name" : "short",
          "count" : 2,
          "index_count" : 2,
          "script_count" : 0
        },
        {
          "name" : "text",
          "count" : 57790,
          "index_count" : 1056,
          "script_count" : 0
        },
        {
          "name" : "unsigned_long",
          "count" : 76,
          "index_count" : 38,
          "script_count" : 0
        },
        {
          "name" : "version",
          "count" : 4,
          "index_count" : 4,
          "script_count" : 0
        },
        {
          "name" : "wildcard",
          "count" : 238,
          "index_count" : 14,
          "script_count" : 0
        }
      ],
      "runtime_field_types" : [
        {
          "name" : "keyword",
          "count" : 23,
          "index_count" : 12,
          "scriptless_count" : 23,
          "shadowed_count" : 23,
          "lang" : [ ],
          "lines_max" : 0,
          "lines_total" : 0,
          "chars_max" : 0,
          "chars_total" : 0,
          "source_max" : 0,
          "source_total" : 0,
          "doc_max" : 0,
          "doc_total" : 0
        }
      ]
    },
    "analysis" : {
      "char_filter_types" : [ ],
      "tokenizer_types" : [ ],
      "filter_types" : [ ],
      "analyzer_types" : [ ],
      "built_in_char_filters" : [ ],
      "built_in_tokenizers" : [ ],
      "built_in_filters" : [ ],
      "built_in_analyzers" : [ ]
    },
    "versions" : [
      {
        "version" : "6.4.2",
        "index_count" : 14,
        "primary_shard_count" : 14,
        "total_primary_size" : "177mb",
        "total_primary_bytes" : 185689169
      },
      {
        "version" : "6.8.5",
        "index_count" : 2,
        "primary_shard_count" : 2,
        "total_primary_size" : "44.3mb",
        "total_primary_bytes" : 46507523
      },
      {
        "version" : "7.4.2",
        "index_count" : 54,
        "primary_shard_count" : 54,
        "total_primary_size" : "2.5gb",
        "total_primary_bytes" : 2697595563
      },
      {
        "version" : "7.9.0",
        "index_count" : 392,
        "primary_shard_count" : 401,
        "total_primary_size" : "98.5gb",
        "total_primary_bytes" : 105801537104
      },
      {
        "version" : "7.13.3",
        "index_count" : 383,
        "primary_shard_count" : 403,
        "total_primary_size" : "116.1gb",
        "total_primary_bytes" : 124752442293
      },
      {
        "version" : "7.17.0",
        "index_count" : 1905,
        "primary_shard_count" : 3417,
        "total_primary_size" : "29.7tb",
        "total_primary_bytes" : 32678930501899
      }
    ]
  },
  "nodes" : {
    "count" : {
      "total" : 49,
      "coordinating_only" : 2,
      "data" : 0,
      "data_cold" : 0,
      "data_content" : 38,
      "data_frozen" : 0,
      "data_hot" : 38,
      "data_warm" : 4,
      "ingest" : 42,
      "master" : 3,
      "ml" : 44,
      "remote_cluster_client" : 2,
      "transform" : 42,
      "voting_only" : 0
    },
    "versions" : [
      "7.17.0"
    ],
    "os" : {
      "available_processors" : 356,
      "allocated_processors" : 356,
      "names" : [
        {
          "name" : "Linux",
          "count" : 49
        }
      ],
      "pretty_names" : [
        {
          "pretty_name" : "Ubuntu 20.04.3 LTS",
          "count" : 1
        },
        {
          "pretty_name" : "CentOS Linux 7 (Core)",
          "count" : 48
        }
      ],
      "architectures" : [
        {
          "arch" : "amd64",
          "count" : 49
        }
      ],
      "mem" : {
        "total" : "1.4tb",
        "total_in_bytes" : 1619387199488,
        "free" : "61gb",
        "free_in_bytes" : 65576976384,
        "used" : "1.4tb",
        "used_in_bytes" : 1553810223104,
        "free_percent" : 4,
        "used_percent" : 96
      }
    },
    "process" : {
      "cpu" : {
        "percent" : 601
      },
      "open_file_descriptors" : {
        "min" : 1331,
        "max" : 3635,
        "avg" : 2913
      }
    },
    "jvm" : {
      "max_uptime" : "319.6d",
      "max_uptime_in_millis" : 27620276206,
      "versions" : [
        {
          "version" : "17.0.1",
          "vm_name" : "OpenJDK 64-Bit Server VM",
          "vm_version" : "17.0.1+12",
          "vm_vendor" : "Eclipse Adoptium",
          "bundled_jdk" : true,
          "using_bundled_jdk" : true,
          "count" : 49
        }
      ],
      "mem" : {
        "heap_used" : "287.8gb",
        "heap_used_in_bytes" : 309076183984,
        "heap_max" : "672gb",
        "heap_max_in_bytes" : 721554505728
      },
      "threads" : 7517
    },
    "fs" : {
      "total" : "82tb",
      "total_in_bytes" : 90232745926656,
      "free" : "38tb",
      "free_in_bytes" : 41854273970176,
      "available" : "37.2tb",
      "available_in_bytes" : 41009207721984
    },
    "plugins" : [ ],
    "network_types" : {
      "transport_types" : {
        "security4" : 49
      },
      "http_types" : {
        "security4" : 49
      }
    },
    "discovery_types" : {
      "zen" : 49
    },
    "packaging_types" : [
      {
        "flavor" : "default",
        "type" : "rpm",
        "count" : 48
      },
      {
        "flavor" : "default",
        "type" : "docker",
        "count" : 1
      }
    ],
    "ingest" : {
      "number_of_pipelines" : 23,
      "processor_stats" : {
        "conditional" : {
          "count" : 0,
          "failed" : 0,
          "current" : 0,
          "time" : "0s",
          "time_in_millis" : 0
        },
        "convert" : {
          "count" : 0,
          "failed" : 0,
          "current" : 0,
          "time" : "0s",
          "time_in_millis" : 0
        },
        "geoip" : {
          "count" : 0,
          "failed" : 0,
          "current" : 0,
          "time" : "0s",
          "time_in_millis" : 0
        },
        "grok" : {
          "count" : 0,
          "failed" : 0,
          "current" : 0,
          "time" : "0s",
          "time_in_millis" : 0
        },
        "gsub" : {
          "count" : 0,
          "failed" : 0,
          "current" : 0,
          "time" : "0s",
          "time_in_millis" : 0
        },
        "remove" : {
          "count" : 0,
          "failed" : 0,
          "current" : 0,
          "time" : "0s",
          "time_in_millis" : 0
        },
        "rename" : {
          "count" : 0,
          "failed" : 0,
          "current" : 0,
          "time" : "0s",
          "time_in_millis" : 0
        },
        "script" : {
          "count" : 0,
          "failed" : 0,
          "current" : 0,
          "time" : "0s",
          "time_in_millis" : 0
        },
        "set" : {
          "count" : 0,
          "failed" : 0,
          "current" : 0,
          "time" : "0s",
          "time_in_millis" : 0
        },
        "set_security_user" : {
          "count" : 0,
          "failed" : 0,
          "current" : 0,
          "time" : "0s",
          "time_in_millis" : 0
        }
      }
    }
  }
}