Данные не распределены по кластеру в Кассандре - PullRequest
0 голосов
/ 12 октября 2018

Мы используем кластер из 3 узлов с REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1}

Но когда мы вставляем данные, одна и та же строка присутствует во всех трех узлах(Я вижу это, когда запускаю его на каждом узле по отдельности)

Когда я запускаю состояние nodetool (я вижу ниже):

--  Address        Load       Tokens       Owns (effective)  Host ID                               Rack
UN  172.31.46.89   6.43 MiB   256          32.8%             2db6dc5c-9d05-4dc7-9bf5-ea9e3c406267  rack1
UN  172.31.47.150  13.17 MiB  256          32.1%             eb10cc48-6117-427c-9151-48cb6761a5e6  rack1
DN  172.31.45.131  12.73 MiB  256          35.1%             cc33fc04-a02f-41e2-a00b-3835a0d98cb5  rack1

Может ли кто-нибудь помочь мне понять, почему присутствуют данныево всех узлах ???

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Данные не будут сохранены на всех узлах, когда RF = 1.Вместо этого, когда вы соединяетесь с любым узлом, он действует как узел-координатор и извлекает данные из узла, ответственного за данные, и предоставляет ответ.

Координатор сохраняет данные только локально (при записи), если он в итоге становится единым целым.узлов, отвечающих за диапазон токенов данных.

0 голосов
/ 13 октября 2018

Cassandra не имеет мастерства, и когда вы делаете запрос к любому узлу в кластере, он запрашивает соответствующую реплику для ответа на ваш запрос.Данные не будут храниться на всех узлах с RF = 1.Если вы действительно хотите это проверить, посмотрите каталог data/keyspace/table и используйте sstabledump в файле данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...