Поиск по сайту:

Как установить базу данных Apache Cassandra NoSQL на CentOS 8


Это руководство существует для этих версий ОС

  • CentOS 8
  • CentOS 7

На этой странице

  1. Требования
  2. Начало работы
  3. Установить Java
  4. Установите Apache Cassandra
  5. Создание файла модуля Systemd для Cassandra
  6. Протестируйте установку Apache Cassandra
  7. Настройка Apache Cassandra
  8. Заключение

Apache Cassandra — это высокопроизводительная система управления базами данных NoSQL с открытым исходным кодом, не имеющая единой точки отказа. Apache Cassandra использует модель кластера вместо табличной модели, используемой в MySQL/PostgreSQL. Cassandra подходит для приложений, которые не могут позволить себе потерять данные. Данные автоматически реплицируются на несколько узлов для обеспечения отказоустойчивости. Вышедшие из строя узлы могут быть заменены автоматически без простоев.

Apache Cassandra — лучший выбор для вас, если вы ищете масштабируемость, высокую доступность и высокую производительность.

В этом руководстве мы покажем вам, как установить Apache Cassandra на CentOS 8.

Требования

  • Сервер под управлением CentOS 8 с оперативной памятью не менее 2 ГБ.
  • В вашей системе установлен пароль root.

Начиная

Перед запуском рекомендуется обновить ваш сервер до последней стабильной версии. Вы можете обновить свой сервер с помощью следующей команды:

dnf update

После обновления сервера перезапустите его, чтобы изменения вступили в силу.

Установить Java

Apache Cassandra требует, чтобы в системе были установлены OpenJDK 8 и Python2. Вы можете установить OpenJDK 8 и Python2 с помощью следующей команды:

dnf install java-1.8.0-openjdk-devel python2

После установки обоих пакетов вы можете проверить версию Java с помощью следующей команды:

java -version

Вы должны увидеть следующий вывод:

openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

Установить Апач Кассандра

По умолчанию Apache Cassandra недоступен в стандартном репозитории CentOS 8. Поэтому вам нужно будет создать репо для этого. Вы можете создать новый файл репо /etc/yum.repos.d/cassandra.repo, как показано ниже:

nano /etc/yum.repos.d/cassandra.repo

Добавьте следующие строки:

[cassandra]
name = DataStax Repo for Apache Cassandra
baseurl = http://rpm.datastax.com/community
enabled = 1
gpgcheck = 0

Сохраните и закройте файл, затем установите Apache Cassandra с помощью следующей команды:

dnf install dsc20

Как только вы закончите установку, вы можете перейти к следующему шагу

Создайте файл модуля Systemd для Cassandra

По умолчанию пакет Apache Cassandra не может генерировать служебный файл для себя. Поэтому вам нужно будет создать файл службы systemd для управления службой Cassandra. Вы можете создать его с помощью следующей команды:

nano /etc/systemd/system/cassandra.service

Добавьте следующие строки:

[Unit]
Description=Apache
Cassandra After=network.target
[Service]
PIDFile=/var/run/cassandra/cassandra.pid
User=cassandra
Group=cassandra
ExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra/cassandra.pid
Restart=always
[Install]
WantedBy=multi-user.target

Сохраните и закройте файл. Затем перезагрузите демон systemd с помощью следующей команды:

systemctl daemon-reload

Затем запустите службу Cassandra и включите ее запуск после перезагрузки системы с помощью следующей команды:

systemctl start cassandra
systemctl enable cassandra

Вы также можете проверить статус службы Cassandra с помощью следующей команды:

systemctl status cassandra

Вы должны увидеть следующий вывод:

