Automating nodetool repair for cassandra on kubernetesCentOS open port 7000 [RESOLVED]How to choose the external IP address of a Kubernetes load balancer in Google Kubernetes EngineCassandra nodetool repair failure - broken pipewhy is nodetool (cassandra single node) throwing NameNotFoundException: 'jmxrmi'?Cassandra 3.x on Kubernetes 1.2-release (5 cassandra nodes)Kubernetes cluster ip not answeringCassandra 2.2 - “nodetool repair” VS “nodetool repair -dc dc1,dc2,dc3”Kubernetes cluster internal routing not working (NodePort service)In Kubernetes, how can a container created from a CronJob find out when it was scheduled?Can't authenticate to cassendra: cannot achieve consistency level LOCAL_ONE

Uncommanded roll at high speed

Is this light switch installation safe and legal?

Infinitely many hats

Beginner's snake game using PyGame

Intuition behind eigenvalues of an adjacency matrix

Do creatures all have the same statistics upon being reanimated via the Animate Dead spell?

Can non-English-speaking characters use wordplay specific to English?

chmod would set file permission to 000 no matter what permission i try to set

How was Apollo supposed to rendezvous in the case of a lunar abort?

Why were the Night's Watch required to be celibate?

What caused the tendency for conservatives to not support climate change regulations?

Is there an evolutionary advantage to having two heads?

Select row of data if next row contains zero

etoolbox: AtBeginEnvironment is not At Begin Environment

What are the slash markings on Gatwick's 08R/26L?

Are there regional foods in Westeros?

How can I prevent interns from being expendable?

Strange math syntax in old basic listing

What is game ban VS VAC ban in steam?

Is it possible to change original filename of an exe?

Creating Fictional Slavic Place Names

Future enhancements for the finite element method

Biblical Basis for 400 years of silence between old and new testament

Hiker's Cabin Mystery | Pt. IX



Automating nodetool repair for cassandra on kubernetes


CentOS open port 7000 [RESOLVED]How to choose the external IP address of a Kubernetes load balancer in Google Kubernetes EngineCassandra nodetool repair failure - broken pipewhy is nodetool (cassandra single node) throwing NameNotFoundException: 'jmxrmi'?Cassandra 3.x on Kubernetes 1.2-release (5 cassandra nodes)Kubernetes cluster ip not answeringCassandra 2.2 - “nodetool repair” VS “nodetool repair -dc dc1,dc2,dc3”Kubernetes cluster internal routing not working (NodePort service)In Kubernetes, how can a container created from a CronJob find out when it was scheduled?Can't authenticate to cassendra: cannot achieve consistency level LOCAL_ONE






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















We are running cassandra on kubernetes using the yaml below. It's working fine except for nodetool. We would like to have a kubernetes cronjob that executes nodetool repair periodically but accessing the jmx port (7199) from outside of the cassandra pods is not working. I'm fairly sure the problem is that the jmx port is listening on 127.0.0.1 and I need it to listen on the pod ip or even better would be the node ip.



Has anyone setup something similar?



Inside the pod



root@cassandra-0:/# nc -vz localhost 9042
localhost [127.0.0.1] 9042 (?) open
root@cassandra-0:/# nc -vz localhost 7199
localhost [127.0.0.1] 7199 (?) open


Outside the pod



