【问题标题】:How to change the flush queue size of cassandra如何更改 cassandra 的刷新队列大小
【发布时间】:2015-06-16 21:36:09
【问题描述】:

如何在 Cassandra 中为 memtable 和 sstable 之间的刷新队列分配更多内存。我收到超时错误,堆和年轻区域的使用似乎在限制范围内。机器中除了 Cassandra 之外没有其他处理发生。还如何查找是否有任何请求被丢弃在以太网卡上而不是被 Cassandra 丢弃。 我使用 Cassandra Datastax 4.7 和 Java 1.8。

【问题讨论】:

    标签: cassandra datastax-enterprise datastax-java-driver


    【解决方案1】:

    如何改变cassandra的flush queue大小

    您可以通过在 cassandra.yaml 文件中编辑 memtable_flush_writers 来增加刷新写入器的数量。见related docs.

    如何为 memtable 和 memtable 之间的刷新队列分配更多内存 sstable 在 Cassandra 中。

    您不会将内存分配给队列。您只能增加队列的线程数。您可以完全增加 JVM 的内存。 Cassandra 的堆大小通常建议为 8GB,但有些会随着特定的 JVM 调整而增大。

    还有如何查找是否有任何请求被丢弃在以太网卡上,以及 不是卡桑德拉。 根据您的一致性级别,如果没有足够的副本确认回复,您的读取或写入可能会失败。

    如果您对丢弃的网络数据包感兴趣,请查看以下输出:

    # ifconfig
    eth0      Link encap:Ethernet  HWaddr XX:34:XX:XX:10:03
              inet addr:xxx.xxx.xxx.xxx  Bcast:xxx.xxx.xxx.xxx  Mask:255.255.240.0
              UP BROADCAST RUNNING MULTICAST  MTU:9001  Metric:1
              RX packets:89549235 errors:0 dropped:0 overruns:0 frame:0
              TX packets:100307025 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:757464549909 (757.4 GB)  TX bytes:27216611814 (27.2 GB)
    

    ifconfig 在 NIC 级别保留错误输出、丢弃等数据包的计数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-09
      • 1970-01-01
      • 2017-02-13
      相关资源
      最近更新 更多