Instalação do Apache Cassandra
- Postado por Adriano Bonacin
- Categorias cassandra
- Data 23/06/2023
- Comentários 0 comentário
Introdução
Até aqui falamos um pouco sobre o Cassandra, quando não usar e coisas que devemos evitar, sobre as principais distribuições e alguns serviços gerenciados. Mas se quisermos instalar e cuidar do nosso próprio Cassandra, o que fazer? Aqui vamos tratar da instalação do Apache Cassandra e de seus pré-requisitos usando o Rocky Linux 8.7 (Green Obsidian), disponível no Marketplace da AWS em uma instância do tipo “t3a.medium”.
Versões do Apache Cassandra
Atualmente a versão mais usada do Cassandra é a 3.11, a versão mais recente é 4.1. Se você for até o repositório do Cassandra vai ver que temos os pacotes desde a versão 2.1.
Nós vamos utilizar a versão 4.1, a mais recente, para que você possa usar esse post por mais tempo.
Update SO
Lembrando que para este post estamos usando o Rocky Linux 8.7 e antes de começar qualquer coisa, vamos fazer o update do nosso SO. Isso deve levar alguns minutos.
[rocky@node1 ~]$ sudo dnf update -y
Rocky Linux 8 - AppStream 14 MB/s | 9.1 MB 00:00
Rocky Linux 8 - BaseOS 4.4 MB/s | 2.8 MB 00:00
Rocky Linux 8 - Extras 31 kB/s | 13 kB 00:00
Dependencies resolved.
===================================================================
…
Pré-requisitos: Java e python
O Cassandra é um banco de dados open source, escrito em Java. Há muito o que discutir a respeito disso, mas o fato é que na prática precisamos apenas do Java instalado antes de rodar nosso Cassandra. Você não precisa conhecer a linguagem Java em si, mas alguns pontos básicos podem ajudar, por exemplo como configurar o Garbage Collector.
Por muitos anos usamos o Java 8 com nosso Cassandra 3.X. A partir da versão 4.X do Cassandra, podemos usar o Java 8 ou o Java 11. Este será o primeiro passo, instalar e verificar a versão do java.
[rocky@node1 ~]$ sudo rpm -qa | grep java
[rocky@node1 ~]$ sudo yum install -y java-11-openjdk
Last metadata expiration check: 0:08:04 ago on Wed 21 Jun 2023 03:00:19 PM UTC.
Dependencies resolved.
==================================================================
Package Arch Version ...
==================================================================
Installing:
java-11-openjdk x86_64 1:11.0.19.0.7-4.el8
…
Complete!
[rocky@node1 ~]$
[rocky@node1 ~]$ sudo rpm -qa | grep java
tzdata-java-2023c-1.el8.noarch
javapackages-filesystem-5.3.0-2.module+el8.3.0+125+5da1ae29.noarch
java-11-openjdk-headless-11.0.19.0.7-4.el8.x86_64
java-11-openjdk-11.0.19.0.7-4.el8.x86_64
[rocky@node1 ~]$
[rocky@node1 ~]$ java -version
openjdk version "11.0.19" 2023-04-18 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.19.0.7-2) (build 11.0.19+7-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.19.0.7-2) (build 11.0.19+7-LTS, mixed mode, sharing)
Isso já seria suficiente para o Cassandra rodar, mas o nosso client, chamado cqlsh, depende do python 3.6+ (ou 2.7 se estiver usando o Cassandra 3.X). Vamos instalá-lo juntamente com o pip (que nos ajudará em outras tarefas no futuro).
[rocky@node1 ~]$ sudo yum install -y python3 python3-pip
Last metadata expiration check: 0:52:47 ago on Wed 21 Jun 2023 03:00:19 PM UTC.
Dependencies resolved.
==============================================================
Package Arch Version ...
==============================================================
Installing:
python3-pip noarch 9.0.3-22.el8.rocky.0
python36 x86_64 3.6.8-38.module+el8.5.0+671+
[rocky@node1 ~]$ python3 -V
Python 3.6.8
[rocky@node1 ~]$
Agora sim temos tudo que precisamos para instalar o Cassandra.
Instalação do Cassandra
Há basicamente duas formas de instalar o Cassandra, uma é usando um gerenciador de pacotes, yum/dnf para distribuições RedHat like e apt para distribuições baseadas no Debian. A outra é o tarball, que você simplesmente faz o download do binário e descompacta o conteúdo em um diretório de sua preferência.
Eu vou usar o gerenciador de pacotes do Rocky, o dnf (mas também funciona com o yum). Primeiro passo é criar um repositório no Linux. A dica aqui é que para a versão que deseja instalar, você precisa de um valor específico. Para o Cassandra 3.11, você usa o 311x, para o para 4.0; 40x, para o 4.1: 41x. Como vamos usar a versão 4.1, nosso repositório ficará assim:
[rocky@node1 ~]$ sudo cat /etc/yum.repos.d/cassandra.repo
[cassandra]
name=Apache Cassandra
baseurl=https://redhat.cassandra.apache.org/41x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
[rocky@node1 ~]$
Depois de criado o repositório, basta instalar o Cassandra:
[rocky@node1 ~]$ sudo dnf install -y cassandra
Apache Cassandra 365 B/s | 833 B 00:02
Apache Cassandra 184 kB/s | 278 kB 00:01
Importing GPG key 0xF2833C93:
Userid : "Eric Evans <eevans@sym-link.com>"
Fingerprint: CEC8 6BB4 A0BA 9D0F 9039 7CAE F835 8FA2 F283 3C93
From : https://downloads.apache.org/cassandra/KEYS
…
Dependencies resolved.
===========================================================
Package Architecture Version ...
===========================================================
Installing:
cassandra noarch 4.1.2-1 ...
…
Installed:
cassandra-4.1.2-1.noarch
Complete!
[rocky@node1 ~]$
[rocky@node1 ~]$ rpm -qa | grep cassandra
cassandra-4.1.2-1.noarch
[rocky@node1 ~]$
Conclusão
Agora temos nosso Cassandra instalado, porém ainda não pronto para uso em produção, nem pronto para criação de um cluster, que veremos em um dos próximos artigos.
No próximo artigo discuto como startar o Cassandra e os primeiros passos na administração, além de como limpar todos os dados para criar um novo cluster.
Até lá.