Elasticsearch peut pas écrire dans des fichiers journaux
Je voudrais activer les logs d'elasticsearch .
Quand je lance elasticsearch binaires, je me rends compte que j'ai des problèmes avec l'exploitation forestière : la configuration ne peut pas être chargé !
Voici le résultat :
~ $ sudo /usr/share/elasticsearch/bin/elasticsearch
Failed to configure logging...
org.elasticsearch.ElasticsearchException: Failed to load logging configuration
at org.elasticsearch.common.logging.log4j.LogConfigurator.resolveConfig(LogConfigurator.java:117)
at org.elasticsearch.common.logging.log4j.LogConfigurator.configure(LogConfigurator.java:81)
at org.elasticsearch.bootstrap.Bootstrap.setupLogging(Bootstrap.java:94)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:178)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32)
Caused by: java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
at sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55)
at sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:144)
at sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:97)
at java.nio.file.Files.readAttributes(Files.java:1686)
at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:109)
at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:69)
at java.nio.file.Files.walkFileTree(Files.java:2602)
at org.elasticsearch.common.logging.log4j.LogConfigurator.resolveConfig(LogConfigurator.java:107)
... 4 more
log4j:WARN No appenders could be found for logger (node).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Java HotSpot(TM) Server VM warning: You have loaded library /usr/share/elasticsearch/lib/sigar/libsigar-x86-linux.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
Je suis en cours d'exécution sous linuxmint 17 et à l'aide de la dernière ES.
Vous devez vous connecter pour publier un commentaire.
Si vous avez installé elasticsearch à l'aide d'un gestionnaire de paquets comme
yum
ouapt-get
vous ne devriez pas commencer à elasticsearch de cette façon. Essayez d'utiliser le service: par exemple/etc/init.d/elasticsearch
ou à l'aide de la commandesudo service elasticsearch start
Vous devriez également vérifier si la journalisation.fichier yml est à l'endroit mentionné dans la trace de la pile:
/usr/share/elasticsearch/config
À l'aide de
sudo
pour commencer elasticsearch est pas bonne, vous pourriez fairesudo elasticsearch
pour l'exécuter en tant qu'elasticsearch utilisateur, mais je préfère utiliser le service d'appel tel que décrit dans la deuxième phrase.Espère que ça aide
sudo /usr/share/elasticsearch/bin/elasticsearch --default.path.conf=/etc/elasticsearch/
.Votre
elasticsearch.yml
fichier ainsi quelogging.yml
fichier sera dans le/etc/elasticsearch
dossier.Créer un dossier config dans votre
elasticsearch
dossier dans/usr/share
et déplacer la .yml fichiers dans le dossier configMaintenant exécuter
/bin/elasticsearch start
et il va fonctionner.ln -s /etc/elasticsearch/ /usr/share/elasticsearch/config
Suivantes, il a travaillé pour moi.
Votre elasticsearch.fichier yml ainsi que l'exploitation forestière.fichier yml sera dans /etc/elasticsearch dossier.
Créer un dossier config dans votre elasticsearch dossier dans /usr/share et déplacer la .yml fichiers dans le dossier config
/usr/share/elasticsearch/config/elasticsearch.yml -> /etc/elasticsearch/elasticsearch.yml
)Vous pouvez faire des liens symboliques, mais si vous voulez tout simplement à point elasticsearch souhaité le répertoire de configuration, vous pouvez utiliser les éléments suivants:
/usr/share/elasticsearch/bin/elasticsearch --default.path.conf=/etc/elasticsearch/
Si vous avez installé elasticsearch dans les systèmes Debian à l'aide de dpkg, la configuration par défaut peut être trouvé à
/etc/elasticsearch/
Vous avez 2 fichiers yml:
elasticsearch.yml
logging.yml
Vous pouvez modifier le elasticsearch fichier (changement de droit d'accès ou de la copie de fichier dans votre dossier principal elasticsearch répertoire). Pour configurer votre chemin de journal (l.167).
Assurez-vous que vous disposez d'un droit d'accès.
Ensuite, essayez
et vérifier la
publish_adress
donné dans le terminalVous pouvez également définir plusieurs paramètres. Espérons que cette aide.
Si vous avez installé un .deb et que vous voulez commencer sudo /usr/share/elasticsearch/bin/elasticsearch
Que vous avez à faire :
Je pense que vous avez installé votre elasticsearch à l'aide de yum ou apt-get
La meilleure façon de le faire est de taper:
ou quelque chose de semblable, comme la façon dont vous voulez démarrer des services comme nginx, etc.
Cela fonctionne pour moi.
Si vous devez l'exécuter en premier plan, mais pas en tant que service, il suffit de spécifier le répertoire de configuration de manière explicite.
Dans ce cas elasticsearch serez en mesure de trouver tous vos fichiers de configuration.
Dans mon cas, j'ai essayé de démarrer elasticsearch à partir du goudron de téléchargement pour que je puisse exécuter plusieurs instances distinctes facilement sans les définitions de service.
Ce qui a fonctionné pour moi a été de monter un dossier et lancer elasticsearch à l'aide de
bin/elasticsearch
au lieu de simplementelasticsearch
tout en étant dans le répertoire bin.Maintenant, il a démarré sans problème, sans liens symboliques, les fichiers de service, ou d'autres changements.
Je suis en cours d'exécution elasicsearch avec l'utilisateur
elasticsearch
, j'ai donc utilisé cette commande:de la dir où elasticsearch est installé. A faire:
là que parce que sinon, il n'aura pas accès en écriture aux fichiers journaux. Je ne sais pas comment cela fonctionnerait via les scripts de démarrage de debian, mais cela semble bien fonctionner comme ça.
J'ai eu le même problème et je me demandais comment ils pouvaient manquer dans le script d'installation d'elastic search. Donc, après quelques recherches voici ce que j'ai trouvé:
On dirait que vous avez installés élastique recherche à l'aide de yum ou apt-get ou bien vous avez eu la "config" répertoire sous ES_HOME.
Vérification de l'init.d/elasticsearch est le suivant:
DAEMON_OPTS="-d -p $PID_FILE --default.path.home=$ES_HOME --default.path.logs=$LOG_DIR --default.path.data=$DATA_DIR --default.path.conf=$CONF_DIR"
:
# Start Daemon
start-stop-daemon -d $ES_HOME --start -b --user "$ES_USER" -c "$ES_USER" --pidfile "$PID_FILE" --exec $DAEMON -- $DAEMON_OPTS
Ainsi, toutes les variables sont correctement initialisé et ensuite transmises comme paramètres de ligne de commande.
Donc, la meilleure façon pour vous de commencer est d'utiliser le service:
>sudo service elasticsearch start
Il fera en sorte que toutes les config et journal des paramètres sont transmis à la commande principale.
Vérifier les journaux sous
/var/log/$NAME
qui serait " /var/log/elasticsearch`