Como instalar o Elasticsearch 8 no Debian 12, 11 ou 10 Linux

O Elasticsearch 8 é um mecanismo de pesquisa e análise de código aberto poderoso e flexível, conhecido por sua escalabilidade, velocidade e recursos de indexação de dados em tempo real. A versão 8.x traz melhorias significativas, incluindo recursos de segurança aprimorados com gerenciamento simples de certificados, recursos de pesquisa de texto enriquecidos e execução de consultas mais eficiente. Ele também introduz suporte nativo para campos de tempo de execução, facilitando a personalização de como os dados são indexados e pesquisados ​​sem alterar o esquema subjacente. Esses avanços tornam o Elasticsearch 8.xa uma solução robusta para gerenciar e analisar grandes volumes de dados.

Para instalar o Elasticsearch 8 no Debian 12, 11 ou 10, você pode usar o repositório APT oficial fornecido pelo Elasticsearch. Este guia orientará você nas etapas de configuração do Elasticsearch, garantindo que você tenha acesso aos recursos e melhorias mais recentes.

Atualize o Debian antes da instalação do Elasticsearch

Na primeira etapa, você precisa garantir que seu sistema Debian Linux esteja atualizado. Esta etapa atualizará todo o software existente para as versões mais recentes e preparará seu sistema para instalação.

Execute o seguinte comando para atualizar seu sistema Debian:

sudo apt update && sudo apt upgrade

Instalando os pacotes necessários

Antes de instalar o Elasticsearch 8 no Debian, devemos satisfazer pré-requisitos específicos. Isso envolve a instalação de alguns pacotes necessários, como software-properties-common, apt-transport-https e curl. Esses pacotes facilitam o gerenciamento de software e a transferência de dados pela rede.

Instale os pacotes necessários executando o seguinte:

sudo apt install software-properties-common apt-transport-https curl -y

Adicionar repositório APT do Elasticsearch 8 no Debian

A seguir, adicionaremos o repositório Elasticsearch APT ao nosso sistema Debian Linux. Primeiramente, importaremos a chave GPG para Elasticsearch, que garante a autenticidade do software que você está instalando. Execute o seguinte comando para importar a chave GPG:

curl -fSsL https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor | sudo tee /usr/share/keyrings/elasticsearch-8.gpg > /dev/null

A seguir, vamos importar o repositório Elasticsearch. Isso nos permitirá instalar o Elasticsearch diretamente usando o apt gerenciador de pacotes:

echo "deb [signed-by=/usr/share/keyrings/elasticsearch-8.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elasticsearch-8.list

Atualizando cache de índice APT

Devemos atualizar o índice do pacote APT após adicionar o repositório Elasticsearch ao nosso sistema. Isto garante que o APT conheça os novos pacotes do repositório recém-adicionado. Execute o seguinte comando para atualizar o índice APT:

sudo apt update

Instale o Elasticsearch 8 via comando APT

Agora que nosso sistema está preparado e o índice APT atualizado, podemos instalar o Elasticsearch 8. Use o seguinte comando para instalar o Elasticsearch:

sudo apt install elasticsearch

Nota: Se existirem duas entradas para o mesmo repositório Elasticsearch, você encontrará um erro durante a atualização do apt. Se você encontrar um erro 'Entrada duplicada de fontes.list', verifique /etc/apt/sources.list.d/elasticsearch-8.x.list para a entrada duplicada ou localize a entrada duplicada entre os arquivos em /etc/ apt/sources.list.d/ e o arquivo /etc/apt/sources.list.

Habilite o Elasticsearch no Debian após a instalação

Após a instalação, o serviço Elasticsearch é desabilitado na inicialização e inativo por padrão. Para ativar o serviço Elasticsearch e configurá-lo para iniciar automaticamente na inicialização, use o seguinte systemctl comando:

sudo systemctl enable elasticsearch.service --now

Configurar o Elasticsearch 8

A próxima etapa do gerenciamento do Elasticsearch 8 em seu sistema Debian Linux é configurá-lo.

Familiarizando-se com as configurações padrão do Elasticsearch

