Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. m3operatorScript -  This script has to run first as it deploys the m3operator. M3operator is a pre-requisite for the m3 cluster deployment.
    Make necessary changes in the script as per the cluster details at your end. Helm charts and profile can be found at : operatorHelmChartsAndProfile

  2. m3dbInstallerScript - This script shall install m3db nodes.  Helm charts and profile : m3dbHelmCharts

  3. CollectD-PrometheusScript - This script shall install collectd and prometheus. Helm charts for collectd and prometheus : collectd and prometheus

  4. Once all pods are deployed correctly, the topology should be like below:

    Image Modified


Manual steps for getting the m3db up and running:

...

Code Block
languagebash
themeMidnight
titleBootstrap M3db
kubectl -n training port-forward svc/m3coordinator-m3db-cluster 7201

curl -vvv -X POST http://localhost:7201/api/v1/database/create -d '{
  "type": "cluster",
  "namespaceName": "collectd",
  "retentionTime": "168h",
  "numShards": "64",
  "replicationFactor": "3",
  "hosts": [
        {
            "id": "m3db-cluster-rep0-0",
            "isolationGroup": "us-west1-a",
            "zone": "embedded",
            "weight": 100,
            "address": "m3db-cluster-rep0-0.m3dbnode-m3db-cluster:9000",
            "port": 9000
        },
        {
            "id": "m3db-cluster-rep1-0",
            "isolationGroup": "us-west1-b",
            "zone": "embedded",
            "weight": 100,
            "address": "m3db-cluster-rep1-0.m3dbnode-m3db-cluster:9000",
            "port": 9000
        },
        {
            "id": "m3db-cluster-rep2-0",
            "isolationGroup": "us-west1-c",
            "zone": "embedded",
            "weight": 100,
            "address": "m3db-cluster-rep2-0.m3dbnode-m3db-cluster:9000",
            "port": 9000
        }
    ]
}'


3. Connecting the prometheus and m3coordinator service.

After the pods for m3db and prometheus, we need to make m3coordinator service a NodePort in case, we are not using the loadbalance.
This can be done by kubectl edit command :


Code Block
languagebash
titleMake m3coordinator service a NodePort
kubectl edit svc/m3coordinator-m3-clusterEdit type to be nodePort : 32701



Content by Label
showLabelsfalse
max5
spacesDW
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ("distributed","multi-cloud","multicloud","emco","telemetry") and type = "page" and space = "DW"
labelsEMCO multi-cloud multicloud distributed telemetry

...