Krapace Posté(e) le 23 novembre 2009 Partager Posté(e) le 23 novembre 2009 Je suis en train de mettre en place un Cluster de MySQL et j'ai un petite soucis avec le Manager Quand je tente de lancer ndb_mgmd pour la premiere fois je me retrouve avec un Error opening file : config.ini Unable to read config file Par contre si je fais un #cd /var/lib/mysql-cluster/ #ndb_mgmd Ca passe tres bien O_o alors que mon ndb_mgmd n'est pas du tout dans ce repertoire... Une idée ? Suite du 08/12 : Petit problème au lancement pas moyen de faire démarrer ndb_mgmd avec un script Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amour Posté(e) le 23 novembre 2009 Partager Posté(e) le 23 novembre 2009 Le config.ini n'est pas tout simplement dans ce répertoire ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krapace Posté(e) le 23 novembre 2009 Auteur Partager Posté(e) le 23 novembre 2009 Si si il y est justement... C'est comme si le répertoire n'était pas "monté" Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amour Posté(e) le 23 novembre 2009 Partager Posté(e) le 23 novembre 2009 J'aurais plutôt tendance à dire qu'il cherche à côté de là où on se trouve, donc il faut taper la commande en se trouvant dans ce chemin... Quitte à préciser le chemin du fichier de config dans la ligne de commande, ou alors se déplacer dans le bon répertoire via un script, non ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krapace Posté(e) le 23 novembre 2009 Auteur Partager Posté(e) le 23 novembre 2009 En passant ndb_mgmd --config-file=/var/lib/mysql-cluster/config.ini Ca marche.Pour l'instant je le démarre a la main mais je comptait le mettre dans /etc/init.d/ Ca va etre dur de le faire sans passer par un script. Je suis une grosse quiche en bash Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amour Posté(e) le 23 novembre 2009 Partager Posté(e) le 23 novembre 2009 Eventuellement, si votre distribution a ce fichier, vous pouvez lancer la commande via le fichier /etc/rc.local, c'est ce que je fais pour certains programmes pour les lancer au démarrage, sans pour autant créer systématiquement un script dans /etc/init.d/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krapace Posté(e) le 23 novembre 2009 Auteur Partager Posté(e) le 23 novembre 2009 Ben pas de rc.local sous Suse 10 Peut etre que je peut le mettre dans /etc/profile... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amour Posté(e) le 23 novembre 2009 Partager Posté(e) le 23 novembre 2009 Sinon, j'ai toujours sous le coude un script très basique à ajouter dans /etc/init.d, vous le voulez ? (pas sous la main des suite, mais ce soir oui) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krapace Posté(e) le 23 novembre 2009 Auteur Partager Posté(e) le 23 novembre 2009 Oui merci ce serait sympa...Pas trop le temps de chercher faut que je connecte un dotproject a ma bdd et je galere en SQL... Pfiouuuuu suis tech de support pas developpeur php/mysql Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 23 novembre 2009 Partager Posté(e) le 23 novembre 2009 C'est quand même ultra étrange de mettre un fichier de conf dans /var et pas dans /etc Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krapace Posté(e) le 23 novembre 2009 Auteur Partager Posté(e) le 23 novembre 2009 Ouais je sais mais j'ai bêtement suivi un tuto.. C'est après coup que je me suis rendu compte de nombreuses erreurs. Au pire je vais jusqu'au bout en notant la procédure et je corrige au fur et a mesure.Une fois que tout est reglé je referai au propre je pense.Les machines étant destinées a la prod il vaut mieux que ce soit propre... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amour Posté(e) le 24 novembre 2009 Partager Posté(e) le 24 novembre 2009 Voici un simple exemple (remplacer certains éléments) : #!/bin/sh # description: nom-logiciel # chkconfig: 345 99 0 #source function library . /etc/init.d/functions case $1 in 'start') [ -f /var/lock/subsys/nom-logiciel ] && exit 0 echo -n "Lancement de nom-logiciel" daemon /chemin/commande-a-lancer echo touch /var/lock/subsys/nom-logiciel ;; 'stop') echo -n "Arrête nom-logiciel" killproc nom-processus-a-fermer echo rm -f /var/lock/subsys/nom-logiciel ;; 'restart') $0 stop $0 start ;; 'status') status nom-processus-a-surveiller ;; *) echo "usage : nom-logiciel \ {start|stop|restart|status}" exit 1 ;; esac exit 0 PS : il faut bien sûr le rendre exécutable avec "chmod +x nom-fichier" et l'ajouter dans la liste des services avec "chkconfig --add nom-script" Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krapace Posté(e) le 24 novembre 2009 Auteur Partager Posté(e) le 24 novembre 2009 Ok merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krapace Posté(e) le 8 décembre 2009 Auteur Partager Posté(e) le 8 décembre 2009 Petit probleme de demarrage du services. Dans les log il a l'air de vouloir demarrer en tout premier alors qu'il est en /etc/rc5.d/S99ndbmgmd J'ai un collègue qui s'est penché dessus mais bon...Il a d'autre chat a fouetter.Il est pourtant calé mais n'a plus de cheveux pour continuer a regarder C'est sur une SUSE Entreprise 10 Je voudrait juste démarrer mon /usr/bin/ndb_mgmd au boot de la machine #!/bin/sh # description: Manager Cluster # chkconfig: 345 99 0 #source function library cd /var/lib/mysql-cluster/ case $1 in 'start') [ -f /var/lock/subsys/ndb_mgmd ] && exit 0 echo -n "Lancement du Manager" startproc /usr/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini echo touch /var/lock/subsys/ndb_mgmd ;; 'stop') echo -n "Arret Manager" killproc ndb_mgmd echo rm -f /var/lock/subsys/ndb_mgmd ;; 'restart') $0 stop $0 start ;; 'status') echo "pas configure" ;; *) echo "usage : nom-logiciel \ {start|stop|restart|status}" exit 1 ;; esac exit 0 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amour Posté(e) le 8 décembre 2009 Partager Posté(e) le 8 décembre 2009 Pourquoi startproc au lieu de daemon ? Est-ce mieux avec daemon ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krapace Posté(e) le 8 décembre 2009 Auteur Partager Posté(e) le 8 décembre 2009 Si je met daemon il fait une erreur disant qu'il ne le trouve pas. Apparement sur Suse on remplace daemon par startproc (d'apres ce que j'ai vu pour les autres services) Dans les 2 cas il ne veut pas demarrer au boot.Et c'est assez embetant vu que c'est le manager du Cluster Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amour Posté(e) le 8 décembre 2009 Partager Posté(e) le 8 décembre 2009 Ne connaissant pas Suse et n'en ayant pas sous le coude... est-ce qu'en regardant le script de démarrage des autres programmes, il y a quelque chose qui vous aide ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krapace Posté(e) le 9 décembre 2009 Auteur Partager Posté(e) le 9 décembre 2009 J'ai essayé de reprendre le script de xinetd et de juste changer le chemin du binaire mais j'ai une erreur : -bash: ./ndbmgmd: /bin/sh^M: bad interpreter: No such file or directory #! /bin/sh # Copyright (c) 1997 - 2001 S.u.S.E. GmbH Nuernberg, Germany. All rights reserved. # Copyright (c) 2002 SuSE Linux AG, Nuernberg, Germany. # # Author: Carsten Hoeger <choeger@suse.de>, 1997, 1998 # # init.d/xinetd # # and symbolic its link # # /usr/sbin/rcxinetd # # System startup script for the inet daemon # ### BEGIN INIT INFO # Provides: xinetd # Required-Start: $network $remote_fs # Required-Stop: $network # X-UnitedLinux-Should-Start: portmap autofs # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Start the xinet daemon. ### END INIT INFO ndb_mgmd=/usr/bin/ndb_mgmd test -x $ndb_mgmd || exit 5 # Shell functions sourced from /etc/rc.status: # rc_check check and set local and overall rc status # rc_status check and set local and overall rc status # rc_status -v ditto but be verbose in local rc status # rc_status -v -r ditto and clear the local rc status # rc_failed set local and overall rc status to failed # rc_reset clear local rc status (overall remains) # rc_exit exit appropriate to overall rc status . /etc/rc.status # First reset status of this service rc_reset # Return values acc. to LSB for all commands but status: # 0 - success # 1 - misc error # 2 - invalid or excess args # 3 - unimplemented feature (e.g. reload) # 4 - insufficient privilege # 5 - program not installed # 6 - program not configured # # Note that starting an already running service, stopping # or restarting a not-running service as well as the restart # with force-reload (in case signalling is not supported) are # considered a success. case "$1" in start) echo -n "Starting NDBCluster Manager" ## Start daemon with startproc(8). If this fails ## the echo return value is set appropriate. # startproc should return 0, even if service is # already running to match LSB spec. startproc -t 1 $ndb_mgmd # Remember status and be verbose rc_status -v ;; stop) echo -n "Shutting down NDBCluster Manager" ## Stop daemon with killproc(8) and if this fails ## set echo the echo return value. killproc -QUIT $ndb_mgmd # Remember status and be verbose rc_status -v ;; try-restart) ## Stop the service and if this succeeds (i.e. the ## service was running before), start it again. $0 status >/dev/null && $0 restart # Remember status and be quiet rc_status ;; restart) ## Stop the service and regardless of whether it was ## running or not, start it again. $0 stop $0 start # Remember status and be quiet rc_status ;; force-reload) ## Signal the daemon to reload its config. Most daemons ## do this on signal 1 (SIGHUP). ## If it does not support it, restart. echo -n "Reload service xinetd" ## if it supports it: killproc -HUP $ndb_mgmd rc_status -v ;; reload) ## Like force-reload, but if daemon does not support ## signalling, do nothing (!) # If it supports signalling: echo -n "Reload NDBCLUSTER Manager" killproc -HUP $ndb_mgmd rc_status -v ;; status) echo -n "Checking for service NDBCLUSTER Manager " ## Check status with checkproc(8), if process is running ## checkproc will return with exit status 0. # Status has a slightly different for the status command: # 0 - service running # 1 - service dead, but /var/run/ pid file exists # 2 - service dead, but /var/lock/ lock file exists # 3 - service not running # NOTE: checkproc returns LSB compliant status values. checkproc $ndb_mgmd rc_status -v ;; *) echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}" exit 1 esac rc_exit Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amour Posté(e) le 9 décembre 2009 Partager Posté(e) le 9 décembre 2009 Peut-être qu'un mauvais caractère s'est glissé dans la 1ère ligne, essayez de l'effacer et de l'écrire à la main Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krapace Posté(e) le 9 décembre 2009 Auteur Partager Posté(e) le 9 décembre 2009 Oui ca devait etre un caractere caché j'ai refait un C/C de mon notepad vers putty et c'est passé. Le soucis maintenant c'est de le faire demarrer au boot.Meme avec un chkconfig ndb_mgmd on il veut pas le demarrer au boot :( Et surtout faut que je peaufine tout ca.Pour le demarrer ya pas de probleme mais pour l'arreter ya un soucis... #! /bin/sh # Copyright (c) 1997 - 2001 S.u.S.E. GmbH Nuernberg, Germany. All rights reserved. # Copyright (c) 2002 SuSE Linux AG, Nuernberg, Germany. # # Author: Carsten Hoeger <choeger@suse.de>, 1997, 1998 # # init.d/xinetd # # and symbolic its link # # /usr/sbin/rcxinetd # # System startup script for the inet daemon # ### BEGIN INIT INFO # Provides: xinetd # Required-Start: $network $remote_fs # Required-Stop: $network # X-UnitedLinux-Should-Start: portmap autofs # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Start the xinet daemon. ### END INIT INFO ndb_mgmd='/usr/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini' #test -x $ndb_mgmd || exit 5 # Shell functions sourced from /etc/rc.status: # rc_check check and set local and overall rc status # rc_status check and set local and overall rc status # rc_status -v ditto but be verbose in local rc status # rc_status -v -r ditto and clear the local rc status # rc_failed set local and overall rc status to failed # rc_reset clear local rc status (overall remains) # rc_exit exit appropriate to overall rc statu . /etc/rc.status # First reset status of this service rc_reset # Return values acc. to LSB for all commands but status: # 0 - success # 1 - misc error # 2 - invalid or excess args # 3 - unimplemented feature (e.g. reload) # 4 - insufficient privilege # 5 - program not installed # 6 - program not configured # # Note that starting an already running service, stopping # or restarting a not-running service as well as the restart # with force-reload (in case signalling is not supported) are # considered a success. case "$1" in start) echo -n "Starting NDBCluster Manager" ## Start daemon with startproc(8). If this fails ## the echo return value is set appropriate. # startproc should return 0, even if service is # already running to match LSB spec. startproc -t 1 $ndb_mgmd # Remember status and be verbose rc_status -v ;; stop) echo -n "Shutting down NDBCluster Manager" ## Stop daemon with killproc(8) and if this fails ## set echo the echo return value. killproc -QUIT $ndb_mgmd # Remember status and be verbose rc_status -v ;; try-restart) ## Stop the service and if this succeeds (i.e. the ## service was running before), start it again. $0 status >/dev/null && $0 restart # Remember status and be quiet rc_status ;; restart) ## Stop the service and regardless of whether it was ## running or not, start it again. $0 stop $0 start # Remember status and be quiet rc_status ;; force-reload) ## Signal the daemon to reload its config. Most daemons ## do this on signal 1 (SIGHUP). ## If it does not support it, restart. echo -n "Reload service xinetd" ## if it supports it: killproc -HUP $ndb_mgmd rc_status -v ;; reload) ## Like force-reload, but if daemon does not support ## signalling, do nothing (!) # If it supports signalling: echo -n "Reload NDBCLUSTER Manager" killproc -HUP $ndb_mgmd rc_status -v ;; status) echo -n "Checking for service NDBCLUSTER Manager " ## Check status with checkproc(8), if process is running ## checkproc will return with exit status 0. # Status has a slightly different for the status command: # 0 - service running # 1 - service dead, but /var/run/ pid file exists # 2 - service dead, but /var/lock/ lock file exists # 3 - service not running # NOTE: checkproc returns LSB compliant status values. checkproc $ndb_mgmd rc_status -v ;; *) echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}" exit 1 esac rc_exit Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amour Posté(e) le 9 décembre 2009 Partager Posté(e) le 9 décembre 2009 Pour l'arrêter, essayez de remplacer "killproc -QUIT $ndb_mgmd" par "killproc -QUIT ndb_mgmd" Le script ne se lance pas au démarrage ? Avec un "chkconfig --add ndb_mgmd" c'est mieux ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krapace Posté(e) le 9 décembre 2009 Auteur Partager Posté(e) le 9 décembre 2009 Non il veut pas se lancer au boot ips-manager:~ # chkconfig --add ndb_mgmd ndb_mgmd 0:off 1:off 2:off 3:on 4:on 5:on 6:off Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krapace Posté(e) le 9 décembre 2009 Auteur Partager Posté(e) le 9 décembre 2009 Soucis resolu !!! En fait au boot il lancait bien le script mais echouait parce que le reseau n'etait pas encore monté. Donc augmentation d'un timeout (c'est le collegue qui passait par la) et c'est bon. Je passait par le network manager pour gerer le reseau alors qu'il ont l'habitude d'utiliser la methode traditionnelle. Bref c'est bon ca roule Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.