Merge pull request #37145 from mstump/issue-34422-bump-cassandra-version
Automatic merge from submit-queue (batch tested with PRs 37701, 36702, 37145, 37424, 38261) Fix for #34422: bump C* version to 3.9 Fix for #34422
This commit is contained in:
commit
dd974b7412
|
@ -20,8 +20,7 @@ ENV DI_VERSION="1.1.1" DI_SHA="dec8167091671df0dd3748a8938102479db5fffc"
|
|||
|
||||
RUN mv /java.list /etc/apt/sources.list.d/java.list \
|
||||
&& apt-get update \
|
||||
&& apt-get -qq -y install --no-install-recommends procps openjdk-8-jre-headless libjemalloc1 curl \
|
||||
localepurge \
|
||||
&& apt-get -qq -y --force-yes install --no-install-recommends procps openjdk-8-jre-headless libjemalloc1 curl localepurge \
|
||||
&& curl -L https://github.com/Yelp/dumb-init/releases/download/v${DI_VERSION}/dumb-init_${DI_VERSION}_amd64 > /sbin/dumb-init \
|
||||
&& echo "$DI_SHA /sbin/dumb-init" | sha1sum -c - \
|
||||
&& mv /cassandra.list /etc/apt/sources.list.d/cassandra.list \
|
||||
|
@ -31,11 +30,13 @@ RUN mv /java.list /etc/apt/sources.list.d/java.list \
|
|||
&& gpg --export --armor 2B5C1B00 | apt-key add - \
|
||||
&& gpg --keyserver pgp.mit.edu --recv-keys 0353B12C \
|
||||
&& gpg --export --armor 0353B12C | apt-key add - \
|
||||
&& gpg --keyserver pool.sks-keyservers.net --recv-keys A278B781FE4B2BDA \
|
||||
&& gpg --export --armor A278B781FE4B2BDA | apt-key add - \
|
||||
&& apt-get update \
|
||||
&& apt-get -qq -y install --no-install-recommends curl cassandra localepurge \
|
||||
&& apt-get -qq -y --force-yes install --no-install-recommends curl cassandra localepurge \
|
||||
&& chmod a+rx /run.sh /sbin/dumb-init /ready-probe.sh \
|
||||
&& mkdir -p /cassandra_data/data \
|
||||
&& mv /logback.xml /cassandra.yaml /etc/cassandra/ \
|
||||
&& mv /logback.xml /cassandra.yaml /jvm.options /etc/cassandra/ \
|
||||
|
||||
# Not able to run as cassandra until https://github.com/kubernetes/kubernetes/issues/2630 is resolved
|
||||
# && chown -R cassandra: /etc/cassandra /cassandra_data /run.sh /kubernetes-cassandra.jar \
|
||||
|
@ -61,7 +62,6 @@ RUN mv /java.list /etc/apt/sources.list.d/java.list \
|
|||
/usr/share/man/ \
|
||||
/tmp/*
|
||||
|
||||
|
||||
VOLUME ["/cassandra_data"]
|
||||
|
||||
# 7000: intra-node communication
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
deb http://www.apache.org/dist/cassandra/debian 37x main
|
||||
deb-src http://www.apache.org/dist/cassandra/debian 37x main
|
||||
deb http://www.apache.org/dist/cassandra/debian 39x main
|
||||
deb-src http://www.apache.org/dist/cassandra/debian 39x main
|
||||
|
|
|
@ -0,0 +1,240 @@
|
|||
###########################################################################
|
||||
# jvm.options #
|
||||
# #
|
||||
# - all flags defined here will be used by cassandra to startup the JVM #
|
||||
# - one flag should be specified per line #
|
||||
# - lines that do not start with '-' will be ignored #
|
||||
# - only static flags are accepted (no variables or parameters) #
|
||||
# - dynamic flags will be appended to these on cassandra-env #
|
||||
###########################################################################
|
||||
|
||||
######################
|
||||
# STARTUP PARAMETERS #
|
||||
######################
|
||||
|
||||
# Uncomment any of the following properties to enable specific startup parameters
|
||||
|
||||
# In a multi-instance deployment, multiple Cassandra instances will independently assume that all
|
||||
# CPU processors are available to it. This setting allows you to specify a smaller set of processors
|
||||
# and perhaps have affinity.
|
||||
#-Dcassandra.available_processors=number_of_processors
|
||||
|
||||
# The directory location of the cassandra.yaml file.
|
||||
#-Dcassandra.config=directory
|
||||
|
||||
# Sets the initial partitioner token for a node the first time the node is started.
|
||||
#-Dcassandra.initial_token=token
|
||||
|
||||
# Set to false to start Cassandra on a node but not have the node join the cluster.
|
||||
#-Dcassandra.join_ring=true|false
|
||||
|
||||
# Set to false to clear all gossip state for the node on restart. Use when you have changed node
|
||||
# information in cassandra.yaml (such as listen_address).
|
||||
#-Dcassandra.load_ring_state=true|false
|
||||
|
||||
# Enable pluggable metrics reporter. See Pluggable metrics reporting in Cassandra 2.0.2.
|
||||
#-Dcassandra.metricsReporterConfigFile=file
|
||||
|
||||
# Set the port on which the CQL native transport listens for clients. (Default: 9042)
|
||||
#-Dcassandra.native_transport_port=port
|
||||
|
||||
# Overrides the partitioner. (Default: org.apache.cassandra.dht.Murmur3Partitioner)
|
||||
#-Dcassandra.partitioner=partitioner
|
||||
|
||||
# To replace a node that has died, restart a new node in its place specifying the address of the
|
||||
# dead node. The new node must not have any data in its data directory, that is, it must be in the
|
||||
# same state as before bootstrapping.
|
||||
#-Dcassandra.replace_address=listen_address or broadcast_address of dead node
|
||||
|
||||
# Allow restoring specific tables from an archived commit log.
|
||||
#-Dcassandra.replayList=table
|
||||
|
||||
# Allows overriding of the default RING_DELAY (1000ms), which is the amount of time a node waits
|
||||
# before joining the ring.
|
||||
#-Dcassandra.ring_delay_ms=ms
|
||||
|
||||
# Set the port for the Thrift RPC service, which is used for client connections. (Default: 9160)
|
||||
#-Dcassandra.rpc_port=port
|
||||
|
||||
# Set the SSL port for encrypted communication. (Default: 7001)
|
||||
#-Dcassandra.ssl_storage_port=port
|
||||
|
||||
# Enable or disable the native transport server. See start_native_transport in cassandra.yaml.
|
||||
# cassandra.start_native_transport=true|false
|
||||
|
||||
# Enable or disable the Thrift RPC server. (Default: true)
|
||||
#-Dcassandra.start_rpc=true/false
|
||||
|
||||
# Set the port for inter-node communication. (Default: 7000)
|
||||
#-Dcassandra.storage_port=port
|
||||
|
||||
# Set the default location for the trigger JARs. (Default: conf/triggers)
|
||||
#-Dcassandra.triggers_dir=directory
|
||||
|
||||
# For testing new compaction and compression strategies. It allows you to experiment with different
|
||||
# strategies and benchmark write performance differences without affecting the production workload.
|
||||
#-Dcassandra.write_survey=true
|
||||
|
||||
# To disable configuration via JMX of auth caches (such as those for credentials, permissions and
|
||||
# roles). This will mean those config options can only be set (persistently) in cassandra.yaml
|
||||
# and will require a restart for new values to take effect.
|
||||
#-Dcassandra.disable_auth_caches_remote_configuration=true
|
||||
|
||||
########################
|
||||
# GENERAL JVM SETTINGS #
|
||||
########################
|
||||
|
||||
# enable assertions. disabling this in production will give a modest
|
||||
# performance benefit (around 5%).
|
||||
-ea
|
||||
|
||||
# enable thread priorities, primarily so we can give periodic tasks
|
||||
# a lower priority to avoid interfering with client workload
|
||||
-XX:+UseThreadPriorities
|
||||
|
||||
# allows lowering thread priority without being root on linux - probably
|
||||
# not necessary on Windows but doesn't harm anything.
|
||||
# see http://tech.stolsvik.com/2010/01/linux-java-thread-priorities-workar
|
||||
-XX:ThreadPriorityPolicy=42
|
||||
|
||||
# Enable heap-dump if there's an OOM
|
||||
-XX:+HeapDumpOnOutOfMemoryError
|
||||
|
||||
# Per-thread stack size.
|
||||
-Xss256k
|
||||
|
||||
# Larger interned string table, for gossip's benefit (CASSANDRA-6410)
|
||||
-XX:StringTableSize=1000003
|
||||
|
||||
# Make sure all memory is faulted and zeroed on startup.
|
||||
# This helps prevent soft faults in containers and makes
|
||||
# transparent hugepage allocation more effective.
|
||||
-XX:+AlwaysPreTouch
|
||||
|
||||
# Disable biased locking as it does not benefit Cassandra.
|
||||
-XX:-UseBiasedLocking
|
||||
|
||||
# Enable thread-local allocation blocks and allow the JVM to automatically
|
||||
# resize them at runtime.
|
||||
-XX:+UseTLAB
|
||||
-XX:+ResizeTLAB
|
||||
|
||||
# http://www.evanjones.ca/jvm-mmap-pause.html
|
||||
-XX:+PerfDisableSharedMem
|
||||
|
||||
# Prefer binding to IPv4 network intefaces (when net.ipv6.bindv6only=1). See
|
||||
# http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6342561 (short version:
|
||||
# comment out this entry to enable IPv6 support).
|
||||
-Djava.net.preferIPv4Stack=true
|
||||
|
||||
### Debug options
|
||||
|
||||
# uncomment to enable flight recorder
|
||||
#-XX:+UnlockCommercialFeatures
|
||||
#-XX:+FlightRecorder
|
||||
|
||||
# uncomment to have Cassandra JVM listen for remote debuggers/profilers on port 1414
|
||||
#-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1414
|
||||
|
||||
# uncomment to have Cassandra JVM log internal method compilation (developers only)
|
||||
#-XX:+UnlockDiagnosticVMOptions
|
||||
#-XX:+LogCompilation
|
||||
|
||||
#################
|
||||
# HEAP SETTINGS #
|
||||
#################
|
||||
|
||||
# Heap size is automatically calculated by cassandra-env based on this
|
||||
# formula: max(min(1/2 ram, 1024MB), min(1/4 ram, 8GB))
|
||||
# That is:
|
||||
# - calculate 1/2 ram and cap to 1024MB
|
||||
# - calculate 1/4 ram and cap to 8192MB
|
||||
# - pick the max
|
||||
#
|
||||
# For production use you may wish to adjust this for your environment.
|
||||
# If that's the case, uncomment the -Xmx and Xms options below to override the
|
||||
# automatic calculation of JVM heap memory.
|
||||
#
|
||||
# It is recommended to set min (-Xms) and max (-Xmx) heap sizes to
|
||||
# the same value to avoid stop-the-world GC pauses during resize, and
|
||||
# so that we can lock the heap in memory on startup to prevent any
|
||||
# of it from being swapped out.
|
||||
#-Xms4G
|
||||
#-Xmx4G
|
||||
|
||||
# Young generation size is automatically calculated by cassandra-env
|
||||
# based on this formula: min(100 * num_cores, 1/4 * heap size)
|
||||
#
|
||||
# The main trade-off for the young generation is that the larger it
|
||||
# is, the longer GC pause times will be. The shorter it is, the more
|
||||
# expensive GC will be (usually).
|
||||
#
|
||||
# It is not recommended to set the young generation size if using the
|
||||
# G1 GC, since that will override the target pause-time goal.
|
||||
# More info: http://www.oracle.com/technetwork/articles/java/g1gc-1984535.html
|
||||
#
|
||||
# The example below assumes a modern 8-core+ machine for decent
|
||||
# times. If in doubt, and if you do not particularly want to tweak, go
|
||||
# 100 MB per physical CPU core.
|
||||
#-Xmn800M
|
||||
|
||||
#################
|
||||
# GC SETTINGS #
|
||||
#################
|
||||
|
||||
### CMS Settings
|
||||
|
||||
#-XX:+UseParNewGC
|
||||
#-XX:+UseConcMarkSweepGC
|
||||
#-XX:+CMSParallelRemarkEnabled
|
||||
#-XX:SurvivorRatio=8
|
||||
#-XX:MaxTenuringThreshold=1
|
||||
#-XX:CMSInitiatingOccupancyFraction=75
|
||||
#-XX:+UseCMSInitiatingOccupancyOnly
|
||||
#-XX:CMSWaitDuration=10000
|
||||
#-XX:+CMSParallelInitialMarkEnabled
|
||||
#-XX:+CMSEdenChunksRecordAlways
|
||||
# some JVMs will fill up their heap when accessed via JMX, see CASSANDRA-6541
|
||||
#-XX:+CMSClassUnloadingEnabled
|
||||
|
||||
### G1 Settings (experimental, comment previous section and uncomment section below to enable)
|
||||
|
||||
## Use the Hotspot garbage-first collector.
|
||||
-XX:+UseG1GC
|
||||
#
|
||||
## Have the JVM do less remembered set work during STW, instead
|
||||
## preferring concurrent GC. Reduces p99.9 latency.
|
||||
-XX:G1RSetUpdatingPauseTimePercent=5
|
||||
#
|
||||
## Main G1GC tunable: lowering the pause target will lower throughput and vise versa.
|
||||
## 200ms is the JVM default and lowest viable setting
|
||||
## 1000ms increases throughput. Keep it smaller than the timeouts in cassandra.yaml.
|
||||
#-XX:MaxGCPauseMillis=500
|
||||
|
||||
## Optional G1 Settings
|
||||
|
||||
# Save CPU time on large (>= 16GB) heaps by delaying region scanning
|
||||
# until the heap is 70% full. The default in Hotspot 8u40 is 40%.
|
||||
#-XX:InitiatingHeapOccupancyPercent=70
|
||||
|
||||
# For systems with > 8 cores, the default ParallelGCThreads is 5/8 the number of logical cores.
|
||||
# Otherwise equal to the number of cores when 8 or less.
|
||||
# Machines with > 10 cores should try setting these to <= full cores.
|
||||
#-XX:ParallelGCThreads=16
|
||||
# By default, ConcGCThreads is 1/4 of ParallelGCThreads.
|
||||
# Setting both to the same value can reduce STW durations.
|
||||
#-XX:ConcGCThreads=16
|
||||
|
||||
### GC logging options -- uncomment to enable
|
||||
|
||||
-XX:+PrintGCDetails
|
||||
-XX:+PrintGCDateStamps
|
||||
-XX:+PrintHeapAtGC
|
||||
-XX:+PrintTenuringDistribution
|
||||
-XX:+PrintGCApplicationStoppedTime
|
||||
-XX:+PrintPromotionFailure
|
||||
#-XX:PrintFLSStatistics=1
|
||||
#-Xloggc:/var/log/cassandra/gc.log
|
||||
-XX:+UseGCLogFileRotation
|
||||
-XX:NumberOfGCLogFiles=10
|
||||
-XX:GCLogFileSize=10M
|
Binary file not shown.
|
@ -15,15 +15,15 @@
|
|||
# limitations under the License.
|
||||
|
||||
set -e
|
||||
CONF_DIR=/etc/cassandra
|
||||
CFG=$CONF_DIR/cassandra.yaml
|
||||
CASSANDRA_CONF_DIR=/etc/cassandra
|
||||
CASSANDRA_CFG=$CASSANDRA_CONF_DIR/cassandra.yaml
|
||||
|
||||
# we are doing StatefulSet or just setting our seeds
|
||||
if [ -z "$CASSANDRA_SEEDS" ]; then
|
||||
HOSTNAME=$(hostname -f)
|
||||
fi
|
||||
|
||||
# The following vars relate to there counter parts in $CFG
|
||||
# The following vars relate to there counter parts in $CASSANDRA_CFG
|
||||
# for instance rpc_address
|
||||
CASSANDRA_RPC_ADDRESS="${CASSANDRA_RPC_ADDRESS:-0.0.0.0}"
|
||||
CASSANDRA_NUM_TOKENS="${CASSANDRA_NUM_TOKENS:-32}"
|
||||
|
@ -47,79 +47,125 @@ CASSANDRA_OPEN_JMX="${CASSANDRA_OPEN_JMX:-false}"
|
|||
# send GC to STDOUT
|
||||
CASSANDRA_GC_STDOUT="${CASSANDRA_GC_STDOUT:-false}"
|
||||
|
||||
echo Starting Cassandra on ${CASSANDRA_LISTEN_ADDRESS}
|
||||
echo CASSANDRA_CONF_DIR ${CASSANDRA_CONF_DIR}
|
||||
echo CASSANDRA_CFG ${CASSANDRA_CFG}
|
||||
echo CASSANDRA_AUTO_BOOTSTRAP ${CASSANDRA_AUTO_BOOTSTRAP}
|
||||
echo CASSANDRA_BROADCAST_ADDRESS ${CASSANDRA_BROADCAST_ADDRESS}
|
||||
echo CASSANDRA_BROADCAST_RPC_ADDRESS ${CASSANDRA_BROADCAST_RPC_ADDRESS}
|
||||
echo CASSANDRA_CLUSTER_NAME ${CASSANDRA_CLUSTER_NAME}
|
||||
echo CASSANDRA_COMPACTION_THROUGHPUT_MB_PER_SEC ${CASSANDRA_COMPACTION_THROUGHPUT_MB_PER_SEC}
|
||||
echo CASSANDRA_CONCURRENT_COMPACTORS ${CASSANDRA_CONCURRENT_COMPACTORS}
|
||||
echo CASSANDRA_CONCURRENT_READS ${CASSANDRA_CONCURRENT_READS}
|
||||
echo CASSANDRA_CONCURRENT_WRITES ${CASSANDRA_CONCURRENT_WRITES}
|
||||
echo CASSANDRA_COUNTER_CACHE_SIZE_IN_MB ${CASSANDRA_COUNTER_CACHE_SIZE_IN_MB}
|
||||
echo CASSANDRA_DC ${CASSANDRA_DC}
|
||||
echo CASSANDRA_DISK_OPTIMIZATION_STRATEGY ${CASSANDRA_DISK_OPTIMIZATION_STRATEGY}
|
||||
echo CASSANDRA_ENDPOINT_SNITCH ${CASSANDRA_ENDPOINT_SNITCH}
|
||||
echo CASSANDRA_GC_WARN_THRESHOLD_IN_MS ${CASSANDRA_GC_WARN_THRESHOLD_IN_MS}
|
||||
echo CASSANDRA_INTERNODE_COMPRESSION ${CASSANDRA_INTERNODE_COMPRESSION}
|
||||
echo CASSANDRA_KEY_CACHE_SIZE_IN_MB ${CASSANDRA_KEY_CACHE_SIZE_IN_MB}
|
||||
echo CASSANDRA_LISTEN_ADDRESS ${CASSANDRA_LISTEN_ADDRESS}
|
||||
echo CASSANDRA_LISTEN_INTERFACE ${CASSANDRA_LISTEN_INTERFACE}
|
||||
echo CASSANDRA_MEMTABLE_ALLOCATION_TYPE ${CASSANDRA_MEMTABLE_ALLOCATION_TYPE}
|
||||
echo CASSANDRA_MEMTABLE_CLEANUP_THRESHOLD ${CASSANDRA_MEMTABLE_CLEANUP_THRESHOLD}
|
||||
echo CASSANDRA_MEMTABLE_FLUSH_WRITERS ${CASSANDRA_MEMTABLE_FLUSH_WRITERS}
|
||||
echo CASSANDRA_MIGRATION_WAIT ${CASSANDRA_MIGRATION_WAIT}
|
||||
echo CASSANDRA_NUM_TOKENS ${CASSANDRA_NUM_TOKENS}
|
||||
echo CASSANDRA_RACK ${CASSANDRA_RACK}
|
||||
echo CASSANDRA_RING_DELAY ${CASSANDRA_RING_DELAY}
|
||||
echo CASSANDRA_RPC_ADDRESS ${CASSANDRA_RPC_ADDRESS}
|
||||
echo CASSANDRA_RPC_INTERFACE ${CASSANDRA_RPC_INTERFACE}
|
||||
echo CASSANDRA_SEEDS ${CASSANDRA_SEEDS}
|
||||
echo CASSANDRA_SEED_PROVIDER ${CASSANDRA_SEED_PROVIDER}
|
||||
|
||||
|
||||
# if DC and RACK are set, use GossipingPropertyFileSnitch
|
||||
if [[ $CASSANDRA_DC && $CASSANDRA_RACK ]]; then
|
||||
echo "dc=$CASSANDRA_DC" > $CONF_DIR/cassandra-rackdc.properties
|
||||
echo "rack=$CASSANDRA_RACK" >> $CONF_DIR/cassandra-rackdc.properties
|
||||
echo "dc=$CASSANDRA_DC" > $CASSANDRA_CONF_DIR/cassandra-rackdc.properties
|
||||
echo "rack=$CASSANDRA_RACK" >> $CASSANDRA_CONF_DIR/cassandra-rackdc.properties
|
||||
CASSANDRA_ENDPOINT_SNITCH="GossipingPropertyFileSnitch"
|
||||
fi
|
||||
|
||||
if [ -n "$CASSANDRA_MAX_HEAP" ]; then
|
||||
sed -ri "s/^(#)?-Xmx[0-9]+.*/-Xmx$CASSANDRA_MAX_HEAP/" "$CASSANDRA_CONF_DIR/jvm.options"
|
||||
sed -ri "s/^(#)?-Xms[0-9]+.*/-Xms$CASSANDRA_MAX_HEAP/" "$CASSANDRA_CONF_DIR/jvm.options"
|
||||
fi
|
||||
|
||||
if [ -n "$CASSANDRA_REPLACE_NODE" ]; then
|
||||
echo "-Dcassandra.replace_address=$CASSANDRA_REPLACE_NODE/" >> "$CASSANDRA_CONF_DIR/jvm.options"
|
||||
fi
|
||||
|
||||
for rackdc in dc rack; do
|
||||
var="CASSANDRA_${rackdc^^}"
|
||||
val="${!var}"
|
||||
if [ "$val" ]; then
|
||||
sed -ri 's/^('"$rackdc"'=).*/\1 '"$val"'/' "$CASSANDRA_CONF_DIR/cassandra-rackdc.properties"
|
||||
fi
|
||||
done
|
||||
|
||||
# TODO what else needs to be modified
|
||||
for yaml in \
|
||||
broadcast_address \
|
||||
broadcast_rpc_address \
|
||||
cluster_name \
|
||||
disk_optimization_strategy \
|
||||
endpoint_snitch \
|
||||
listen_address \
|
||||
num_tokens \
|
||||
rpc_address \
|
||||
disk_optimization_strategy \
|
||||
start_rpc \
|
||||
key_cache_size_in_mb \
|
||||
concurrent_reads \
|
||||
concurrent_writes \
|
||||
memtable_cleanup_threshold \
|
||||
memtable_allocation_type \
|
||||
memtable_flush_writers \
|
||||
concurrent_compactors \
|
||||
compaction_throughput_mb_per_sec \
|
||||
counter_cache_size_in_mb \
|
||||
internode_compression \
|
||||
endpoint_snitch \
|
||||
; do
|
||||
gc_warn_threshold_in_ms \
|
||||
listen_interface \
|
||||
rpc_interface \
|
||||
; do
|
||||
var="CASSANDRA_${yaml^^}"
|
||||
val="${!var}"
|
||||
if [ "$val" ]; then
|
||||
sed -ri 's/^(# )?('"$yaml"':).*/\2 '"$val"'/' "$CFG"
|
||||
sed -ri 's/^(# )?('"$yaml"':).*/\2 '"$val"'/' "$CASSANDRA_CFG"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "auto_bootstrap: ${CASSANDRA_AUTO_BOOTSTRAP}" >> $CFG
|
||||
echo "auto_bootstrap: ${CASSANDRA_AUTO_BOOTSTRAP}" >> $CASSANDRA_CFG
|
||||
|
||||
# set the seed to itself. This is only for the first pod, otherwise
|
||||
# it will be able to get seeds from the seed provider
|
||||
if [[ $CASSANDRA_SEEDS == 'false' ]]; then
|
||||
sed -ri 's/- seeds:.*/- seeds: "'"$POD_IP"'"/' $CFG
|
||||
sed -ri 's/- seeds:.*/- seeds: "'"$POD_IP"'"/' $CASSANDRA_CFG
|
||||
else # if we have seeds set them. Probably StatefulSet
|
||||
sed -ri 's/- seeds:.*/- seeds: "'"$CASSANDRA_SEEDS"'"/' $CFG
|
||||
sed -ri 's/- seeds:.*/- seeds: "'"$CASSANDRA_SEEDS"'"/' $CASSANDRA_CFG
|
||||
fi
|
||||
|
||||
sed -ri 's/- class_name: SEED_PROVIDER/- class_name: '"$CASSANDRA_SEED_PROVIDER"'/' $CFG
|
||||
sed -ri 's/- class_name: SEED_PROVIDER/- class_name: '"$CASSANDRA_SEED_PROVIDER"'/' $CASSANDRA_CFG
|
||||
|
||||
# send gc to stdout
|
||||
if [[ $CASSANDRA_GC_STDOUT == 'true' ]]; then
|
||||
sed -ri 's/ -Xloggc:\/var\/log\/cassandra\/gc\.log//' $CONF_DIR/cassandra-env.sh
|
||||
sed -ri 's/ -Xloggc:\/var\/log\/cassandra\/gc\.log//' $CASSANDRA_CONF_DIR/cassandra-env.sh
|
||||
fi
|
||||
|
||||
# enable RMI and JMX to work on one port
|
||||
echo "JVM_OPTS=\"\$JVM_OPTS -Djava.rmi.server.hostname=$POD_IP\"" >> $CONF_DIR/cassandra-env.sh
|
||||
echo "JVM_OPTS=\"\$JVM_OPTS -Djava.rmi.server.hostname=$POD_IP\"" >> $CASSANDRA_CONF_DIR/cassandra-env.sh
|
||||
|
||||
# getting WARNING messages with Migration Service
|
||||
echo "-Dcassandra.migration_task_wait_in_seconds=${CASSANDRA_MIGRATION_WAIT}" >> $CONF_DIR/jvm.options
|
||||
echo "-Dcassandra.ring_delay_ms=${CASSANDRA_RING_DELAY}" >> $CONF_DIR/jvm.options
|
||||
|
||||
echo "-Dcassandra.migration_task_wait_in_seconds=${CASSANDRA_MIGRATION_WAIT}" >> $CASSANDRA_CONF_DIR/jvm.options
|
||||
echo "-Dcassandra.ring_delay_ms=${CASSANDRA_RING_DELAY}" >> $CASSANDRA_CONF_DIR/jvm.options
|
||||
|
||||
if [[ $CASSANDRA_OPEN_JMX == 'true' ]]; then
|
||||
export LOCAL_JMX=no
|
||||
sed -ri 's/ -Dcom\.sun\.management\.jmxremote\.authenticate=true/ -Dcom\.sun\.management\.jmxremote\.authenticate=false/' $CONF_DIR/cassandra-env.sh
|
||||
sed -ri 's/ -Dcom\.sun\.management\.jmxremote\.password\.file=\/etc\/cassandra\/jmxremote\.password//' $CONF_DIR/cassandra-env.sh
|
||||
sed -ri 's/ -Dcom\.sun\.management\.jmxremote\.authenticate=true/ -Dcom\.sun\.management\.jmxremote\.authenticate=false/' $CASSANDRA_CONF_DIR/cassandra-env.sh
|
||||
sed -ri 's/ -Dcom\.sun\.management\.jmxremote\.password\.file=\/etc\/cassandra\/jmxremote\.password//' $CASSANDRA_CONF_DIR/cassandra-env.sh
|
||||
fi
|
||||
|
||||
echo Starting Cassandra on ${CASSANDRA_LISTEN_ADDRESS}
|
||||
echo CASSANDRA_RPC_ADDRESS ${CASSANDRA_RPC_ADDRESS}
|
||||
echo CASSANDRA_NUM_TOKENS ${CASSANDRA_NUM_TOKENS}
|
||||
echo CASSANDRA_CLUSTER_NAME ${CASSANDRA_CLUSTER_NAME}
|
||||
echo CASSANDRA_LISTEN_ADDRESS ${CASSANDRA_LISTEN_ADDRESS}
|
||||
echo CASSANDRA_BROADCAST_ADDRESS ${CASSANDRA_BROADCAST_ADDRESS}
|
||||
echo CASSANDRA_BROADCAST_RPC_ADDRESS ${CASSANDRA_BROADCAST_RPC_ADDRESS}
|
||||
echo CASSANDRA_DISK_OPTIMIZATION_STRATEGY ${CASSANDRA_DISK_OPTIMIZATION_STRATEGY}
|
||||
echo CASSANDRA_MIGRATION_WAIT ${CASSANDRA_MIGRATION_WAIT}
|
||||
echo CASSANDRA_ENDPOINT_SNITCH ${CASSANDRA_ENDPOINT_SNITCH}
|
||||
echo CASSANDRA_DC ${CASSANDRA_DC}
|
||||
echo CASSANDRA_RACK ${CASSANDRA_RACK}
|
||||
echo CASSANDRA_RING_DELAY ${CASSANDRA_RING_DELAY}
|
||||
echo CASSANDRA_AUTO_BOOTSTRAP ${CASSANDRA_AUTO_BOOTSTRAP}
|
||||
echo CASSANDRA_SEEDS ${CASSANDRA_SEEDS}
|
||||
echo CASSANDRA_SEED_PROVIDER ${CASSANDRA_SEED_PROVIDER}
|
||||
echo CASSANDRA_AUTO_BOOTSTRAP ${CASSANDRA_AUTO_BOOTSTRAP}
|
||||
|
||||
export CLASSPATH=/kubernetes-cassandra.jar
|
||||
cassandra -R -f
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
<properties>
|
||||
<logback.version>1.1.3</logback.version>
|
||||
<cassandra.version>3.7</cassandra.version>
|
||||
<cassandra.version>3.9</cassandra.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
|
|
Loading…
Reference in New Issue