Raspberry-Pi 4-Node Apache Cassandra Cluster Problem
Hallo zusammen,
also ich habe 4 Raspberrys mit Apache Cassandra installiert. Statische IP und andere kleinere Einstellungen habe ich auch bereits getätigt. Die Pis sehen sich untereinander auch - soweit so gut.
Die IP Adressen lauten: 192.168.178.51 bis .54
In meiner Cassandra.yaml Config-File habe ich folgende Einstellungen getroffen:
cluster_name: 'Test Cluster'
initial_token: Habe ich mit dem mitgelieferten token-generator generiert.
seed_provider:
- seeds: "192.168.178.51"
listen_address: Droplet's IP
rpc_address: 0.0.0.0
endpoint_snitch: RackInferringSnitch
Die Anleitung welche ich verwende sagt mir, dass ich Pi01 mit der IP (.51) als erstes starten soll, da dieser mein "seed" ist.
Während dem booten jedoch kommen hunderte Fehlermeldungen, wie z.B.:
WARN 10:24:09 Token 6436405636961323290 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 7179378171345093230 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 4885181782908097142 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 742967880462982164 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 5652804589798010165 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 4400097028434728215 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 1675545333640867684 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token -8663374480600398885 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 1702469637743651899 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token -4986820230313833771 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 5284137053355309400 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token -7033204945348820093 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token -7868759649811811191 changing ownership from /192.168.178.52 to /192.168.178.51
Sobald ich dann die anderen 3 Server starte, nimmt das Chaos seinen lauf und alle Millisekunde kommen auf allen 4 Raspberrys solche Warnungen.
Was mache ich falsch?
Vielen lieben Dank für die Mühe mir zu helfen.
Liebe Grüße,
KawaFFM
also ich habe 4 Raspberrys mit Apache Cassandra installiert. Statische IP und andere kleinere Einstellungen habe ich auch bereits getätigt. Die Pis sehen sich untereinander auch - soweit so gut.
Die IP Adressen lauten: 192.168.178.51 bis .54
In meiner Cassandra.yaml Config-File habe ich folgende Einstellungen getroffen:
cluster_name: 'Test Cluster'
initial_token: Habe ich mit dem mitgelieferten token-generator generiert.
seed_provider:
- seeds: "192.168.178.51"
listen_address: Droplet's IP
rpc_address: 0.0.0.0
endpoint_snitch: RackInferringSnitch
Die Anleitung welche ich verwende sagt mir, dass ich Pi01 mit der IP (.51) als erstes starten soll, da dieser mein "seed" ist.
Während dem booten jedoch kommen hunderte Fehlermeldungen, wie z.B.:
WARN 10:24:09 Token 6436405636961323290 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 7179378171345093230 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 4885181782908097142 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 742967880462982164 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 5652804589798010165 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 4400097028434728215 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 1675545333640867684 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token -8663374480600398885 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 1702469637743651899 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token -4986820230313833771 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token 5284137053355309400 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token -7033204945348820093 changing ownership from /192.168.178.52 to /192.168.178.51
WARN 10:24:09 Token -7868759649811811191 changing ownership from /192.168.178.52 to /192.168.178.51
Sobald ich dann die anderen 3 Server starte, nimmt das Chaos seinen lauf und alle Millisekunde kommen auf allen 4 Raspberrys solche Warnungen.
Was mache ich falsch?
Vielen lieben Dank für die Mühe mir zu helfen.
Liebe Grüße,
KawaFFM
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 277866
Url: https://administrator.de/forum/raspberry-pi-4-node-apache-cassandra-cluster-problem-277866.html
Ausgedruckt am: 26.12.2024 um 11:12 Uhr
8 Kommentare
Neuester Kommentar
Hallo KawaFFM,
bist du dir sicher, dass du an dem PI1 mit der IP 192.168.178.51 und nicht an dem PI2 mit der IP 192.168.178.52 bist?
Dein Log sagt ja, dass er die IP-Adresse von der IP 192.168.178.52 in die IP 192.168.178.51 ändert.
Interessant wäre für uns auch, welche Anleitung du benutze. Da kann man evtl. auch noch den ein oder anderen Fehler finden.
Lg Pago
bist du dir sicher, dass du an dem PI1 mit der IP 192.168.178.51 und nicht an dem PI2 mit der IP 192.168.178.52 bist?
Dein Log sagt ja, dass er die IP-Adresse von der IP 192.168.178.52 in die IP 192.168.178.51 ändert.
Interessant wäre für uns auch, welche Anleitung du benutze. Da kann man evtl. auch noch den ein oder anderen Fehler finden.
Lg Pago
Kannst du mal bitte die cassandra.yaml der einzelnen PIs anhängen? da gibt es wohl Probleme mit den Tokens (Zuordnung der Geräte IP)
Auf folgenden Geräten ist die Konfig falsch:
192.168.178.52 hier läuft wohl der Token von 192.168.178.51
192.168.178.53 hier läuft wohl der Token von 192.168.178.52
192.168.178.54 hier läuft wohl der Token von 192.168.178.53
folglich müsste aber auch auf dem 192.168.178.51 der Token des 192.168.178.54 laufen, auch wenn dieser nicht angemosert wurde.
kannst du bitte die Code Tags benutzen, wenn du die Konfiguration Postest? Dann lässt sich das ganze besser lesen.
Lg Pago
Auf folgenden Geräten ist die Konfig falsch:
192.168.178.52 hier läuft wohl der Token von 192.168.178.51
192.168.178.53 hier läuft wohl der Token von 192.168.178.52
192.168.178.54 hier läuft wohl der Token von 192.168.178.53
folglich müsste aber auch auf dem 192.168.178.51 der Token des 192.168.178.54 laufen, auch wenn dieser nicht angemosert wurde.
kannst du bitte die Code Tags benutzen, wenn du die Konfiguration Postest? Dann lässt sich das ganze besser lesen.
Lg Pago
Ich habe die config Datei jetzt nur mal schnell überflogen, allerdings würde mir jetzt hier auffallen, dass evtl. unter -seeds die IP-Adressen, der jeweils anderen PIs angegeben werden müssten (Ausgehend davon, dass es sich hier um Client 192.168.178.54 handelt):
Hier würde ich auf dem Interface hören und nicht auf der IP, zumindest zu Testzwecken.
Kannst du dies mal testen? Du müsstest natürlich bei allen PIs die config anpassen.
Lg Pago
# any class that implements the SeedProvider interface and has a
# constructor that takes a Map<String, String> of parameters will do.
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: "192.168.178.51","192.168.178.52","192.168.178.53"
Hier würde ich auf dem Interface hören und nicht auf der IP, zumindest zu Testzwecken.
# Setting listen_address to 0.0.0.0 is always wrong.
#listen_address: 192.168.178.51
listen_interface: eth0
Kannst du dies mal testen? Du müsstest natürlich bei allen PIs die config anpassen.
Lg Pago
Also ich habe jetzt doch noch mal in die Doku geschaut:
Die "listen_address" (IP-Adresse des PIs):
(Default: localhost ) The IP address or hostname that other Cassandra nodes use to connect to this node. If left unset, the hostname must resolve to the IP address of this node using /etc/hostname, /etc/hosts , or DNS. Do not specify 0.0.0.0.
Der "seed_provider" (Es wird wirklich nur einer benötigt in dem fall wäre es dann 127.0.0.1, es sei denn du hättest mehrere Seeds, dann müssten die IP-Adressen der Seeds eingetragen werden)¶
(Default: org.apache.cassandra.locator.SimpleSeedProvider ) A list of comma-delimited hosts (IP addresses) to use as contact points when a node joins a cluster. Cassandra also uses this list to learn the topology of the ring. When running multiple nodes, you must change the - seeds list from the default value ( 127.0.0.1 ). In multiple data-center clusters, the - seeds list should include at least one node from each data center (replication group). See Initializing a multiple node cluster (single data center) and Initializing a multiple node cluster (multiple data centers).
Eine gute Erklärung aller Einstellungen findest du hier:
http://docs.datastax.com/en/cassandra/1.2/cassandra/configuration/confi ...
Ich habe leider nur einen Banana PRO hier stehen, sonst hätte ich das mal testweise aufgebaut, da fehlt allerdings die komplette Testumgebung.
Die "listen_address" (IP-Adresse des PIs):
(Default: localhost ) The IP address or hostname that other Cassandra nodes use to connect to this node. If left unset, the hostname must resolve to the IP address of this node using /etc/hostname, /etc/hosts , or DNS. Do not specify 0.0.0.0.
Der "seed_provider" (Es wird wirklich nur einer benötigt in dem fall wäre es dann 127.0.0.1, es sei denn du hättest mehrere Seeds, dann müssten die IP-Adressen der Seeds eingetragen werden)¶
(Default: org.apache.cassandra.locator.SimpleSeedProvider ) A list of comma-delimited hosts (IP addresses) to use as contact points when a node joins a cluster. Cassandra also uses this list to learn the topology of the ring. When running multiple nodes, you must change the - seeds list from the default value ( 127.0.0.1 ). In multiple data-center clusters, the - seeds list should include at least one node from each data center (replication group). See Initializing a multiple node cluster (single data center) and Initializing a multiple node cluster (multiple data centers).
Eine gute Erklärung aller Einstellungen findest du hier:
http://docs.datastax.com/en/cassandra/1.2/cassandra/configuration/confi ...
Ich habe leider nur einen Banana PRO hier stehen, sonst hätte ich das mal testweise aufgebaut, da fehlt allerdings die komplette Testumgebung.