Database
 sql >> Base de Dados >  >> RDS >> Database

Como instalar o Apache Cassandra no Ubuntu 20.10/Ubuntu 20.04


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 TABLE DESCRIBE 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.