2015-06-03 13 views
5

GOAL: Sto cercando di capire il modo migliore per configurare il mio cluster Cassandra in modo che diversi driver diversi in diversi scenari di rete possano comunicare correttamente con esso.Qual è la differenza tra broadcast_address e broadcast_rpc_address in cassandra.yaml?

problema/domanda: Non è del tutto chiaro per me, dopo aver letto la documentazione quale sia la differenza tra queste due impostazioni: broadcast_address e broadcast_rpc_address quello che attiene al modo in cui un pilota collega e interagisce con il cluster. Quale o quale combinazione di queste impostazioni devo utilizzare con l'endpoint di rete accessibile del mio nodo (record DNS raggiungibile dal client/driver)?

Ecco la documentazione per broadcast_address da datastax: (impostazione predefinita: listen_address) note L'indirizzo IP un nodo indica ad altri nodi nel cluster di contattarlo. Permette che l'indirizzo pubblico e privato siano diversi. Ad esempio, utilizzare il parametro broadcast_address in topologie in cui non tutti i nodi hanno accesso ad altri nodi tramite i loro indirizzi IP privati. Se il cluster Cassandra viene distribuito su più regioni Amazon EC2 e si utilizza EC2MultiRegionSnitch, impostare broadcast_address su indirizzo IP pubblico del nodo e address_address sull'IP privato.

Ecco la documentazione per broadcast_rpc_address da datastax: (impostazione predefinita: unset) nota l'indirizzo RPC da trasmettere ai driver e altri nodi Cassandra. Questo non può essere impostato su 0.0.0.0. Se vuoto, è impostato sul valore di rpc_address o rpc_interface. Se rpc_address o rpc_interfaceè impostato su 0.0.0.0, questa proprietà deve essere impostata.

MODIFICA: questa domanda riguarda Cassandra versione 2.1 e potrebbe non essere rilevante in futuro.

risposta

6

Uno degli utenti di #cassandra su freenode è stato così gentile da fornire una risposta a questa domanda:

La famiglia RPC di impostazioni si riferiscono a conducenti che utilizzano il protocollo Thrift per comunicare con cassandra. Per quei driver che utilizzano il trasporto nativo, broadcast_address verrà segnalato e utilizzato.

Il mio test case lo conferma.

+1

Grazie per essere tornato qui e aver risposto con la soluzione! – Aaron

Problemi correlati