igniteapacheignite

Ignite cluster size using control script


I need to get ignite cluster size(no of server nodes running) preferably using control script or ignite rest api. I am able to get baseline nodes using command below but I don't see any command or rest api to return topology snapshot. Is there a way we could get this information to ignite client rather than looking into logs.

Workaround to get baseline nodes:

baselineNodes=$(kubectl --kubeconfig  config.conf exec <ignite-node> -n {client_name} -- /opt/ignite/apache-ignite/bin/./control.sh --baseline | grep "Number of baseline nodes" | cut -d ':' -f2 | sed 's/^ *//g')

Solution

  • Got help from ignite community and below command worked for me. Basically idea is to use metric to extract server nodes.

    kubectl --kubeconfig  config.conf exec <ignite-node> -n {client_name} -- /opt/ignite/apache-ignite/bin/./control.sh --metric  cluster.TotalServerNodes | grep -v  "metric" | grep cluster.TotalServerNodes | cut -d " " -f5 | sed 's/^ *//g'
    

    Quoting the reply received:

    "You can query any metric value or system view content via control script [1], [2]

    control.sh --system-view nodes

    or [3]

    control.sh —metric cluster.TotalBaselineNodes control.sh —metric cluster.TotalServerNodes control.sh —metric cluster.TotalClientNodes

    [1] https://ignite.apache.org/docs/latest/tools/control-script#metric-command [2] https://ignite.apache.org/docs/latest/tools/control-script#system-view-command [3] https://ignite.apache.org/docs/2.11.1/monitoring-metrics/new-metrics#cluster"