Em uma nova instalação do Elasticsearch, o software coloca seus dados processados ​​e armazenados no diretório /var/lib/elasticsearch. Se você precisar de modificações na configuração, /etc/elasticsearch é o seu diretório preferido. Se as opções de inicialização do Java precisarem de ajustes, essas configurações poderão ser ajustadas no arquivo de configuração /etc/default/elasticsearch.

Essas configurações padrão se adaptam a servidores autônomos onde o Elasticsearch opera exclusivamente em localhost. No entanto, se você pretende estabelecer um cluster Elasticsearch ou permitir conexões remotas, serão necessárias modificações na configuração padrão.

Refinando o arquivo de configuração do Elasticsearch

O arquivo de configuração do Elasticsearch contém muitos parâmetros que podem ser ajustados para atender às suas necessidades exclusivas. Para abrir este arquivo, execute o seguinte comando:

sudo nano /etc/elasticsearch/elasticsearch.yml

Um parâmetro importante é cluster.name, que designa o nome do cluster ao qual seu nó pertence. Por padrão, é “elasticsearch”, mas um nome mais distinto é aconselhável em um ambiente de produção.

Aqui está um exemplo:

cluster.name: my_application

A opção node.name é outra opção significativa que define o nome do nó Elasticsearch. Este nome é essencial para uma administração e gerenciamento tranquilos, especialmente ao trabalhar com vários nós.

Aqui está um exemplo:

node.name: node-1

Configure o Elasticsearch 8 com HTTPS no Debian

A seguir abordamos a configuração de HTTPS para sua instalação do Elasticsearch. A criptografia é essencial para proteger os dados, e permitir que o Elasticsearch 8 use HTTPS garante que os dados sejam transmitidos com segurança entre nós e clientes.

Gerar certificados SSL

A primeira etapa na configuração do Elasticsearch para HTTPS é gerar um certificado SSL. Este certificado é o que criptografará os dados entre seu servidor e clientes. O Elasticsearch possui uma ferramenta integrada chamada elasticsearch-certutil que você pode usar para gerar um certificado autoassinado. Execute o seguinte comando:

sudo /usr/share/elasticsearch/bin/elasticsearch-certutil cert --silent --pem -out config/elastic-certificates.p12

Isso criará um arquivo .p12 no diretório de configuração. Este arquivo contém a chave privada e o certificado público. É essencial proteger este arquivo e garantir que ele não esteja acessível a usuários não autorizados.

Atualizar configuração do Elasticsearch 8

Em seguida, você precisa atualizar o arquivo de configuração do Elasticsearch localizado em /etc/elasticsearch/elasticsearch.yml para incluir os caminhos para seu certificado e chave privada. Abra o arquivo de configuração e adicione as seguintes linhas:

xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

Essas configurações habilitam SSL para a camada de transporte, especificam que usamos certificados para verificação SSL e definem os caminhos para o certificado e a chave privada.

Permitindo acesso remoto (opcional)

O Elasticsearch está configurado para escutar apenas localhost por padrão. No entanto, isto pode ser ajustado nos casos em que seja necessário acesso remoto. Procure a seção Rede e remova o comentário da linha network.host removendo o # da frente. Substitua o valor existente pelo seu endereço IP privado interno ou endereço IP externo.

Aqui está um exemplo:

# network.host: 192.168.0.1

Neste exemplo, network.host foi removido do comentário e ajustado para um endereço IP privado interno.

Por segurança, é aconselhável especificar endereços IP individuais. No entanto, você pode alterar a interface de rede para ouvir todos, definindo-a como 0.0.0.0 para vários endereços IP internos ou externos conectados ao servidor.

Após fazer as alterações necessárias, salve o arquivo de configuração (CTRL+O para salvar, CTRL+X para sair).

Para impor as alterações no arquivo de configuração, reinicie o serviço Elasticsearch com o comando:

sudo systemctl restart elasticsearch

Modificando as regras de firewall UFW para conexões remotas

Se você configurou o Elasticsearch para permitir conexões remotas, é vital ajustar as regras do firewall para acomodar essas conexões. O Firewall Descomplicado (UFW) pode ajudar nisso.

Você pode permitir que um endereço IP específico se conecte ao Elasticsearch executando este comando:

