Как да настроите Cassandra Cluster на множество възли
⚡ Умно обобщение
Cassandra Cluster групира множество възли, така че данните да са разпределени и никоя отделна машина да не съхранява всичко. Тази страница обяснява компонентите на клъстера, разделителя и Token Ring, предварителните изисквания, настройките за конфигурация, които свързват възлите, и как да се провери резултатът.

Какво е Cassandra Cluster?
A Cassandra клъстерът е една от черупките в цялото Cassandra база данни. The Cassandra Клъстерът съдържа множество различни слоеве от устройства за съхранение, като всеки слой съдържа другия.
Голяма организация като напр Amazon, Facebook и др. имат огромни количества данни за управление. Така че тези организации не могат да съхраняват толкова огромно количество данни на една машина. В такива случаи те използват бази данни като Cassandra с разпределена архитектура.
Тези организации съхраняват огромното количество данни на множество възли. Тези възли комуникират помежду си. За тази цел, Cassandra е създаден клъстер.
- Cluster е основно група от възли, така че възлите да могат лесно да комуникират помежду си.
- Координаторният възел е възелът, който получава клиентска заявка и комуникира с репликите от името на този клиент. Всеки възел може да действа като координатор за всяка заявка.
Разделител
Устройството за разделяне определя как данните трябва да бъдат разпределени в клъстера. Partitioner използва хеш функция за разпространение на данни в клъстера. За изчисляване на хеша е необходим ключ на дяла. Този хеш се нарича жетон. Данните се разпространяват на базата на този токен.
Разделящият по подразбиране е Murmur3Partitioner, който създава токени, разпределени равномерно във фиксиран диапазон. Всеки възел притежава един или повече диапазони от този диапазон, а колекцията от диапазони формира жетон пръстенТъй като присвояването е по хеш, а не по стойност, добавянето на възел премества само диапазоните, които заема, вместо да пренарежда целия набор от данни.
Предпоставки за Cassandra Cluster
Има следните изисквания за настройка на клъстер.
- Трябва да имате множество машини, физически или виртуални, действащи като възли.
- Възлите трябва да могат да се свързват помежду си в мрежата. Между тях трябва да са отворени портове 7000 за междувъзлов трафик, 7001, ако TLS е активиран, и 9042 за клиентски връзки.
- Linux трябва да бъде инсталиран на всеки възел. Това е платформата Cassandra е тестван и поддържан на.
- Apache Cassandra трябва да бъде инсталиран на всеки възел, в една и съща версия. Смесените версии не могат да завършат споразумение за схема.
- Поддържано JDK трябва да бъде инсталиран на всяка машина, с настроен JAVA_HOME.
- Часовниците трябва да бъдат синхронизирани с NTP. Cassandra разрешава конфликтни записи по времева маркировка, така че дрейфът на часовника тихо води до грешни резултати.
Последното изискване е това, което най-често се пропуска и то причинява проблеми с данните, а не неуспехи при стартиране.
.
Как да инсталирате Cassandra Cluster на Linux
Cassandra трябва да бъде инсталиран на всяка машина, преди която и да е от тях да може да се присъедини към клъстер. Снимките на екрана по-долу са от графичния инсталатор на DataStax Enterprise, който беше обичайният маршрут, когато беше написано това ръководство. Този инсталатор вече не се разпространява за ползване от общността, така че текущият подход е даден първо, а съветникът следва за справка.
Текущ метод: инсталирате Apache Cassandra пакет или двоичен tarball на всеки възел по един и същ начин, след което проверете дали всеки от тях стартира самостоятелно, преди да се опитате да се присъедините към тях.
tar -xzf apache-cassandra-x.y.z-bin.tar.gz -C /opt/ export CASSANDRA_HOME=/opt/apache-cassandra-x.y.z $CASSANDRA_HOME/bin/cassandra -f
След като един възел стартира чисто, спрете го, изчистете директорията му с данни и преминете към раздела за конфигурация на клъстера по-долу.
Стъпка 1) Стартирайте Cassandra Настройка на корпоративното издание. Включено Linux терминал, стартирайте настройката. Ще се покаже следната страница.
Тази страница не предоставя необходимата информация. Той просто предоставя информация за Cassandra версия. Така че преминете тази страница и натиснете следващия бутон.
Стъпка 2) Приемете лицензионното споразумение. След натискане на бутона „Следващ“ ще се покаже следващата страница.
Тази страница предоставя информация за пакетите и подпакетите в Cassandra който ще бъде инсталиран. По-долу ще бъдете попитани за лиценза. Поставете отметка в квадратчето „Приемам споразумението“ и натиснете бутона „Напред“.
Стъпка 3) Инсталирайте Builder и щракнете върху бутона „Напред“. След като натиснете бутона „Напред“, ще видите следната страница.
Тази страница ви пита за опциите за инсталиране.
- Първо, той ще поиска инсталационната директория. По подразбиране той е инсталиран в началната директория.
- След това пита за типа инсталация, изберете Simple Install.
- След това пита за система за актуализиране, проверете „не“.
- След това се изисква интерфейс по подразбиране. Има две опции, можете да инсталирате на localhost или да изберете IP адрес. Изберете IP адрес за инсталиране.
- Натиснете следващия бутон.
Стъпка 4) Настройте възела и щракнете върху „Напред“. След натискане на бутона „Напред“ ще се покаже следната страница.
Тази страница пита за настройката на възела.
- Първо, изберете тип възел 'Cassandra Възел'.
- След това в Ring Name дайте името на вашия клъстер. Cluster името трябва да е едно и също за всички възли в един и същи клъстер.
- След това изберете началния възел (seed). Почти всеки възел (seed) е възелът, с който се свързват други не-начални възли, когато стартират.
- След като предоставите тази информация, натиснете бутона Next.
Стъпка 5) Инсталирайте агента за наблюдение. След натискане на бутона „Следващ“ ще се покаже следната страница. Тази страница изисква IP адреса, на който да бъде инсталиран агентът.
- Агентът е необходим за конзолата за наблюдение, където всички възли могат да се наблюдават на едно място.
- След като предоставите тази информация, натиснете бутона Next.
Стъпка 6) Натиснете бутона „Напред“ за инсталиране. След натискане на бутона „Напред“ ще се покаже следващата страница.
Сега настройката е готова за инсталиране. Натиснете следващия бутон.
Стъпка 7) Изчакайте процеса на инсталиране. След натискане на бутона „Следващ“ ще се покаже следващата страница.
Инсталацията ще започне.
Стъпка 8) Щракнете върху бутона „Готово“. След инсталацията ще се покаже следната страница. На същата страница ще видите отметка за опцията, която се появява по подразбиране.
Конфигуриране на cassandra.yaml за присъединяване към възли
Само инсталирането не създава клъстер. Възлите се намират един друг само след като четири настройки в cassandra.yaml се съгласуват, а именно този файл е мястото, където повечето настройки на клъстера се объркват.
cluster_name: 'Guru99 Cluster' seed_provider: - class_name: org.apache.cassandra.locator.SimpleSeedProvider parameters: - seeds: "192.168.1.10,192.168.1.11" listen_address: 192.168.1.10 rpc_address: 0.0.0.0 broadcast_rpc_address: 192.168.1.10 endpoint_snitch: GossipingPropertyFileSnitch
- име_на_клъстер трябва да съвпада на всеки възел. Несъответствието е най-честата причина възел да откаже да се присъедини.
- семена изброява точките за контакт, с които началният възел комуникира. Две или три семена на център за данни са достатъчни; превръщането на всеки възел в семе предотвратява автоматичното първоначално зареждане.ping.
- адрес_на_слушане е адресът, който другите възли използват, за да достигнат до този. Трябва да е истински маршрутизируем адрес, никога localhost.
- endpoint_snitch разказва Cassandra оформлението на стелажа и центъра за данни. GossipingPropertyFileSnitch е обичайният избор, със стойности, зададени в cassandra-rackdc.properties.
Промяната на името на снитча или клъстера, след като данните съществуват, изисква допълнителни стъпки, така че и двете трябва да бъдат решени преди стартирането на първия възел.
Стартиране Cassandra Възел
След инсталиране Cassandra На всеки възел стартирайте сървърите и следвайте стъпките по-долу. Редът е важен: стартирайте първо началните възли, един по един, като изчакате всеки да се отчете като работещ, преди да стартирате следващия. Едновременното стартиране на няколко възела може да доведе до конфликти в диапазона на токените.
Стъпка 1) Отидете в Cassandra инсталационната директория и стартирайте сървъра.
bin/cassandra -f
Чрез изпълнението на тази команда, Cassandra сървърът ще бъде стартиран. Ето екранната снимка, където Cassandra сървърът стартира.
След около минута сървърът ще заработи. Стартирайте всеки възлов сървър един по един. След като стартирате всички възлови сървъри, вашият Cassandra клъстерът е готов за използване.
Стъпка 2) Проверете дали всеки възел се е присъединил, като проверите пръстена от всеки един от тях.
nodetool status nodetool describecluster
Всеки възел трябва да се показва със статус UN, което означава „Нагоре“ и „Нормално“, а колоната „Собственици“ трябва да показва приблизително равни проценти. Една единствена версия на схемата в изхода на describecluster потвърждава, че всички възли са съгласни със схемата.
Три симптома обхващат повечето повреди. Възел, който никога не се появява, обикновено има несъответстващо име на клъстер или блокиран порт 7000. Възел, заседнал на UJ, който се присъединява, все още предава данни и просто се нуждае от време на голям клъстер. Изключително неравномерната собственост сочи към неправилна конфигурация на доносник, при която възлите са поставени в грешен шкаф или център за данни.
При здравословен пръстен, настройките за репликация за всяко ключово пространство определят как данните се разпространяват в него, както е описано в Cassandra ключово пространство урок и Cassandra архитектура разбивка.