$ nc -vz localhost 9042
nc: connect to localhost port 9042 (tcp) failed: Connection refused
Connection to localhost 9042 port [tcp/*] succeeded!
$ nc -vz localhost 7199
nc: connect to localhost port 7199 (tcp) failed: Connection refused
nc: connect to localhost port 7199 (tcp) failed: Connection refused


Outside the pod using the pod ip



$ nc -vz 10.244.1.20 7199
nc: connect to 10.244.1.20 port 7199 (tcp) failed: Connection refused
$ nc -vz 10.244.1.20 9042
Connection to 10.244.1.20 9042 port [tcp/*] succeeded!




apiVersion: v1
kind: Service
metadata:
labels:
app: cassandra
name: cassandra
spec:
clusterIP: None
ports:
- port: 9042
selector:
app: cassandra
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: cassandra
labels:
app: cassandra
spec:
serviceName: cassandra
replicas: .Values.global.replicas
selector:
matchLabels:
app: cassandra
template:
metadata:
labels:
app: cassandra
spec:
terminationGracePeriodSeconds: 1800
containers:
- name: cassandra
image: cassandra:3.11.3
imagePullPolicy: Always
ports:
- containerPort: 7000
name: intra-node
- containerPort: 7001
name: tls-intra-node
- containerPort: 7199
name: jmx
hostPort: 7199
- containerPort: 9042
hostPort: 9042
name: cql
resources:
limits:
cpu: "500m"
memory: 1Gi
requests:
cpu: "500m"
memory: 1Gi
securityContext:
capabilities:
add:
- IPC_LOCK
lifecycle:
preStop:
exec:
command:
- /bin/sh
- -c
- nodetool drain
env:
- name: MAX_HEAP_SIZE
value: 512M
- name: HEAP_NEWSIZE
value: 100M
- name: CASSANDRA_SEEDS
value: "cassandra-0.cassandra.default.svc.cluster.local"
- name: CASSANDRA_CLUSTER_NAME
value: "K8Demo"
- name: CASSANDRA_DC
value: "DC1-K8Demo"
- name: CASSANDRA_RACK
value: "Rack1-K8Demo"
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
volumeMounts:
- name: cassandra-data
mountPath: /var/lib/cassandra/data
volumes:
- name: cassandra-data
hostPath:
path: /data/cassandra









share|improve this question




























    0















    We are running cassandra on kubernetes using the yaml below. It's working fine except for nodetool. We would like to have a kubernetes cronjob that executes nodetool repair periodically but accessing the jmx port (7199) from outside of the cassandra pods is not working. I'm fairly sure the problem is that the jmx port is listening on 127.0.0.1 and I need it to listen on the pod ip or even better would be the node ip.



    Has anyone setup something similar?



    Inside the pod



    root@cassandra-0:/# nc -vz localhost 9042
    localhost [127.0.0.1] 9042 (?) open
    root@cassandra-0:/# nc -vz localhost 7199
    localhost [127.0.0.1] 7199 (?) open


    Outside the pod



    $ nc -vz localhost 9042
    nc: connect to localhost port 9042 (tcp) failed: Connection refused
    Connection to localhost 9042 port [tcp/*] succeeded!
    $ nc -vz localhost 7199
    nc: connect to localhost port 7199 (tcp) failed: Connection refused
    nc: connect to localhost port 7199 (tcp) failed: Connection refused


    Outside the pod using the pod ip



    $ nc -vz 10.244.1.20 7199
    nc: connect to 10.244.1.20 port 7199 (tcp) failed: Connection refused
    $ nc -vz 10.244.1.20 9042
    Connection to 10.244.1.20 9042 port [tcp/*] succeeded!




    apiVersion: v1
    kind: Service
    metadata:
    labels:
    app: cassandra
    name: cassandra
    spec:
    clusterIP: None
    ports:
    - port: 9042
    selector:
    app: cassandra
    ---
    apiVersion: apps/v1beta1
    kind: StatefulSet
    metadata:
    name: cassandra
    labels:
    app: cassandra
    spec:
    serviceName: cassandra
    replicas: .Values.global.replicas
    selector:
    matchLabels:
    app: cassandra
    template:
    metadata:
    labels:
    app: cassandra
    spec:
    terminationGracePeriodSeconds: 1800
    containers:
    - name: cassandra
    image: cassandra:3.11.3
    imagePullPolicy: Always
    ports:
    - containerPort: 7000
    name: intra-node
    - containerPort: 7001
    name: tls-intra-node
    - containerPort: 7199
    name: jmx
    hostPort: 7199
    - containerPort: 9042
    hostPort: 9042
    name: cql
    resources:
    limits:
    cpu: "500m"
    memory: 1Gi
    requests:
    cpu: "500m"
    memory: 1Gi
    securityContext:
    capabilities:
    add:
    - IPC_LOCK
    lifecycle:
    preStop:
    exec:
    command:
    - /bin/sh
    - -c
    - nodetool drain
    env:
    - name: MAX_HEAP_SIZE
    value: 512M
    - name: HEAP_NEWSIZE
    value: 100M
    - name: CASSANDRA_SEEDS
    value: "cassandra-0.cassandra.default.svc.cluster.local"
    - name: CASSANDRA_CLUSTER_NAME
    value: "K8Demo"
    - name: CASSANDRA_DC
    value: "DC1-K8Demo"
    - name: CASSANDRA_RACK
    value: "Rack1-K8Demo"
    - name: POD_IP
    valueFrom:
    fieldRef:
    fieldPath: status.podIP
    volumeMounts:
    - name: cassandra-data
    mountPath: /var/lib/cassandra/data
    volumes:
    - name: cassandra-data
    hostPath:
    path: /data/cassandra









    share|improve this question
























      0












      0








      0








      We are running cassandra on kubernetes using the yaml below. It's working fine except for nodetool. We would like to have a kubernetes cronjob that executes nodetool repair periodically but accessing the jmx port (7199) from outside of the cassandra pods is not working. I'm fairly sure the problem is that the jmx port is listening on 127.0.0.1 and I need it to listen on the pod ip or even better would be the node ip.



      Has anyone setup something similar?



      Inside the pod



      root@cassandra-0:/# nc -vz localhost 9042
      localhost [127.0.0.1] 9042 (?) open
      root@cassandra-0:/# nc -vz localhost 7199
      localhost [127.0.0.1] 7199 (?) open


      Outside the pod



      $ nc -vz localhost 9042
      nc: connect to localhost port 9042 (tcp) failed: Connection refused
      Connection to localhost 9042 port [tcp/*] succeeded!
      $ nc -vz localhost 7199
      nc: connect to localhost port 7199 (tcp) failed: Connection refused
      nc: connect to localhost port 7199 (tcp) failed: Connection refused


      Outside the pod using the pod ip



      $ nc -vz 10.244.1.20 7199
      nc: connect to 10.244.1.20 port 7199 (tcp) failed: Connection refused
      $ nc -vz 10.244.1.20 9042
      Connection to 10.244.1.20 9042 port [tcp/*] succeeded!




      apiVersion: v1
      kind: Service
      metadata:
      labels:
      app: cassandra
      name: cassandra
      spec:
      clusterIP: None
      ports:
      - port: 9042
      selector:
      app: cassandra
      ---
      apiVersion: apps/v1beta1
      kind: StatefulSet
      metadata:
      name: cassandra
      labels:
      app: cassandra
      spec:
      serviceName: cassandra
      replicas: .Values.global.replicas
      selector:
      matchLabels:
      app: cassandra
      template:
      metadata:
      labels:
      app: cassandra
      spec:
      terminationGracePeriodSeconds: 1800
      containers:
      - name: cassandra
      image: cassandra:3.11.3
      imagePullPolicy: Always
      ports:
      - containerPort: 7000
      name: intra-node
      - containerPort: 7001
      name: tls-intra-node
      - containerPort: 7199
      name: jmx
      hostPort: 7199
      - containerPort: 9042
      hostPort: 9042
      name: cql
      resources:
      limits:
      cpu: "500m"
      memory: 1Gi
      requests:
      cpu: "500m"
      memory: 1Gi
      securityContext:
      capabilities:
      add:
      - IPC_LOCK
      lifecycle:
      preStop:
      exec:
      command:
      - /bin/sh
      - -c
      - nodetool drain
      env:
      - name: MAX_HEAP_SIZE
      value: 512M
      - name: HEAP_NEWSIZE
      value: 100M
      - name: CASSANDRA_SEEDS
      value: "cassandra-0.cassandra.default.svc.cluster.local"
      - name: CASSANDRA_CLUSTER_NAME
      value: "K8Demo"
      - name: CASSANDRA_DC
      value: "DC1-K8Demo"
      - name: CASSANDRA_RACK
      value: "Rack1-K8Demo"
      - name: POD_IP
      valueFrom:
      fieldRef:
      fieldPath: status.podIP
      volumeMounts:
      - name: cassandra-data
      mountPath: /var/lib/cassandra/data
      volumes:
      - name: cassandra-data
      hostPath:
      path: /data/cassandra









      share|improve this question














      We are running cassandra on kubernetes using the yaml below. It's working fine except for nodetool. We would like to have a kubernetes cronjob that executes nodetool repair periodically but accessing the jmx port (7199) from outside of the cassandra pods is not working. I'm fairly sure the problem is that the jmx port is listening on 127.0.0.1 and I need it to listen on the pod ip or even better would be the node ip.



      Has anyone setup something similar?



      Inside the pod



      root@cassandra-0:/# nc -vz localhost 9042
      localhost [127.0.0.1] 9042 (?) open
      root@cassandra-0:/# nc -vz localhost 7199
      localhost [127.0.0.1] 7199 (?) open


      Outside the pod



      $ nc -vz localhost 9042
      nc: connect to localhost port 9042 (tcp) failed: Connection refused
      Connection to localhost 9042 port [tcp/*] succeeded!
      $ nc -vz localhost 7199
      nc: connect to localhost port 7199 (tcp) failed: Connection refused
      nc: connect to localhost port 7199 (tcp) failed: Connection refused


      Outside the pod using the pod ip



      $ nc -vz 10.244.1.20 7199
      nc: connect to 10.244.1.20 port 7199 (tcp) failed: Connection refused
      $ nc -vz 10.244.1.20 9042
      Connection to 10.244.1.20 9042 port [tcp/*] succeeded!




      apiVersion: v1
      kind: Service
      metadata:
      labels:
      app: cassandra
      name: cassandra
      spec:
      clusterIP: None
      ports:
      - port: 9042
      selector:
      app: cassandra
      ---
      apiVersion: apps/v1beta1
      kind: StatefulSet
      metadata:
      name: cassandra
      labels:
      app: cassandra
      spec:
      serviceName: cassandra
      replicas: .Values.global.replicas
      selector:
      matchLabels:
      app: cassandra
      template:
      metadata:
      labels:
      app: cassandra
      spec:
      terminationGracePeriodSeconds: 1800
      containers:
      - name: cassandra
      image: cassandra:3.11.3
      imagePullPolicy: Always
      ports:
      - containerPort: 7000
      name: intra-node
      - containerPort: 7001
      name: tls-intra-node
      - containerPort: 7199
      name: jmx
      hostPort: 7199
      - containerPort: 9042
      hostPort: 9042
      name: cql
      resources:
      limits:
      cpu: "500m"
      memory: 1Gi
      requests:
      cpu: "500m"
      memory: 1Gi
      securityContext:
      capabilities:
      add:
      - IPC_LOCK
      lifecycle:
      preStop:
      exec:
      command:
      - /bin/sh
      - -c
      - nodetool drain
      env:
      - name: MAX_HEAP_SIZE
      value: 512M
      - name: HEAP_NEWSIZE
      value: 100M
      - name: CASSANDRA_SEEDS
      value: "cassandra-0.cassandra.default.svc.cluster.local"
      - name: CASSANDRA_CLUSTER_NAME
      value: "K8Demo"
      - name: CASSANDRA_DC
      value: "DC1-K8Demo"
      - name: CASSANDRA_RACK
      value: "Rack1-K8Demo"
      - name: POD_IP
      valueFrom:
      fieldRef:
      fieldPath: status.podIP
      volumeMounts:
      - name: cassandra-data
      mountPath: /var/lib/cassandra/data
      volumes:
      - name: cassandra-data
      hostPath:
      path: /data/cassandra






      kubernetes cassandra nodetool






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked May 16 at 1:15









      rvabdnrvabdn

      1507




      1507




















          0






          active

          oldest

          votes












          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "2"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f967485%2fautomating-nodetool-repair-for-cassandra-on-kubernetes%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Server Fault!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f967485%2fautomating-nodetool-repair-for-cassandra-on-kubernetes%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

          Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

          What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company