какой адрес я должен использовать для широковещательного адреса в cassandra.yaml - PullRequest
0 голосов
/ 11 мая 2018

    cluster_name: 'Cassandra Cluster'
    num_tokens: 256
    hinted_handoff_enabled: true
    max_hint_window_in_ms: 10800000
    hinted_handoff_throttle_in_kb: 1024
    max_hints_delivery_threads: 2
    authenticator: AllowAllAuthenticator
    authorizer: AllowAllAuthorizer
    permissions_validity_in_ms: 2000
    partitioner: org.apache.cassandra.dht.Murmur3Partitioner
    data_file_directories:
        - /var/lib/cassandra/data
    commitlog_directory: /var/lib/cassandra/commitlog
    disk_failure_policy: stop
    key_cache_size_in_mb:
    key_cache_save_period: 14400
    row_cache_size_in_mb: 0
    row_cache_save_period: 0
    saved_caches_directory: /var/lib/cassandra/saved_caches
    commitlog_sync: periodic
    commitlog_sync_period_in_ms: 10000
    commitlog_segment_size_in_mb: 32
    seed_provider:
        - class_name: org.apache.cassandra.locator.SimpleSeedProvider
          parameters:
              - seeds: "seednode-A-IP,seednode-B-IP,seednode-C-IP"
    concurrent_reads: 32
    concurrent_writes: 32
    trickle_fsync: false
    trickle_fsync_interval_in_kb: 10240
    storage_port: 7000
    ssl_storage_port: 7001
    listen_address: 10.8.9.83
    start_native_transport: true
    native_transport_port: 9042
    start_rpc: true
    rpc_address: 0.0.0.0
    broadcast_rpc_address: NAT-GATEWAY-IP
    rpc_port: 9160
    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
    column_index_size_in_kb: 64
    compaction_throughput_mb_per_sec: 16
    read_request_timeout_in_ms: 5000
    range_request_timeout_in_ms: 10000
    write_request_timeout_in_ms: 2000
    cas_contention_timeout_in_ms: 1000
    truncate_request_timeout_in_ms: 60000
    request_timeout_in_ms: 10000
    cross_node_timeout: false
    endpoint_snitch: Ec2Snitch
    dynamic_snitch_update_interval_in_ms: 100
    dynamic_snitch_reset_interval_in_ms: 600000
    dynamic_snitch_badness_threshold: 0.1
    request_scheduler: org.apache.cassandra.scheduler.NoScheduler
    server_encryption_options:
        internode_encryption: none
        keystore: conf/.keystore
        keystore_password: cassandra
        truststore: conf/.truststore
        truststore_password: cassandra
    client_encryption_options:
        enabled: false
        keystore: conf/.keystore
        keystore_password: cassandra
    internode_compression: all
    inter_dc_tcp_nodelay: false

у нас есть кластер Cassandra, развернутый на AWS с 3 начальными узлами (подключен статический ENI) и 3 не начальными узлами в группе автоматического масштабирования.

У меня rpc_address установлен на 0.0.0.0, может кто-нибудь сказать мне, какой должен быть широковещательный_адрес в файле cassandra.yaml?

Раньше я использовал версию cassandra 2.0.7 и смог нормально подключиться к кластеру, просто установив rpc_address как 0.0.0.0 и без широковещательной передачи Broadcast_rpc_address, но когда я обновился до 3.11.1, он выдает ошибку

CassandraDaemon.java:708 - Exception encountered during startup: If rpc_address is set to a wildcard address (0.0.0.0), then you must set broadcast_rpc_address to a value other than 0.0.0.0

1 Ответ

0 голосов
/ 11 мая 2018

Если вы используете Cassandra 2.1 или выше, вы можете настроить широковещательный адрес_адресной передачи. вы можете настроить широковещательный адрес_адреса на общедоступный IP-адрес.

Cassandra использует "broadcast_address / listen_address" для подключения между узлами и "broadcast_rpc_address / rpc_address" для интерфейса rpc (клиент -> координатор (узел Cassandra)).

...