sudo ufw allow from <IP Address> to any port 9200

Não se esqueça de substituir com o endereço IP real do qual você deseja permitir conexões. Este comando abrirá a porta 9200 para o endereço IP especificado, permitindo que ele interaja com o Elasticsearch.

Por exemplo, se você deseja permitir a conexão do endereço IP 192.168.0.2, o comando seria:

sudo ufw allow from 192.168.0.2 to any port 9200

Depois disso, seu servidor Debian permitirá que o tráfego de 192.168.0.2 acesse o Elasticsearch através da porta 9200. Lembre-se de que a segurança de seus servidores é fundamental, portanto, certifique-se de conceder acesso apenas a endereços IP confiáveis.

Verificando a configuração do Elasticsearch 8

Depois de modificar a configuração do Elasticsearch, é vital verificar se as alterações foram implementadas corretamente e se a sua instância do Elasticsearch está funcionando conforme o esperado.

Verificando o status do serviço Elasticsearch 8

Primeiro, verifique o status do seu serviço Elasticsearch para confirmar se ele está ativo e em execução. Você pode fazer isso com o seguinte comando:

sudo systemctl status elasticsearch

Este comando gerará informações sobre o serviço Elasticsearch, incluindo se ele está ativo e em execução. Caso contrário, talvez seja necessário solucionar o problema ou revisar as alterações na configuração.

Testando acesso remoto (opcional)

Se você habilitou o acesso remoto, você pode testá-lo tentando conectar-se à sua instância do Elasticsearch a partir de uma máquina remota. Conforme discutido na seção anterior, o endereço IP a partir do qual você está se conectando deve ser permitido nas regras do seu firewall.

Você pode usar o comando curl para esta finalidade:

curl https://<Your_Elasticsearch_IP>:9200

Substituir com o endereço IP do seu servidor Elasticsearch. Se for bem-sucedido, este comando deverá retornar informações sobre sua instância do Elasticsearch.

Validando a integridade dos dados

Por fim, é essencial verificar a integridade dos dados do Elasticsearch, especialmente se você tiver feito alterações no diretório de dados da sua configuração. O Elasticsearch fornece APIs que você pode usar para verificar o status dos seus dados.

Por exemplo, para obter o status de todos os índices, use o seguinte comando:

curl -X GET "https://localhost:9200/_cat/indices?v=true&pretty"

Este comando lista todos os índices em sua instância do Elasticsearch e seu status de integridade. Verifique o status de integridade dos seus índices para garantir que seus dados estejam seguros e acessíveis.

Observação: lembre-se de que manter a integridade e a segurança dos seus dados deve ser sempre uma prioridade. Sempre verifique suas alterações, valide sua configuração e monitore sua instância do Elasticsearch regularmente. Isso ajudará você a manter um sistema de gerenciamento de dados confiável, eficiente e seguro com o Elasticsearch.

Interagindo com o Elasticsearch 8 via cURL

Esta seção explorará comandos comuns que interagem com sua instância do Elasticsearch 8. Usaremos o curl ferramenta de linha de comando, uma biblioteca flexível para transferência de dados usando diferentes protocolos.

Excluindo um índice

Um índice Elasticsearch é um conjunto de documentos que possuem características semelhantes. Se você tiver um índice chamado samples que deseja excluir, poderá fazer isso com o seguinte comando:

curl -X DELETE 'https://localhost:9200/samples'

Este comando envia uma solicitação HTTP DELETE para o URL especificado, que instrui o Elasticsearch a excluir o índice de amostras.

Listando todos os índices

Para recuperar uma lista de todos os índices em sua instância do Elasticsearch, use o endpoint _cat/indices com uma solicitação GET como esta:

curl -X GET 'https://localhost:9200/_cat/indices?v'

A resposta listará todos os índices, incluindo a integridade, status, tamanho e número de documentos do índice.

Buscando documentos de um índice

Para buscar todos os documentos de um índice específico, digamos amostra, use o endpoint _search:

curl -X GET 'https://localhost:9200/sample/_search'

Este comando recupera todos os documentos armazenados no índice de amostra.

