0

Cloudformation を使用して、負荷テストに使用するいくつかの cassandra クラスターのセットアップと破棄を自動化しています。この負荷テスト中、opscenter を使用してスループットを監視します。私が見つけたのは、opscenter データをテストのターゲット クラスターに格納すると、ノードのデータ所有権情報が歪められるということです。そのため、opscenter とエージェント データを独自のノードに移動したいと考えています。単一の cassandra インスタンスと opscenter を使用して単一の c3.4xl をセットアップしています。次の構成ファイルがあります。

opscenter サーバー

/etc/opscenter/clusters/usergrid.conf

[cassandra]
seed_hosts = ec2-23-22-188-56.compute-1.amazonaws.com,ec2-54-163-164-41.compute-1.amazonaws.com,ec2-54-166-10-160.compute-1.amazonaws.com,ec2-54-166-219-212.compute-1.amazonaws.com,ec2-54-211-181-126.compute-1.amazonaws.com,ec2-54-82-161-157.compute-1.amazonaws.com,ec2-54-82-30-122.compute-1.amazonaws.com,ec2-54-83-98-182.compute-1.amazonaws.com,ec2-54-91-209-251.compute-1.amazonaws.com

[storage_cassandra]
seed_hosts = ec2-54-204-237-40.compute-1.amazonaws.com
api_port = 9160

datastax-agent cat /var/lib/datastax-agent/conf/address.yaml

stomp_interface: ec2-54-204-237-40.compute-1.amazonaws.com

ただし、エージェントでは、/var/log/datastax-agent/agent.log のログにこれが表示されます。

INFO [thrift-init] 2014-11-03 14:33:41,069 Connected to Cassandra cluster: usergrid
INFO [thrift-init] 2014-11-03 14:33:41,071 in execute with client org.apache.cassandra.thrift.Cassandra$Client@6deebf54


INFO [thrift-init] 2014-11-03 14:33:41,072 Using partitioner: org.apache.cassandra.dht.Murmur3Partitioner
 INFO [pdp-loader] 2014-11-03 14:33:41,072 Attempting to load stored metric values.
ERROR [pdp-loader] 2014-11-03 14:33:41,092 There was an error when attempting to load stored rollups.
me.prettyprint.hector.api.exceptions.HInvalidRequestException: InvalidRequestException(why:Keyspace 'OpsCenter' does not exist)
    at me.prettyprint.cassandra.connection.client.HThriftClient.getCassandra(HThriftClient.java:112)
    at me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:251)
    at me.prettyprint.cassandra.service.KeyspaceServiceImpl.operateWithFailover(KeyspaceServiceImpl.java:132)
    at me.prettyprint.cassandra.service.KeyspaceServiceImpl.getSlice(KeyspaceServiceImpl.java:290)
    at me.prettyprint.cassandra.model.thrift.ThriftSliceQuery$1.doInKeyspace(ThriftSliceQuery.java:53)
    at me.prettyprint.cassandra.model.thrift.ThriftSliceQuery$1.doInKeyspace(ThriftSliceQuery.java:49)
    at me.prettyprint.cassandra.model.KeyspaceOperationCallback.doInKeyspaceAndMeasure(KeyspaceOperationCallback.java:20)
    at me.prettyprint.cassandra.model.ExecutingKeyspace.doExecute(ExecutingKeyspace.java:101)
    at me.prettyprint.cassandra.model.thrift.ThriftSliceQuery.execute(ThriftSliceQuery.java:48)
    at clj_hector.core$execute_query.doInvoke(core.clj:201)
    at clojure.lang.RestFn.invoke(RestFn.java:423)
    at clj_hector.core$get_column_range.doInvoke(core.clj:298)
    at clojure.lang.RestFn.invoke(RestFn.java:587)
    at opsagent.cassandra$scan_pdps$fn__1051.invoke(cassandra.clj:182)
    at opsagent.cassandra$scan_pdps.invoke(cassandra.clj:181)
    at opsagent.cassandra$process_pdp_row$fn__1060.invoke(cassandra.clj:199)
    at opsagent.cassandra$process_pdp_row.invoke(cassandra.clj:197)
    at opsagent.cassandra$process_pdp_row.invoke(cassandra.clj:195)
    at opsagent.cassandra$load_pdps_with_retry$fn__1066.invoke(cassandra.clj:213)
    at opsagent.cassandra$load_pdps_with_retry.invoke(cassandra.clj:210)
    at opsagent.cassandra$setup_cassandra$f__388__auto____1094$fn__1095$f__388__auto____1102.invoke(cassandra.clj:357)
    at clojure.lang.AFn.run(AFn.java:24)
    at java.lang.Thread.run(Thread.java:745)
