1 votes

Exécution d'Elasticsearch sur Ubuntu sur WSL : "Le système n'a pas été démarré avec systemd comme système d'initialisation (PID 1). Can't operate."

J'utilise WSL sur Windows 11 (avec Ubuntu 22.04 LTS) et j'essaie d'utiliser Elasticsearch. Lorsque je lance sudo systemctl start elasticsearch.service J'obtiens l'erreur suivante

System has not been booted with systemd as init system (PID 1). Can't operate.

Je comprends systemctl n'est pas disponible sur le WSL. J'ai donc essayé son alternative, service elasticsearch start mais j'obtiens l'erreur suivante : elasticsearch: unrecognized service .

Je comprends que des questions similaires ont été posées sur ce site, mais j'ai déjà essayé la commande alternative, mais elle ne fonctionne pas. Alors, s'il vous plaît, aidez-moi à résoudre ce problème.

0voto

NotTheDr01ds Points 4144

Je suis sûr qu'il est possible d'installer Elasticsearch directement sur Ubuntu sur WSL, mais (a) je ne l'ai pas fait, et (b) il y a probablement un moyen plus simple.

Elasticseach fournit une image Docker avec toutes les dépendances.

Pour l'installer et le faire fonctionner, j'ai utilisé une forme légèrement modifiée de la commande Elasticsearch doc pour le WSL :

  • Installer Docker Desktop pour Windows

  • Redémarrer Ubuntu

  • Augmenter les limites de mmap avec :

    sudo sysctl -w vm.max_map_count=262144

    Voir cette question/réponse de Stack Overflow pour obtenir des informations sur la manière de persister dans cette voie.

  • Créer un réseau Docker pour Elasticsearch avec :

    docker network create elastic
  • Démarrer Elasticsearch avec :

    docker run --name es01 --net elastic -p 9200:9200 -p 9300:9300 -it docker.elastic.co/elasticsearch/elasticsearch:8.4.1

    La première fois que vous l'exécutez, les images sont également extraites, ce qui entraîne un léger retard. Cela ne se produira plus lors des exécutions suivantes.

  • Notez (c'est-à-dire copiez dans le bloc-notes ou autre) les jetons qui sont affichés, car ils commenceront à défiler hors de la page lorsque d'autres opérations commenceront à se produire (par exemple, vous exécutez Kibana).

  • Exécutez Kibana dans une session Ubuntu on WSL séparée (par exemple, un nouvel onglet dans Windows Terminal) via :

    docker run --name kib-01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.4.1
  • Une fois l'opération terminée, n'oubliez pas de nettoyer les anciens récipients avec de l'eau :

    docker ps --all
    docker remove <exited_container_name_or_id>

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X