Pesquisando com parâmetros de URL

Você pode usar a sintaxe de consulta do Lucene para pesquisas de texto básicas. Por exemplo, se você quiser encontrar documentos cuja área escolar seja Harvard, você usaria:

curl -X GET https://localhost:9200/samples/_search?q=school:Harvard

Este comando envia uma solicitação GET para o endpoint _search usando o parâmetro q para a consulta.

Pesquisando com Elasticsearch Query DSL

Para consultas mais complexas, você pode preferir usar o Query DSL do Elasticsearch, que permite usar JSON para definir consultas. Este formato é mais legível e acessível para depuração de consultas complexas.

Aqui está um exemplo:

curl -XGET --header 'Content-Type: application/json' https://localhost:9200/samples/_search -d '{
      "query" : {
        "match" : { "school": "Harvard" }
    }
}'

Este comando faz o mesmo que o anterior, mas usa JSON para a definição da consulta. Dessa forma, o comando fica mais legível, principalmente quando se trata de consultas mais complexas.

Adicionando e atualizando documentos

Para adicionar um novo documento a um índice, você pode usar o método PUT junto com o endpoint _doc. Por exemplo, para adicionar um documento com ID 1 e uma área escolar de Harvard ao índice de amostras, você usaria:

curl -XPUT --header 'Content-Type: application/json' https://localhost:9200/samples/_doc/1 -d '{
   "school" : "Harvard"
}'

Para atualizar um documento, você pode usar o método POST com o endpoint _update. Por exemplo, para adicionar um campo de alunos ao documento que acabamos de criar, você usaria:

curl -XPOST --header 'Content-Type: application/json' https://localhost:9200/samples/_doc/1/_update -d '{
"doc" : {
               "students": 50000}
}'

Este comando instrui o Elasticsearch a atualizar o documento com um ID 1 no índice de amostras, adicionando um campo de alunos com valor 50.000.

Esses comandos são apenas uma pequena amostra do que você pode realizar com o Elasticsearch. A DSL de consulta do Elasticsearch

Gerencie o Elasticsearch 8 no Debian 12, 11 ou 10

Este segmento investiga o processo de remoção do Elasticsearch 8 do seu servidor Debian Linux. Você pode querer fazer isso por vários motivos, como o software não atender mais às suas necessidades ou você estar planejando mudar para uma solução alternativa. Independentemente dos motivos, as etapas descritas abaixo orientarão você durante o processo.

Remoção do Elasticsearch 8 do Debian

Erradicar o Elasticsearch do seu servidor envolve um comando simples. No entanto, lembre-se que esta ação é irreversível e eliminará todos os dados associados. Aqui está o comando para executar:

sudo apt remove elasticsearch

A execução do comando acima desinstalará efetivamente o Elasticsearch, liberando quaisquer recursos do sistema alocados anteriormente.

Remover repositório Elasticsearch APT

O repositório Elasticsearch permanecerá em seu sistema após a desinstalação. Se tiver certeza de que não irá reinstalar o Elasticsearch no futuro, é melhor se livrar dele para evitar confusão desnecessária.

Veja como remover o repositório Elasticsearch:

sudo rm /etc/apt/sources.list.d/elasticsearch-8.list

O comando acima excluirá o repositório Elasticsearch 8 do seu servidor Debian Linux.

Atualizando lista de repositórios

A etapa final é atualizar a lista de pacotes apt. Esta etapa é essencial para garantir que seu sistema não considere o Elasticsearch 8 para futuras atualizações ou instalações.

O comando para atualizar sua lista de repositórios é o seguinte:

sudo apt update

Conclusão

Com o Elasticsearch 8 instalado com sucesso em seu sistema Debian, você pode aproveitar seus recursos avançados de pesquisa e análise para gerenciar e analisar seus dados com eficiência. Atualize regularmente o Elasticsearch para se beneficiar dos recursos e melhorias de segurança mais recentes. Aproveite as funcionalidades poderosas do Elasticsearch 8.x, personalizadas para atender às demandas de gerenciamento e análise de dados modernos.

Joshua James
Me siga
Últimos posts por Joshua James (exibir todos)

Deixe um comentário