cassandra datastax kairosdb

cassandra - La mutación de 17076203 bytes es demasiado grande para el tamaño máximo de 16777216



datastax kairosdb (2)

Estás viendo el parámetro correcto en tu .yaml. El tamaño de escritura máximo que C * permitirá es la mitad de commit_log_segment_size_in_mb, el valor predeterminado es 32mb, por lo que el tamaño máximo predeterminado será de 16mb.

Fondo

commit_log_segment_size_in_mb representa el tamaño de bloque para el archivo de registro de confirmación o la copia de seguridad puntual. Estos solo están activos si ha configurado archive_command o restore_command en su archivo commitlog_archiving.properties.

Tengo "commitlog_segment_size_in_mb: 32" en la configuración de cassandra pero el siguiente error indica que el tamaño máximo es 16777216, que es aproximadamente 16mb. ¿Estoy buscando la configuración correcta para corregir el error a continuación?

Me refiero a esta configuración basada en la sugerencia proporcionada en http://mail-archives.apache.org/mod_mbox/cassandra-user/201406.mbox/%[email protected]%3E

Estoy usando 2.1.0-2 para Cassandra.

Estoy usando Kairosdb, y el tamaño máximo del buffer de escritura es 0.5Mb.

WARN [SharedPool-Worker-1] 2014-10-22 17:31:03,163 AbstractTracingAwareExecutorService.java:167 - Uncaught exception on thread Thread[SharedPool-Worker-1,5,main]: {} java.lang.IllegalArgumentException: Mutation of 17076203 bytes is too large for the maxiumum size of 16777216 at org.apache.cassandra.db.commitlog.CommitLog.add(CommitLog.java:216) ~[apache-cassandra-2.1.0.jar:2.1.0] at org.apache.cassandra.db.commitlog.CommitLog.add(CommitLog.java:203) ~[apache-cassandra-2.1.0.jar:2.1.0] at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:371) ~[apache-cassandra-2.1.0.jar:2.1.0] at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:351) ~[apache-cassandra-2.1.0.jar:2.1.0] at org.apache.cassandra.db.Mutation.apply(Mutation.java:214) ~[apache-cassandra-2.1.0.jar:2.1.0] at org.apache.cassandra.db.MutationVerbHandler.doVerb(MutationVerbHandler.java:54) ~[apache-cassandra-2.1.0.jar:2.1.0] at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:62) ~[apache-cassandra-2.1.0.jar:2.1.0] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) ~[na:1.7.0_67] at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:163) ~[apache-cassandra-2.1.0.jar:2.1.0] at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:103) [apache-cassandra-2.1.0.jar:2.1.0] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]


Es la configuración correcta. Esto significa que Cassandra descartará esta escritura ya que excede el 50% del tamaño del segmento de registro de confirmación configurado. Así que establezca el parámetro commitlog_segment_size_in_mb: 64 en Cassandra.yaml de cada nodo en el clúster y reinicie cada nodo para que tengan efecto los cambios.

Causa: por intención de diseño, el tamaño de segmento máximo permitido es 50% del commit_log_segment_size_in_mb configurado. Esto es así, Cassandra evita escribir segmentos con grandes cantidades de espacio vacío.

Elaborar; hasta dos segmentos de 32MB se ajustarán a 64MB, sin embargo, 40MB solo se ajustarán una vez dejando una mayor cantidad de espacio no utilizado.

enlace de referencia de datastax:

https://support.datastax.com/hc/en-us/articles/207267063-Mutation-of-x-bytes-is-too-large-for-the-maxiumum-size-of-y-