Compartilhamento de tecnologia

docker instala o ElasticSearch

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Este artigo refere-se aos dois artigos a seguir

✅Implantação do ElasticSearch e Kibana · Reflexões sobre o efeito da nuvem · Base de conhecimento de nível empresarial (aliyun.com)

Instalação do Docker do ElasticSearch e Kibana - Feishu

Instale o elasticsearch

Use o docker para baixar:

docker pull elasticsearch:8.13.0

Configuração de montagem

Crie um diretório de arquivos suspensos

  1. mkdir -p /home/docker/es/config
  2. mkdir -p /home/docker/es/data
  3. mkdir -p /home/docker/es/plugins
  4. mkdir -p /home/docker/es/logs
  5. #权限
  6. chmod 777 /home/docker/es/config
  7. chmod 777 /home/docker/es/data
  8. chmod 777 /home/docker/es/plugins
  9. chmod 777 /home/docker/es/logs

Edite o arquivo /home/docker/es/config/elasticsearch.yml

  1. cluster.name: "nfturbo-cluster"
  2. network.host: 0.0.0.0
  3. http.cors.enabled: true
  4. http.cors.allow-origin: "*"
  5. xpack.security.enabled: true

imagem de inicialização

  1. docker run --name elasticsearch
  2. -p 9200:9200
  3. -p 9300:9300
  4. -e "discovery.type=single-node"
  5. -e ES_JAVA_OPTS="-Xms256m -Xmx512m"
  6. -v /home/docker/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
  7. -v /home/docker/es/data:/usr/share/elasticsearch/data
  8. -v /home/docker/es/plugins:/usr/share/elasticsearch/plugins
  9. -v /home/docker/es/logs:/usr/share/elasticsearch/logs
  10. -d elasticsearch:8.13.0

Definir senha de usuário integrada

Para definir a senha de usuário integrada do Elasticsearch em um ambiente Docker, é recomendado usar elasticsearch-setup-passwords auto comando, pois gera automaticamente senhas aleatórias para usuários integrados e as exibe diretamente no console. Este método é mais adequado para implantação automatizada ou operações com script.

Se desejar inserir sua senha manualmente e defini-la de forma interativa, você pode usar elasticsearch-setup-passwords interactive Ordem. Este método é adequado para definir senhas de forma interativa e permite inserir manualmente a senha de cada usuário de acordo com suas necessidades.

  1. # 进入es容器内部
  2. docker exec -it a46f2f8bdfd7 /bin/bash
  3. #手动设置用户密码
  4. elasticsearch-setup-passwords interactive
  5. #重启es容器

No entanto, isso não funciona. Você encontrará esse problema depois de iniciar o kibana mais tarde.Porqueúltima versão Pesquisa elástica Políticas de segurança mais rígidas foram introduzidas, especialmente quando se trata de índices de sistema que o Kibana precisa acessar.Especificamente, a mensagem de erro afirma que o usoelastic Conta de superusuário, mas esta conta não permite gravar nos índices do sistema exigidos pelo Kibana

Erro: [validação de configuração de [elasticsearch].username]: valor de "elastic" é proibido

Entre no contêiner es, adicione um novo usuário, defina as permissões de função, crie uma senha de acordo com as instruções e confirme a senha novamente

  1. bin/elasticsearch-users useradd gxj
  2. #密码123456
  3. bin/elasticsearch-users roles -a superuser gxj
  4. bin/elasticsearch-users roles -a kibana_system gxj

Não importa o aviso, não se preocupe com isso

AVISO: O proprietário do arquivo [/usr/share/elasticsearch/config/users_roles] costumava ser [root], mas agora é [elasticsearch]

Acesso ao navegador

ip:9200, Lembre-se do mapeamento aberto do firewallporta

Instale o Kibana

Baixe o Kibana usando o Docker

docker pull kibana:8.13.0

Verifique o IP do ES

docker inspect elasticsearch|grep IPAddress

Configuração de montagem

  1. #创建挂载文件
  2. touch /home/docker/es/config/kibana.yml
  3. #权限
  4. chmod 777 /home/docker/es/config/kibana.yml

editarkibana.yml, você precisa definir o IP que acabou de encontrar paraElasticsearch.hosts (hosts), outras configurações podem ser ajustadas adequadamente por você mesmo.

  1. server.name: kibana
  2. #server.port: 5601
  3. server.host: 0.0.0.0
  4. #改成 es 的内网 ip
  5. elasticsearch.hosts: [ "http://172.17.0.2:9200" ]
  6. elasticsearch.username: "gxj"
  7. elasticsearch.password: "123456"
  8. xpack.monitoring.ui.container.elasticsearch.enabled: true
  9. i18n.locale: "zh-CN"

Iniciar o Kibana

  1. docker run --name kibana
  2. -p 5601:5601
  3. -v /home/docker/es/config/kibana.yml:/usr/share/kibana/config/kibana.yml
  4. -d kibana:8.13.0

Acesso ao navegador

http://ip:5601, Lembre-se do mapeamento aberto do firewallporta

Digite o nome de usuário (gxj), senha (123456)) para acessar

 
  1. #kibana容器运行日志
  2. docker logs kibana