2016-12-29 4 views
-5

Ich möchte einfach einen einzigen Cassandra-Knoten ausführen und eine Verbindung von einem Remote-Server herstellen.Cassandra richtig auf die 9042 hören

lsof -i :9042 
COMMAND PID  USER FD TYPE DEVICE SIZE/OFF NODE NAME 
java 22089 cassandra 137u IPv4 80564  0t0 TCP cassansra.sucks.com:9042 (LISTEN) 

auf dem Cassandra Server:

sudo nodetool status 
Datacenter: datacenter1 
======================= 
Status=Up/Down 
|/ State=Normal/Leaving/Joining/Moving 
-- Address   Load  Tokens  Owns (effective) Host ID        Rack 
UN xxx.xxx.xxx.xxx 202.28 KiB 256   100.0%   6e485a3c-7e0f-452c-8545-77380f21daa0 rack1 

Was ich will, ist 9042 auf eine IP-Adresse zu hören. Ich habe die unten in der cassandra.yaml Datei:

rpc_address: xxx.xxx.xxx.xxx 

I Cassandra 3.x. bin mit

+0

Wie versuchen Sie zu verbinden? Sie sollten in der Lage sein, eine Verbindung zu Port 9042 über die IP-Adresse herzustellen, die Sie als 'rpc_address' angegeben haben. Wenn Cassandra an den Hostnamen bindet, bedeutet das, dass 'rpc_address' nicht gesetzt ist. Vielleicht sehen Sie sich das falsche 'cassandra.yaml' an oder Sie haben Ihre Änderungen nicht in der Datei gespeichert oder einen anderen Fehler gemacht? – Ralf

Antwort

1

-e CASSANDRA_RPC_ADDRESS und -e CASSANDRA_START_RPC=true - wenn wir diese beiden Optionen einstellen, wird es in der Lage sein, den 9042-Port von externen Maschinen zu verbinden.

Können Sie die /var/log/cassandra/system.log drucken, so sollten wir in der Lage zu sehen, warum der Fehler ausgegeben wird. Verwenden Sie Docker? Verwenden Sie die folgenden Informationen, wenn dies der Fall ist: https://hub.docker.com/_/cassandra/. Auch wenn es nicht Docker ist, bleiben die Optionen gleich.

+0

'START_RPC' aktiviert das Thrift-Protokoll auf 9160 und hat keine Verbindung über das native Binärprotokoll auf 9042. – Aaron

0

Als nodetool status funktioniert gut.

Überprüfen Sie, ob der Cassandra-Daemon den systemeigenen Transportport überwacht (Standard: 9042).

Führen Sie folgenden Befehl ein, wenn Cassandra Daemon NICHT hören nativen Transport-Port ist:

nodetool enablebinary

Verwandte Themen