? cassandra.service - Apache
   Loaded: loaded (/etc/systemd/system/cassandra.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2019-12-07 01:25:26 EST; 1min 51s ago
 Main PID: 1888 (java)
    Tasks: 53 (limit: 25044)
   Memory: 272.7M
   CGroup: /system.slice/cassandra.service
           ??1888 java -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar -XX:+CMSClassUnloadingEnabled -XX:+UseThreadPriorities -XX:Threa>

Dec 07 01:25:29 centos8 cassandra[1888]:  INFO 01:25:29,054 Writing (10104/101040 serialized/live bytes, 259 ops)
Dec 07 01:25:29 centos8 cassandra[1888]:  INFO 01:25:29,118 Completed flushing /var/lib/cassandra/data/system/local/system-local-jb-4-Data.db >
Dec 07 01:25:29 centos8 cassandra[1888]:  INFO 01:25:29,124 Compacting [SSTableReader(path='/var/lib/cassandra/data/system/local/system-local->
Dec 07 01:25:29 centos8 cassandra[1888]:  INFO 01:25:29,169 Node localhost/127.0.0.1 state jump to normal
Dec 07 01:25:29 centos8 cassandra[1888]:  INFO 01:25:29,294 Compacted 4 sstables to [/var/lib/cassandra/data/system/local/system-local-jb-5,].>
Dec 07 01:25:29 centos8 cassandra[1888]:  INFO 01:25:29,322 Starting listening for CQL clients on localhost/127.0.0.1:9042...
Dec 07 01:25:29 centos8 cassandra[1888]:  INFO 01:25:29,376 Using TFramedTransport with a max frame size of 15728640 bytes.
Dec 07 01:25:29 centos8 cassandra[1888]:  INFO 01:25:29,378 Binding thrift service to localhost/127.0.0.1:9160
Dec 07 01:25:29 centos8 cassandra[1888]:  INFO 01:25:29,391 Using synchronous/threadpool thrift server on localhost : 9160
Dec 07 01:25:29 centos8 cassandra[1888]:  INFO 01:25:29,422 Listening for thrift clients...

Проверка установки Apache Cassandra

Теперь Apache Cassandra установлен и работает на вашем сервере. Вы можете проверить, работает ли он или нет, с помощью следующей команды:

nodetool status

Вы должны увидеть следующую команду:

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens  Owns (effective)  Host ID                               Rack
UN  127.0.0.1  46.11 KB   256     100.0%            2a680007-8c30-4bde-9a3f-9fa212b96d11  rack1

Настроить Apache Cassandra

По умолчанию Cassandra настроена на прием соединения только с локального хоста.

Вы также можете войти в Cassandra через язык запросов Cassandra. Чтобы получить доступ к оболочке CQL, выполните следующую команду:

cqlsh

Вы должны увидеть следующий вывод:

Connected to Test Cluster at localhost:9160.
[cqlsh 4.1.1 | Cassandra 2.0.17 | CQL spec 3.1.1 | Thrift protocol 19.39.0]
Use HELP for help.
cqlsh> 

В приведенном выше выводе вы должны увидеть, что кластер Cassandra называется «Тестовый кластер». Вы также можете изменить это имя кластера по умолчанию.

Для этого войдите в оболочку CQL с помощью следующей команды:

cqlsh

Затем выполните следующую команду, чтобы изменить имя кластера на «HowtoForge Cluster», как показано ниже:

cqlsh> UPDATE system.local SET cluster_name = 'HowtoForge Cluster' WHERE KEY = 'local';

Затем выйдите из оболочки с помощью следующей команды:

cqlsh>exit;

Далее вам также нужно будет отредактировать файл конфигурации cassandra.yaml и указать новое имя кластера:

nano /etc/cassandra/default.conf/cassandra.yaml

Измените следующую строку:

cluster_name: 'HowtoForge Cluster'

Сохраните и закройте файл, когда закончите. Затем очистите системный кеш с помощью следующей команды:

nodetool flush system

Наконец, перезапустите службу Apache Cassandra, чтобы применить новую конфигурацию:

systemctl restart cassandra

Теперь войдите в оболочку CQL с помощью следующей команды:

cqlsh

Вы должны увидеть, что имя кластера теперь изменено на \HowtoForge Cluster\:

Connected to HowtoForge Cluster at localhost:9160.
[cqlsh 4.1.1 | Cassandra 2.0.17 | CQL spec 3.1.1 | Thrift protocol 19.39.0]
Use HELP for help.
cqlsh> 

Заключение

Поздравляем! вы успешно установили и настроили Apache Cassandra на CentOS 8. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.