Caused by: InvalidRequestException(why:Keyspace 'OpsCenter' does not exist)
    at org.apache.cassandra.thrift.Cassandra$set_keyspace_result.read(Cassandra.java:5452)
    at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
    at org.apache.cassandra.thrift.Cassandra$Client.recv_set_keyspace(Cassandra.java:531)
    at org.apache.cassandra.thrift.Cassandra$Client.set_keyspace(Cassandra.java:518)
    at me.prettyprint.cassandra.connection.client.HThriftClient.getCassandra(HThriftClient.java:110)
    ... 22 more

通常、これはクライアントがストレージ Cassandra ノードに接続できないことを示します。ただし、エージェント ノードからは、次のコマンドを実行できます。

cassandra-cli -h ec2-54-204-237-40.compute-1.amazonaws.com

次に、機能するキースペースについて説明します。

[default@unknown] describe  OpsCenter;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

Keyspace: OpsCenter:
  Replication Strategy: org.apache.cassandra.locator.NetworkTopologyStrategy
  Durable Writes: true
    Options: [us-east:1]
  Column Families:
    ColumnFamily: bestpractice_results
    "{"info": "OpsCenter management data.", "version": [5, 0, 1]}"
      Key Validation Class: org.apache.cassandra.db.marshal.UTF8Type
      Default column value validator: org.apache.cassandra.db.marshal.BytesType
      Cells sorted by: org.apache.cassandra.db.marshal.ReversedType(org.apache.cassandra.db.marshal.IntegerType)
      GC grace seconds: 0
      Compaction min/max thresholds: 4/32
      Read repair chance: 0.25
      DC Local Read repair chance: 0.0
      Populate IO Cache on flush: false
      Replicate on write: true
      Caching: KEYS_ONLY
      Bloom Filter FP chance: 0.01
      Built indexes: []
      Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
      Compression Options:
        sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
    ColumnFamily: events
    "{"info": "OpsCenter management data.", "version": [5, 0, 1]}"
      Key Validation Class: org.apache.cassandra.db.marshal.UTF8Type
      Default column value validator: org.apache.cassandra.db.marshal.BytesType
      Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
      GC grace seconds: 864000
      Compaction min/max thresholds: 4/32
      Read repair chance: 0.25
      DC Local Read repair chance: 0.0
      Populate IO Cache on flush: false
      Replicate on write: true
      Caching: KEYS_ONLY
      Bloom Filter FP chance: 0.01
      Built indexes: []
      Column Metadata:
        Column Name: success
          Validation Class: org.apache.cassandra.db.marshal.BooleanType
        Column Name: action
          Validation Class: org.apache.cassandra.db.marshal.LongType
        Column Name: level
          Validation Class: org.apache.cassandra.db.marshal.LongType
        Column Name: time
          Validation Class: org.apache.cassandra.db.marshal.LongType
      Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
      Compression Options:
        sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
    ColumnFamily: events_timeline
    "{"info": "OpsCenter management data.", "version": [5, 0, 1]}"
      Key Validation Class: org.apache.cassandra.db.marshal.UTF8Type
      Default column value validator: org.apache.cassandra.db.marshal.BytesType
      Cells sorted by: org.apache.cassandra.db.marshal.LongType
      GC grace seconds: 864000
      Compaction min/max thresholds: 4/32
      Read repair chance: 0.25
      DC Local Read repair chance: 0.0
      Populate IO Cache on flush: false
      Replicate on write: true
      Caching: KEYS_ONLY
      Bloom Filter FP chance: 0.01
      Built indexes: []
      Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
      Compression Options:
        sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
    ColumnFamily: pdps
    "{"info": "OpsCenter management data.", "version": [5, 0, 1]}"
      Key Validation Class: org.apache.cassandra.db.marshal.UTF8Type
      Default column value validator: org.apache.cassandra.db.marshal.BytesType
      Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
      GC grace seconds: 0
      Compaction min/max thresholds: 4/32
      Read repair chance: 0.25
      DC Local Read repair chance: 0.0
      Populate IO Cache on flush: false
      Replicate on write: true
      Caching: KEYS_ONLY
      Bloom Filter FP chance: 0.01
      Built indexes: []
      Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
      Compression Options:
        sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
    ColumnFamily: rollups300
    "{"info": "OpsCenter management data.", "version": [5, 0, 1]}"
      Key Validation Class: org.apache.cassandra.db.marshal.UTF8Type
      Default column value validator: org.apache.cassandra.db.marshal.BytesType
      Cells sorted by: org.apache.cassandra.db.marshal.IntegerType
      GC grace seconds: 0
      Compaction min/max thresholds: 4/32
      Read repair chance: 0.25
      DC Local Read repair chance: 0.0
      Populate IO Cache on flush: false
      Replicate on write: true
      Caching: KEYS_ONLY
      Bloom Filter FP chance: 0.01
      Built indexes: []
      Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
      Compression Options:
        sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
    ColumnFamily: rollups60
    "{"info": "OpsCenter management data.", "version": [5, 0, 1]}"
      Key Validation Class: org.apache.cassandra.db.marshal.UTF8Type
      Default column value validator: org.apache.cassandra.db.marshal.BytesType
      Cells sorted by: org.apache.cassandra.db.marshal.IntegerType
      GC grace seconds: 0
      Compaction min/max thresholds: 4/32
      Read repair chance: 0.25
      DC Local Read repair chance: 0.0
      Populate IO Cache on flush: false
      Replicate on write: true
      Caching: KEYS_ONLY
      Bloom Filter FP chance: 0.01
      Built indexes: []
      Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
      Compression Options:
        sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
    ColumnFamily: rollups7200
    "{"info": "OpsCenter management data.", "version": [5, 0, 1]}"
      Key Validation Class: org.apache.cassandra.db.marshal.UTF8Type
      Default column value validator: org.apache.cassandra.db.marshal.BytesType
      Cells sorted by: org.apache.cassandra.db.marshal.IntegerType
      GC grace seconds: 0
      Compaction min/max thresholds: 4/32
      Read repair chance: 0.25
      DC Local Read repair chance: 0.0
      Populate IO Cache on flush: false
      Replicate on write: true
      Caching: KEYS_ONLY
      Bloom Filter FP chance: 0.01
      Built indexes: []
      Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
      Compression Options:
        sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
    ColumnFamily: rollups86400
    "{"info": "OpsCenter management data.", "version": [5, 0, 1]}"
      Key Validation Class: org.apache.cassandra.db.marshal.UTF8Type
      Default column value validator: org.apache.cassandra.db.marshal.BytesType
      Cells sorted by: org.apache.cassandra.db.marshal.IntegerType
      GC grace seconds: 0
      Compaction min/max thresholds: 4/32
      Read repair chance: 0.25
      DC Local Read repair chance: 0.0
      Populate IO Cache on flush: false
      Replicate on write: true
      Caching: KEYS_ONLY
      Bloom Filter FP chance: 0.01
      Built indexes: []
      Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
      Compression Options:
        sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
    ColumnFamily: settings
    "{"info": "OpsCenter management data.", "version": [5, 0, 1]}"
      Key Validation Class: org.apache.cassandra.db.marshal.BytesType
      Default column value validator: org.apache.cassandra.db.marshal.BytesType
      Cells sorted by: org.apache.cassandra.db.marshal.BytesType
      GC grace seconds: 864000
      Compaction min/max thresholds: 4/32
      Read repair chance: 1.0
      DC Local Read repair chance: 0.0
      Populate IO Cache on flush: false
      Replicate on write: true
      Caching: KEYS_ONLY
      Bloom Filter FP chance: 0.01
      Built indexes: []
      Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
      Compression Options:
        sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
