Neste blog, explicaremos como instalar o Apache Cassandra no Ubuntu 20.10/Ubuntu 20.04. Apache Cassandra é um banco de dados NoSQL de código aberto destinado a armazenar grandes quantidades de dados em um cluster descentralizado e altamente disponível, fornecer tolerância a falhas, consistência em vários servidores e escalabilidade linear.
Etapas para instalar o Apache Cassandra no Ubuntu
Etapa 1:instale o Java no Ubuntu 20
$ sudo apt install openjdk-8-jdk
No meu sistema, o Java já estava lá, então será atualizado.
Etapa 2:verifique a instalação do Java
$ java -version
Saída de amostra:
root@Cassandra:~# java -versionopenjdk versão "1.8.0_292"OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~20.10-b10)OpenJDK 64-Bit Server VM (build 25.292-b10, mixed modo)
Etapa 3:Instale o pacote de dependências:
$ sudo apt install apt-transport-https
Etapa 4:Importar chave GPG:
$ wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -
Saída de amostra:
root@Cassandra:~# wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -Aviso:apt-key está obsoleto. Gerencie arquivos de chaveiro em trusted.gpg.d (veja apt-key(8)).OKroot@Cassandra:~#
Etapa 5:adicione o repositório do Apache Cassandra
$ sudo sh -c 'echo "deb http://www.apache.org/dist/cassandra/debian 311x main"> /etc/apt/sources.list.d/cassandra.list'
Saída de amostra:
root@Cassandra:~# sudo sh -c 'echo "deb http://www.apache.org/dist/cassandra/debian 311x main"> /etc/apt/sources.list.d/cassandra.list 'root@Cassandra:~#
Etapa 6:atualizar o sistema Ubuntu
$ sudo apt update
Etapa 7:Instale o Apache Cassandra no Ubuntu
$ sudo apt install cassandra
Você também pode ver a versão mais recente do Cassandra
Após a instalação, o serviço Cassandra é iniciado automaticamente.
Saída de amostra:
root@Cassandra:~# sudo apt install cassandraLendo listas de pacotes... DoneBuilding árvore de dependência Lendo informações de estado... DoneO seguinte pacote foi instalado automaticamente e não é mais necessário:virtualbox-guest-utilsUse 'sudo apt autoremove' para removê-lo.Os seguintes pacotes adicionais serão instalados:libpython2-stdlib libpython2.7-minimal libpython2.7-stdlibpython-is-python2 python2 python2-minimal python2.7 python2.7-minimalPacotes sugeridos:cassandra-tools python2-doc python- tk python2.7-doc binutils binfmt-supportOs seguintes NOVOS pacotes serão instalados:cassandra libpython2-stdlib libpython2.7-minimal libpython2.7-stdlibpython-is-python2 python2 python2-minimal python2.7 python2.7-minimal0 atualizado, 9 recém-instalado, 0 para remover e 332 não atualizados. Precisa obter 34,4 MB de arquivos. Após esta operação, 56,9 MB de espaço adicional em disco serão usados. Deseja continuar? [S/n] YGet:2 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 libpython2.7-minimal amd64 2.7.18-1build2 [335 kB]Get:1 https://downloads.apache .org/cassandra/debian 311x/main amd64 cassandra all 3.11.10 [30,7 MB]Get:3 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 python2.7-minimal amd64 2.7.18-1build2 [1.264 kB]Get:4 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 python2-minimal amd64 2.7.18-2 [13,5 kB]Get:5 http://us.archive.ubuntu. com/ubuntu groovy/universe amd64 libpython2.7-stdlib amd64 2.7.18-1build2 [1.867 kB]Get:6 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 python2.7 amd64 2.7.18- 1build2 [248 kB]Get:7 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 libpython2-stdlib amd64 2.7.18-2 [7,332 B]Get:8 http://us.archive.ubuntu .com/ubuntu groovy/universe amd64 python2 amd64 2.7.18-2 [9.068 B]Get:9 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 python-is-python2 todos 2.7.17-4 [2.496 B] Obteve 34,4 MB em 1min 12s (474 kB/s) Selecionando o pacote não selecionado anteriormente libpython2.7-minimal:amd64.(Lendo o banco de dados ... 155984 arquivos e diretórios atualmente instalados.)Preparando para descompactar .../0-libpython2.7-minimal_2.7.18-1build2_amd64.deb ...Descompactando libpython2.7-minimal:amd64 (2.7.18-1build2) ...Selecionando o pacote não selecionado anteriormente python2.7-minimal.Preparing to unpack .../1-python2.7-minimal_2.7.18-1build2_amd64.deb ... Descompactando python2.7-minimal (2.7.18-1build2) ...Selecionando o pacote não selecionado anteriormente python2-minimal.Preparing to unpack .../2-python2-minimal_2.7.18-2_amd64.deb ...Descompactando python2-minimal ( 2.7.18-2) ...Selecionando o pacote não selecionado anteriormente libpython2.7-stdlib:amd64.Preparing to unpack .../3-libpython2.7-stdlib_2.7.18-1build2_amd64.deb ...Descompactando libpython2.7-stdlib :amd64 (2.7.18-1build2) ...Selecionando o pacote não selecionado anteriormente python2.7.Preparing to unpack .../4-python2.7_2.7.18-1build2_amd64.deb ...Descompactando python2.7 (2.7.18- 1build2) ...Selecionando pacote não selecionado anteriormente l ibpython2-stdlib:amd64.Preparando para descompactar .../5-libpython2-stdlib_2.7.18-2_amd64.deb ...Descompactando libpython2-stdlib:amd64 (2.7.18-2) ...Configurando libpython2.7-minimal :amd64 (2.7.18-1build2) ...Configurando python2.7-minimal (2.7.18-1build2) ...Vinculando e compilando pacotes de byte para runtime python2.7...Configurando python2-minimal (2.7 .18-2) ...Selecionando o pacote não selecionado anteriormente python2.(Lendo o banco de dados ... 156719 arquivos e diretórios atualmente instalados.)Preparando para descompactar .../python2_2.7.18-2_amd64.deb ...Descompactando python2 (2.7. 18-2) ...Selecionando o pacote não selecionado anteriormente python-is-python2.Preparing to unpack .../python-is-python2_2.7.17-4_all.deb ...Descompactando python-is-python2 (2.7.17-4 ) ...Selecionando o pacote cassandra não selecionado anteriormente.Preparing to unpack .../cassandra_3.11.10_all.deb ...Descompactando cassandra (3.11.10) ...Setting up libpython2.7-stdlib:amd64 (2.7.18- 1build2) ...Configurando python2.7 (2.7.18-1build2) ...Configurando libpython2-stdlib:amd64 (2.7.18-2) ...Sett ing up python2 (2.7.18-2) ...Configurando python-is-python2 (2.7.17-4) ...Configurando cassandra (3.11.10) ...Adicionando grupo `cassandra' (GID 141) ...Done.vm.max_map_count =1048575net.ipv4.tcp_keepalive_time =300update-rc.d:aviso:as ações iniciar e parar não são mais suportadas; voltando aos padrõesProcessando gatilhos para suporte mime (3.64ubuntu1) ...Processando gatilhos para gnome-menus (3.36.0-1ubuntu1) ...Processando gatilhos para systemd (246.6-1ubuntu1) ...Processando gatilhos para man-db (2.9.3-2) ...Processando gatilhos para desktop-file-utils (0.24-1ubuntu4) ...root@Cassandra:~#
Para iniciar automaticamente o serviço Cassandra automaticamente na inicialização:
sudo systemctl habilita cassandra
Saída de amostra:
root@Cassandra:~# sudo systemctl enable cassandracassandra.service não é um serviço nativo, redirecionando para systemd-sysv-install.Executing:/lib/systemd/systemd-sysv-install enable cassandraroot@Cassandra:~#Etapa 8:verifique o status do Cassandra e do nodetool
$ sudo systemctl status cassandra
Verifique as estatísticas do seu nó
$ sudo nodetool status
A ONU letras no sinal de saída de que o cluster está funcionando.
Etapa 9:Faça login no terminal Cassandra
$ cqlsh
Saída de amostra:
root@Cassandra:~# cqlshConnected to Test Cluster at 127.0.0.1:9042.[cqlsh 5.0.1 | Cassandra 3.11.10 | Especificação CQL 3.4.4 | Protocolo nativo v4]Use HELP para ajuda.cqlsh>Etapa 10:Configurando o Apache Cassandra no Ubuntu
- Arquivos de configuração –> /etc/cassandra
- Os dados são armazenados –> /var/lib/cassandra
- Arquivo de inicialização –> /etc/default/cassandra
O nome padrão do cluster do Cassandra é “Test Cluster”, para atualizar o login do nome do cluster para o Cassandra.
$ cqlsh
No meu caso, definirei o nome do cluster do Cassandra como “SysAdminXpert Cluster”
UPDATE system.local SET cluster_name ='SysAdminXpert Cluster' WHERE KEY ='local';
Comando para sair do prompt do Cassandra
SAÍDA;
Recomendamos fazer um backup antes de editar o “cassandra.yaml” Arquivo
sudo cp /etc/cassandra/cassandra.yaml /etc/cassandra/cassandra.yaml.org-backup
Localize e edite “cassandra.yaml” arquivo e atualize o nome do cluster.
$ sudo vim /etc/cassandra/cassandra.yaml
Pesquise por “cluster_name” e atualize o nome do cluster, eu o configurei para "SysAdminXpert Cluster".
Adicione endereços IP de nós do Cassandra. Abra o arquivo de configuração e, na seção seed _provider, encontre as seeds entrada:
Salve e saia de “cassandra.yaml” arquivo, para refletir as alterações, reinicie o serviço Cassandra.
Reinicie o Cassandra Service e verifique o status:
$ sudo systemctl restart cassandra &&sudo systemctl status cassandra
Faça login novamente no Cassandra Terminal e verifique o nome do cluster que é atualizado conforme mostrado abaixo da captura de tela.
$ cqlsh
Uso de cqlsh do Cassandra:
Cassandra Query Language Shell (CQLSH) é basicamente um meio de comunicação entre o Cassandra e o usuário. CQLSH é uma plataforma que permite ao usuário iniciar a linguagem de consulta Cassandra (CQL).
root@Cassandra:~# cqlsh --helpUsage:cqlsh.py [options] [host [port]]CQL Shell para Apache CassandraOptions:--version mostra o número da versão do programa e exit-h, --help mostra esta ajuda message e exit-C, --color Sempre usar saída de cor--no-color Nunca usar saída de cor--browser=BROWSER O navegador a ser usado para exibir a ajuda CQL, onde BROWSER pode ser:- um dos navegadores suportados em https:// docs.python.org/2/library/webbrowser.html.- caminho do navegador seguido por %s, exemplo:/usr/bin/google-chrome-stable %s--ssl Use SSL--no_compact No Compact-u USERNAME, --username=USERNAMEAutenticar como usuário.-p PASSWORD, --password=PASSWORDAuthenticate usando senha.-k KEYSPACE, --keyspace=KEYSPACEAutenticar no keyspace fornecido.-f FILE, --file=FILE Executa comandos de FILE e sai --debug Mostra informações adicionais de depuração--encoding=CODIFICAÇÃO Especifique uma codificação não padrão para a saída. (Padrão:utf-8)--cqlshrc=CQLSHRC Especifique um local alternativo para o arquivo cqlshrc.--cqlversion=CQLVERSIONEspecifique uma versão específica do CQL, por padrão será usada a versão mais alta suportada pelo servidor.Exemplos:"3.0.3", " ( padrão:5 segundos).--request-timeout=REQUEST_TIMEOUTEspecifique o tempo limite de solicitação padrão em segundos (padrão:10 segundos).-t, --tty Força o modo tty (prompt de comando). Conecta-se a 127.0.0.1:9042 por padrão. Esses padrões podem ser alterados definindo $CQLSH_HOST e/ou $CQLSH_PORT. Quando um host (e um número de porta opcional) são fornecidos na linha de comando, eles têm precedência sobre qualquer defaults.root@Cassandra:~#
Comando para obter a versão:
Este comando mostrará a versão do cqlsh, Cassandra, CQL e do protocolo nativo.
Exemplo:
root@Cassandra:~# cqlshConectado ao cluster SysAdminXpert em 127.0.0.1:9042.[cqlsh 5.0.1 | Cassandra 3.11.10 | Especificação CQL 3.4.4 | Protocolo nativo v4]Use HELP para ajuda.cqlsh>
Comando para Mostrar apresentador:
Este comando mostrará o nome do cluster, endereço IP com porta.
Exemplo:
cqlsh> show hostConnected to Test Cluster at 127.0.0.1:9042.cqlsh>
Comando para DESCREVER:
Este comando fornece a descrição de todos os Elementos de Esquema abaixo, conforme mencionado abaixo:
Sintaxe:
DESCRIBE CLUSTERDESCRIBE SCHEMADESCRIBE TABLESDESCRIBE TABLEDESCRIBE INDEX DESCRIBE KEYSPACESDESCRIBE KEYSPACE DESCRIBE TYPESDESCRIBE TYPE DESCRIBE FUNCTIONSDESCRIBE FUNCTION DESCRIBE AGGREGATESDESCRIBE AGREGATE
Exemplo:
cqlsh> descreve clusterCluster:SysAdminXpert ClusterPartitioner:Murmur3Partitionercqlsh>
Comando para limpar o console:
Sintaxe:
CLEARCLS
Fim do artigo. Vimos como instalar o Apache Cassandra no Ubuntu 20.10.