cassandra-env.sh文件无法读取JMX prometheus参数



添加给定。在Cassandra.sh文件中:

JVM_OPTS ="$ JVM_OPTS - javaagent:/etc/卡桑德拉/jmx_prometheus_javaagent-0.10.jar = 7070:/etc/卡桑德拉/jmx_exporter.yml"

无法访问curl http://10.x.x.13:7070

按议定。记录在

ERROR: apport (pid 19530) Mon Aug 2 14:51:36 2021:呼叫pid 19507,信号6,核心限制0ERROR: apport (pid 19530) Mon Aug 2 14:51:36 2021: executable:/usr/lib/jvm/java-8-oracle/jre/bin/java(命令行"java - xloggc:/var/log/cassandra/gc.log -javaagent:/etc/cassandra/jmx_prometheus_javaagent-0.10.jar=7070:/etc/cassandra/jmx_export .yml- javaagent:/etc/卡桑德拉/jmx_prometheus_javaagent-0.10.jar = 7070:/etc/卡桑德拉/jmx_exporter。yml -ea -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:StringTableSize=1000003 -XX:+ uswayspretouch -XX:+ usebiasedlocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -Djava.net.preferIPv4Stack=true -Xms4G -Xmx4G -Xmn900M -XX:+UseG1GC -XX:G1RSetUpdatingPauseTimePercent=5 -XX:MaxGCPauseMillis=600 -XX:InitiatingHeapOccupancyPercent=30 -XX:ParallelGCThreads=4 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC-XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+PrintPromotionFailure -XX:+ usegclogfileroation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M -XX:CompileCommandFile=/etc/cassandra/hotspot_compiler -javaagent:/usr/share/cassandra/lib/jam -0.3.0.jar - cassandra. jmm .local. jar= 7199 -Dcom.sun.management.jmxremote港。验证= false -Dcom.sun.management.jmxremote.password.file =/etc/卡桑德拉/现在。密码-Djava.library。路径=/usr/share/卡桑德拉/lib/sigar-bin -Dcassandra。metricsReporterConfigFile= -Dlogback.configurationFile=logback.xmllogdir =/var/log/卡桑德拉-Dcassandra。storagedir =/var/lib/卡桑德拉-Dcassandra-pidfile =/var/运行/卡桑德拉/卡桑德拉。pid -cp/etc/cassandra:/usr/share/cassandra/lib/hdrhistogram2.1 .jar:/usr/share/cassandra/lib/ST4-4.0.8.jar:/usr/share/cassandra/lib/antlr-runtime-3.5.2.jar:/usr/share/cassandra/lib/asm-5.0.4.jar:/usr/share/cassandra/lib/cassandra-driver-core-3.0.1 .jar:/usr/share/cassandra/lib/cassandra- shadered .jar:/usr/share/cassandra/lib/hdrhistogram2.1 .jar:/usr/share/cassandra/lib/hdrhistogram2.1 .jar:/usr/share/cassandra/lib/hdrhistogram2.1 .jar:/usr/share/cassandra/lib/hdrhistogram2.1 .jar:/usr/share/cassandra/lib/hdrhistogram2.1 .jar:/usr/share/cassandra/lib/hdrhistogram2.1 .jar:/usr/share/cassandra/lib/hdrhistogram2.1 .jar:/usr/share/cassandra/lib

当我运行>

输出: -

cassand+  1308  0.3  2.1 4619804 351380 ?      Sl   Aug02   3:38 /usr/lib/jvm/java-8-oracle/jre/bin/java -Xmx1024M -Dagent-pidfile=/var/run/datastax-agent/datastax-agent.pid -Dlog4j.configuration=file:/etc/datastax-agent/log4j.properties -Djava.security.auth.login.config=/etc/datastax-agent/kerberos.config -jar datastax-agent-6.7.7-standalone.jar /var/lib/datastax-agent/conf/address.yaml
cassand+  7835 34.4 55.4 56100300 9109792 ?    SLl  Aug02 362:16 java -Xloggc:/var/log/cassandra/gc.log -ea -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:StringTableSize=1000003 -XX:+AlwaysPreTouch -XX:-UseBiasedLocking -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -Djava.net.preferIPv4Stack=true -Xms4G -Xmx4G -Xmn900M -XX:+UseG1GC -XX:G1RSetUpdatingPauseTimePercent=5 -XX:MaxGCPauseMillis=600 -XX:InitiatingHeapOccupancyPercent=30 -XX:ParallelGCThreads=4 -XX:ConcGCThreads=4 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -XX:+PrintPromotionFailure -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M -XX:CompileCommandFile=/etc/cassandra/hotspot_compiler -Dcom.sun.management.jmxremote.authenticate=false

根据您发布的输出,看起来您已经添加了两次Prometheus JAR。

我注意到您还运行了OpsCenter代理。您应该只使用OpsCenter代理或Prometheus代理——而不是同时使用两者,因为它们在大多数情况下收集相同的指标。

作为一个旁注,如果你不知道,DataStax有Apache Cassandra(又名MCAC)的Metrics Collector,收集操作系统(内存,磁盘,CPU等)和Cassandra指标构建在collectd+ Prometheus + Grafana。

安装只需要3个步骤:

  1. 下载代理
  2. 将代理JAR添加到JVM选项中。
  3. 重启卡桑德拉。

它还带有预配置的Prometheus + Grafana仪表板,因此您可以在几分钟内启动并运行它们。它是开源的,所以可以免费使用——https://github.com/datastax/metric-collector-for-apache-cassandra。干杯!

注:我看到您正在使用G1 GC,只分配了少量内存:

-Xms4G -Xmx4G -Xmn900M -XX:+UseG1GC

G1 GC是为较大的堆大小而设计的,根据我的经验,它在较小的堆上表现不佳。您也不应该将NewGen的大小(-Xmn900M)固定到一个特定的值,因为G1 GC需要能够根据工作负载、访问模式等动态调整NewGen的大小。

如果您的节点没有足够的内存,您应该切换回CMS (C*中的默认值)。我建议在生产环境中至少使用8GB堆,使用CMS时最好使用16GB堆,最多使用24GB堆。对于最大20到31GB的堆使用G1 GC(注意,32GB堆的可寻址对象少于31GB)。

相关内容

  • 没有找到相关文章

最新更新