连接opscenter但没有数据

时间:2016-10-03 14:16:05

标签: cassandra datastax datastax-enterprise

我在谷歌云上部署了一个数据集cassandra集群。群集大小是两个不同数据中心上的4个节点。

服务器运行正常并且能够查看opscenter但没有数据并且出现以下错误。

这是一个全新的部署,所有节点都已启动并正在运行。还没有创建表格。

来自opscenter日志的

错误消息:

[opscenterd] ERROR: Unhandled error in Deferred: com.datastax.driver.core.exceptions.UnavailableException: Not enough replicas available for query at consistency ONE (1 required but only 0 alive)
来自其中一个节点的

address.yaml:

stomp_interface: 10.128.x.x [ ops center ip ]
agent_rpc_interface: 10.132.x.x [ one of the node ip]
agent_rpc_broadcast_address: 10.132.x.x

**cassandra.yaml from one of the node:**

cluster_name: 'Test Cluster'

num_tokens: 64



hinted_handoff_enabled: true
max_hint_window_in_ms: 10800000 # 3 hours

hinted_handoff_throttle_in_kb: 1024

max_hints_delivery_threads: 2

hints_directory: /var/lib/cassandra/hints

hints_flush_period_in_ms: 10000

max_hints_file_size_in_mb: 128


batchlog_replay_throttle_in_kb: 1024

authenticator: AllowAllAuthenticator

authorizer: AllowAllAuthorizer

role_manager: com.datastax.bdp.cassandra.auth.DseRoleManager

roles_validity_in_ms: 2000


permissions_validity_in_ms: 2000


partitioner: org.apache.cassandra.dht.Murmur3Partitioner

data_file_directories:
     - /mnt/data

commitlog_directory: /mnt/commitlog

disk_failure_policy: stop

commit_failure_policy: stop

key_cache_size_in_mb:

key_cache_save_period: 14400

row_cache_size_in_mb: 0

row_cache_save_period: 0


counter_cache_size_in_mb:

counter_cache_save_period: 7200


saved_caches_directory: /mnt/saved_caches

commitlog_sync: periodic
commitlog_sync_period_in_ms: 10000

commitlog_segment_size_in_mb: 32


seed_provider:
    # Addresses of hosts that are deemed contact points. 
    # Cassandra nodes use this list of hosts to find each other and learn
    # the topology of the ring.  You must change this if you are running
    # multiple nodes!
    - class_name: org.apache.cassandra.locator.SimpleSeedProvider
      parameters:
          # seeds is actually a comma-delimited list of addresses.
          # Ex: "<ip1>,<ip2>,<ip3>"
          - **seeds: "XX.XXX.X.X" [ The node IP from different Data Center]**

concurrent_reads: 32
concurrent_writes: 32
concurrent_counter_writes: 32

concurrent_materialized_view_writes: 32

memtable_allocation_type: heap_buffers



index_summary_capacity_in_mb:

index_summary_resize_interval_in_minutes: 60

trickle_fsync: true
trickle_fsync_interval_in_kb: 10240

storage_port: 7000

ssl_storage_port: 7001

listen_address: **SAME NODE IP**

broadcast_address: **SAME NODE IP**



start_native_transport: true
native_transport_port: 9042



start_rpc: true

rpc_address: 0.0.0.0

rpc_port: 9160

broadcast_rpc_address: SAME NODE IP

rpc_keepalive: true

rpc_server_type: sync




thrift_framed_transport_size_in_mb: 15

incremental_backups: false

snapshot_before_compaction: false

auto_snapshot: true

tombstone_warn_threshold: 1000
tombstone_failure_threshold: 100000
来自opscenter的

Opscenter.conf:

[webserver]

port = 8888

interface = 0.0.0.0

[authentication]

enabled = False

[stat_reporter]

nodetool status

Datacenter: europe-west1-b

Status=Up/Down

|/ State=Normal/Leaving/Joining/Moving

-- Address Load Tokens Owns Host ID Rack

UN 10.XXX.0.2 220 KB 64 ? 5381a371-c532-4be7-a7f5-80162bef4541 europe-west1-b

UN 10.XXX.0.3 148.6 KB 64 ? e5b3dfec-f9bf-4952-b48f-b5a82749a9fe europe-west1-b

Datacenter: us-east1-b

Status=Up/Down

|/ State=Normal/Leaving/Joining/Moving

-- Address Load Tokens Owns Host ID Rack

UN 10.XXX.0.2 158.72 KB 64 ? b93980e0-3c28-4bb0-9e49-220cb009d44c us-east1-b

UN 10.XXX.0.3 192.85 KB 64 ? af242b71-b7b4-4345-9888-5b89eb5e6199 us-east1-b

Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless

1 个答案:

答案 0 :(得分:1)

您的复制因子($ dc)中有一个不存在的DC,因此当OpsCenter发送读取数据的请求时,协调器将以UnavailableException响应。

尝试更新像ALTER KEYSPACE "OpsCenter" WITH replication = {'class': 'NetworkTopologyStrategy', 'us-east1-b': '2'}这样的密钥空间,如果要保留那里的数据,请进行全面修复。

如果它还没有运行所以你没有想要保存的数据,只需删除opscenter密钥空间(drop keyspace "OpsCenter")并重启opscenterd和代理(在opscenter服务开始备份后)。