thelastpickle / cassandra-reaper

Automated Repair Awesomeness for Apache Cassandra
http://cassandra-reaper.io/
Apache License 2.0
484 stars 217 forks source link

Could not start repair job #734

Open therb1 opened 5 years ago

therb1 commented 5 years ago

Project board link

Hi TLP,

When I try to start the repair from the web interface, the repair button remains inactive even after filling in all the fields

Environment

OS: Ubuntu 16.04.2 LTS cassandra-reaper Version: 1.4.4

Config

# Copyright 2015-2017 Spotify AB
# Copyright 2016-2019 The Last Pickle Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Cassandra Reaper Configuration Example.
# See a bit more complete example in:
# src/server/src/test/resources/cassandra-reaper.yaml
segmentCountPerNode: 16
repairParallelism: DATACENTER_AWARE
repairIntensity: 0.9
scheduleDaysBetween: 7
repairRunThreadCount: 15
hangingRepairTimeoutMins: 30
storageType: cassandra
enableCrossOrigin: true
incrementalRepair: false
blacklistTwcsTables: false
enableDynamicSeedList: true
repairManagerSchedulingIntervalSeconds: 10
activateQueryLogger: true
jmxConnectionTimeoutInSeconds: 20
useAddressTranslator: false
# purgeRecordsAfterInDays: 30
# numberOfRunsToKeepPerUnit: 10

# datacenterAvailability has three possible values: ALL | LOCAL | EACH
# the correct value to use depends on whether jmx ports to C* nodes in remote datacenters are accessible
# If the reaper has access to all node jmx ports, across all datacenters, then configure to ALL.
# If jmx access is only available to nodes in the same datacenter as reaper in running in, then configure to LOCAL.
# If there's a reaper instance running in every datacenter, and it's important that nodes under duress are not involved in repairs,
#    then configure to EACH.
#
# The default is ALL
datacenterAvailability: ALL

# any cassandra nodes on 127.0.0.x addresses we presume are ccm nodes
#jmxPorts:
#  127.0.0.1: 7100
#  127.0.0.2: 7200
#  127.0.0.3: 7300
#  127.0.0.4: 7400
#  127.0.0.5: 7500
#  127.0.0.6: 7600
#  127.0.0.7: 7700
#  127.0.0.8: 7800

#jmxAuth:
#  username: myUsername
#  password: myPassword

logging:
  level: INFO
  loggers:
    io.dropwizard: WARN
    org.eclipse.jetty: WARN
  appenders:
    - type: console
      logFormat: "%-6level [%d] [%t] %logger{5} - %msg %n"
      threshold: WARN
    - type: file
      logFormat: "%-6level [%t] %logger{5} - %msg %n"
      currentLogFilename: /var/log/cassandra-reaper/reaper.log
      archivedLogFilenamePattern: /var/log/cassandra-reaper/reaper-%d.log.gz
      archivedFileCount: 99

server:
  type: default
  applicationConnectors:
    - type: http
      port: 8080
      bindHost: 0.0.0.0
  adminConnectors:
    - type: http
      port: 8081
      bindHost: 0.0.0.0
  requestLog:
    appenders: []

cassandra:
  clusterName: "clustername"
  contactPoints: ["10.0.1.180","10.0.1.181","10.0.1.182","10.0.1.183","10.0.1.184","10.0.1.185","10.0.1.186","10.0.1.187","10.0.1.188","10.0.1.189","10.0.1.190","10.0.1.191","10.0.1.192","10.0.1.193"]
  keyspace: reaper_db
  loadBalancingPolicy:
    type: tokenAware
    shuffleReplicas: true
    subPolicy:
      type: dcAwareRoundRobin
      localDC:
      usedHostsPerRemoteDC: 0
      allowRemoteDCsForLocalConsistencyLevel: false

autoScheduling:
  enabled: false
  initialDelayPeriod: PT15S
  periodBetweenPolls: PT10M
  timeBeforeFirstSchedule: PT5M
  scheduleSpreadPeriod: PT6H
  excludedKeyspaces:
    - keyspace1
    - keyspace2

# Uncomment the following to enable dropwizard metrics
#  Configure to the reporter of your choice
#  Reaper also provides prometheus metrics on the admin port at /prometheusMetrics

metrics:
  frequency: 1 minute
  reporters:
    - type: log
      logger: metrics

# Authentication is enabled by default
accessControl:
  sessionTimeout: PT10M
  shiro:
    iniConfigs: ["classpath:shiro.ini"]

Cassandra

Version: 3.9 DCs: 2 Cluster Size: 6 nodes Number of Non-System Keyspaces: 10

Screenshot

m o

Console log

servername-cassandra-reaper-1-1564759400132.txt

┆Issue is synchronized with this Jira Story by Unito

therb1 commented 5 years ago

Work around: This error occurs when you have more than 1 cluster registered. You need to re-select the cluster in the cluster section. after that, js begins to understand what cluster you are talking about.

And then error is disappears: GET error http://servername-cassandra-reaper-1:8080/cluster/undefined 404 (Not Found)