Как установить базу данных Apache Cassandra NoSQL на CentOS 8
Это руководство существует для этих версий ОС
- CentOS 8
- CentOS 7
На этой странице
- Требования
- Начало работы
- Установить Java
- Установите Apache Cassandra
- Создание файла модуля Systemd для Cassandra
- Протестируйте установку Apache Cassandra
- Настройка Apache Cassandra
- Заключение
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. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.