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

          Club Baloncesto Breogán Índice Historia | Pavillón | Nome | O Breogán na cultura popular | Xogadores | Adestradores | Presidentes | Palmarés | Historial | Líderes | Notas | Véxase tamén | Menú de navegacióncbbreogan.galCadroGuía oficial da ACB 2009-10, páxina 201Guía oficial ACB 1992, páxina 183. Editorial DB.É de 6.500 espectadores sentados axeitándose á última normativa"Estudiantes Junior, entre as mellores canteiras"o orixinalHemeroteca El Mundo Deportivo, 16 setembro de 1970, páxina 12Historia do BreogánAlfredo Pérez, o último canoneiroHistoria C.B. BreogánHemeroteca de El Mundo DeportivoJimmy Wright, norteamericano do Breogán deixará Lugo por ameazas de morteResultados de Breogán en 1986-87Resultados de Breogán en 1990-91Ficha de Velimir Perasović en acb.comResultados de Breogán en 1994-95Breogán arrasa al Barça. "El Mundo Deportivo", 27 de setembro de 1999, páxina 58CB Breogán - FC BarcelonaA FEB invita a participar nunha nova Liga EuropeaCharlie Bell na prensa estatalMáximos anotadores 2005Tempada 2005-06 : Tódolos Xogadores da Xornada""Non quero pensar nunha man negra, mais pregúntome que está a pasar""o orixinalRaúl López, orgulloso dos xogadores, presume da boa saúde económica do BreogánJulio González confirma que cesa como presidente del BreogánHomenaxe a Lisardo GómezA tempada do rexurdimento celesteEntrevista a Lisardo GómezEl COB dinamita el Pazo para forzar el quinto (69-73)Cafés Candelas, patrocinador del CB Breogán"Suso Lázare, novo presidente do Breogán"o orixinalCafés Candelas Breogán firma el mayor triunfo de la historiaEl Breogán realizará 17 homenajes por su cincuenta aniversario"O Breogán honra ao seu fundador e primeiro presidente"o orixinalMiguel Giao recibiu a homenaxe do PazoHomenaxe aos primeiros gladiadores celestesO home que nos amosa como ver o Breo co corazónTita Franco será homenaxeada polos #50anosdeBreoJulio Vila recibirá unha homenaxe in memoriam polos #50anosdeBreo"O Breogán homenaxeará aos seus aboados máis veteráns"Pechada ovación a «Capi» Sanmartín e Ricardo «Corazón de González»Homenaxe por décadas de informaciónPaco García volve ao Pazo con motivo do 50 aniversario"Resultados y clasificaciones""O Cafés Candelas Breogán, campión da Copa Princesa""O Cafés Candelas Breogán, equipo ACB"C.B. Breogán"Proxecto social"o orixinal"Centros asociados"o orixinalFicha en imdb.comMario Camus trata la recuperación del amor en 'La vieja música', su última película"Páxina web oficial""Club Baloncesto Breogán""C. B. Breogán S.A.D."eehttp://www.fegaba.com

          Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

          Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020