[default@unknown]

これは、ターゲットの Cassandra ノードが稼働中であり、キースペース + 列ファミリーを持っていることを示しています。また、エージェント -> cassandra 間にネットワーク ファイアウォールの問題がまったくないことも示しています。このエラー メッセージが表示される理由を説明できません。構成に何かまだ足りないものがありますか、それともバグですか?

Cassandra: 1.2.19 Opscenter: 5.0.1 DS エージェント: 5.0.1

どんな助けでも大歓迎です!

ありがとう、トッド

アップデート

エージェントのログは次のとおりです。これは新しい環境であるため、IP が変更されていることに注意してください。10.81.168.96:9160 に接続しようとしているようです。これは、ec2-174-129-181-123.compute-1.amazonaws.com の設定で設定されている ec2 IP ではありません。それがどこから来たのかはわかりませんが、opscenter サーバーに設定されているものではありません。

エージェントログ

https://gist.github.com/tnine/f509c120465eb80ade92

要点は申し訳ありませんが、文字数制限を超えています。

4

1 に答える 1

0

opscenter インスタンスのログを見ると、次のように表示されます。

exceptions.Exception: Storing data in a separate cluster is only supported when managing DSE clusters.

ただし、OpsCenter のドキュメントには次のように記載されています。

[storage_cassandra] seed_hosts OpsCenter ストレージに別のクラスタを使用する場合に使用されます。Cassandra シード ノードは、リング トポロジを決定し、クラスター内のノードに関するゴシップ情報を取得するために使用されます。これは、cassandra.yaml 構成ファイルのシード プロパティによってCassandra またはDataStax Enterprise クラスター用に構成されたシード ノードのコンマ区切りリストと同じである必要があり ます。

だからあなたはそれが可能だと思うでしょうが、明らかにそうではありません。

于 2015-01-07T14:37:39.550 に答える