2016-01-29 1 views
6

Je lance ma propre version de cassandra sur 127.0.1.1. J'ai changé le rpc_address et également le address à 127.0.1.1.Les agents opscenter de datastax ne sont pas installés

Quand je commence OPSCenter Je suis invité à installer agents et je le fais par l'option Fix now recommandée. Mais quand j'essaie de l'installer, il me demande des informations d'identification de Noeud ssh. Je ne sais pas ce que cela signifie.

Entering random credentials

Install failed

Quelles sont les informations d'identification correctes pour entrer ici?

J'ai essayé d'ajouter un nouvel utilisateur sur Linux avec les permissions root et essayé avec ce nom d'utilisateur aussi mais cela ne fonctionne pas. J'ai manuellement essayé de courir le install_agent.sh aussi mais cela ne fonctionne pas.

Ai-je raté quelque chose?

EDIT:

address.yaml

stomp_interface: 127.0.1.1 
agent_rpc_interface: "127.0.1.1" 
cassandra-conf: /home/kaushaya/Dropbox/Work/ITNow/olderVersions/cassandra2.11/apache-cassandra-2.1.12/conf/cassandra.yaml 
stomp_port: 61620 
jmx_host: 127.0.1.1 
jmx_port: 7199 

cassandra.yaml

http://textuploader.com/57ivn

EDIT2:

pour nom d'utilisateur et mot de passe J'utilise mes informations d'identification de banque de données. Pour la clé privée, j'utilise la clé dans /etc/ssh/ssh_host_rsa_key.pub comme mentionné par @apesa. Mais il ne peut toujours pas installer les agents.

Mon fichier address.yaml est-il correct?

EDIT 3:

Comme vous pouvez le voir dans l'image suivante, où la pensée OPSCenter n'est pas connecté aux agents, je peux encore voir les keyspaces et tables dans cassandra.

enter image description here

Pour sudo netstat -p | grep 127.0.1.1 je ne vois aucun résultat.

[email protected]$ ps -ef | grep datastax-agent 
[email protected]$ ps -ef | grep cassandra 

la sortie est ceci et cela respectivement. En bref, oui je peux voir des pots et je suppose que les variables d'environnement aussi.

Comment ai-je commencé Cassandra, demandez-vous?

sudo ./bin/cassandra à partir du dossier de cassandra. Après cela, j'utilise l'étincelle pour diffuser des données de kafka à cassandra. Mais cela ne devrait pas avoir d'importance ici.

Even if it is not connecting to the agent the opscenter should still show the cassandra instance. Do you see your test_Cluster? Oui! Je fais!

Enfin, nodetool status me donne ceci:

Datacenter: datacenter1 
======================= 
Status=Up/Down 
|/ State=Normal/Leaving/Joining/Moving 
-- Address Load  Tokens Owns Host ID        Rack 
UN 127.0.1.1 58.94 MB 256  ?  367dd1c6-291d-4e57-a2b6-e04d74154a6f rack1 

Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless 

Ce que je crois:

Je ne sais pas, mais peut-être mon address.yaml est pas correcte? J'ai mis à jour mon address.yaml ci-dessus, peut-être que j'ai besoin de changer quelque chose? Changer le address.yaml me donne différentes sorties quand je cours ./datastax-agent. Merci.

EDIT4:

tout ce Essayé @apesa suggéré et ici les résultats détaillés des scripts. J'ai encore le même problème.

Version

:

Opscenter: 5.2.4 
datastax-agent: 5.2.4 
Cassandra: 2.1.12 

Sortie de netstat -p sudo | grep: 9042

tcp  0  0 localhost:38155   ganguly:9042   ESTABLISHED 15907/python2.7 
tcp  0  0 localhost:38154   ganguly:9042   ESTABLISHED 15907/python2.7 
tcp  0  0 localhost:38153   ganguly:9042   ESTABLISHED 15907/python2.7 
tcp6  0  0 localhost:38176   ganguly:9042   ESTABLISHED 15951/java  
tcp6  0  0 localhost:38179   ganguly:9042   ESTABLISHED 15951/java  
tcp6  0  0 ganguly:9042   localhost:38154   ESTABLISHED 15720/java  
tcp6  0  0 ganguly:9042   localhost:38153   ESTABLISHED 15720/java  
tcp6  0  0 ganguly:9042   localhost:38179   ESTABLISHED 15720/java  
tcp6  0  0 ganguly:9042   localhost:38176   ESTABLISHED 15720/java  
tcp6  0  0 ganguly:9042   localhost:38155   ESTABLISHED 15720/java 

Sortie de netstat -p sudo | grep: 7199

vide

Sortie de netstat -p sudo | grep: 61620

blanc

This is the console log sur l'exécution sudo ./datastax-agent.

En bref, ceci est la ligne d'erreur:

ERROR [clojure-agent-send-off-pool-0] 2016-02-04 11:33:26,274 Can't \ 
connect to Cassandra (All host(s) tried for query failed (tried:\ 
/127.0.0.1:9042 \ 
(com.datastax.driver.core.TransportException: \ 
[/127.0.0.1:9042] Cannot connect))), retrying soon. 

Mais je ne sais pas pourquoi il essaie de se connecter à cassandra sur 127.0.0.1 depuis cassandra est en cours d'exécution sur 127.0.1.1. Qu'est-ce que j'ai fait de mal ici?

+0

Après avoir regardé votre cassandra.yaml vous devez changer le fournisseur de semences à 127.0.1.1 il est donc le même que les adresses et écouteront rpc. Aussi, vous devrez peut-être changer l'interface stomp dans address.yaml à 127.0.1.1 aussi bien. Vous devriez également regarder dans le dossier de l'agent pour les journaux. – apesa

+0

Essayé que maintenant, toujours le même problème. :/ – HackCode

+0

Etes-vous sûr que Cassandra fonctionne? Aussi, que disent les fichiers agent.log et opscenterd.log? Si vous essayez de démarrer l'agent, il aura enregistré l'échec. – apesa

Répondre

1

Il existe plusieurs façons d'installer l'agent DataStax à partir d'OpsCenter. Basé sur votre IP Addr de 127.0.1.1, vous devez exécuter une version Debian de Linux. Je sais que ça dit "optionnel" mais je n'ai jamais pu courir sans clé privée ssh. Dans ce cas, vous devez installer serveur OpenSSH en utilisant la commande suivante

[email protected]$ sudo apt-get install openssh-server 

Ensuite, suivez ces instructions pour la mise en place d'une clé SSH que vous utiliserez ensuite lorsque vous fournissez vos informations d'identification à la boîte de dialogue « agent de correction ». Le nom d'utilisateur/mot de passe dans Datastax pour le côté DSE est datastax/datastax sauf si vous l'avez modifié. C'est ce que vous devez ajouter pour le nom d'utilisateur/mot de passe, puis copiez/collez votre nouvelle clé SSH dans la boîte de clé privée. La clé ssh se trouvent dans

/etc/ssh/ssh_host_rsa_key.pub 

Une fois que vous avez toutes les informations d'identification ensemble aller de l'avant et d'exécuter l'outil Agents d'installation. Si cela ne fonctionne toujours pas, vérifiez le dossier datastax-agent dans lequel vous avez installé DSE et vérifiez qu'il existe un fichier jar pour l'agent.Il devrait être quelque chose comme

datastax-agent-5.2.4-standalone.jar 

Vous devriez également voir la structure du dossier de l'agent et, bin, ... les répertoires etc conf devraient tous être là. Si tout est en place et que votre fichier cassandra.yaml est correct, vous devriez pouvoir lancer l'agent.

Vous pouvez également le faire manuellement en déplaçant les répertoires et les fichiers Jar appropriés et en redémarrant le (s) agent (s).

EDIT:

Après avoir regardé votre dernier fichier agent.log Je dirais que cela. L'erreur de tuyau cassé en Java fait référence à une connexion qui n'est plus disponible ou indisponible. Où il échoue dans l'agent.log est où il essaie de communiquer avec l'opscenter. L'une de vos connexions n'est pas en place ou est mal configurée. Vous avez également un autre journal pour cassandra qui est habituellement dans/var/log/cassandra selon la façon dont vous avez installé cassandra. Combinez cela et assurez-vous qu'il n'y a pas d'erreurs au démarrage, les avertissements sont corrects, mais les erreurs indiquent généralement le problème.

A partir de là, vous avez les fichiers journaux suivants. Notez que les emplacements des fichiers peuvent être différents des vôtres selon la façon dont vous avez tout installé.

/var/log/cassandra 
/var/log/datastax-agent 
/var/log/OpsCenter 

et vous avez les commandes suivantes pour aider à trier ce qui est en cours d'exécution et sur quel port est-il lié. Jetez un oeil ci-dessous, que vous disent ces commandes?

[email protected]$ sudo netstat -p | grep 127.0.1.1 

Vous devriez voir au moins les ports suivants liés à votre 127.0.1.1 adr: 9042, 8888, 61620 et plusieurs autres.

Également regardez la sortie de ces deux commandes. Si vous n'obtenez rien, essayez de les exécuter en tant que sudo. La sortie dépendra de la façon dont vous avez commencé les pots

[email protected]$ ps -ef | grep datastax-agent 
[email protected]$ ps -ef | grep cassandra 

Vous devriez voir tous les fichiers jar chargés ainsi que les variables d'environnement qui ont été définies lors du démarrage cassandra et/ou DataStax-agent.

Vous pourriez éditer votre message et expliquer comment vous avez commencé Cassandra. c'est-à-dire en tant que service ou à partir de la ligne de commande?

De même, à partir d'OpsCenter, vous devriez pouvoir voir le test_cluster à 127.0.1.1: 8888. Si vous êtes invité à corriger les agents, quittez simplement ces boîtes de dialogue jusqu'à ce que vous soyez sur l'écran principal affichant le centre de données. Même s'il ne se connecte pas à l'agent, l'opscenter doit toujours montrer l'instance de cassandra. Voyez-vous votre test_Cluster?

Enfin, qu'est-ce que vous obtenez lorsque vous tapez cette

[email protected]$ nodetool status 

EDIT 2:

Sur la base de votre dernière modification, il semble que si tout mais l'agent est opérationnel. Donc dit nodetool, ce qui est bien. Aussi, puisque vous pouvez voir Keyspaces dans OpsCenter, vous êtes définitivement connecté à une instance de cassandra en cours d'exécution.

En regardant plus loin, il semble que votre agent datastax ne se connecte toujours pas. En regardant votre adresse.fichier yaml je peux voir quelques problèmes possibles. C'est un simple cluster Cassandra autonome avec une adresse IP unique de 127.0.1.1. Donc, cette adresse 127.0.1.1 va être utilisée dans toute la configuration où un addr IP ou un hôte est impliqué. Je voudrais apporter les modifications suivantes à votre fichier address.yaml.

stomp_interface: 127.0.1.1 
cassandra-conf: /home/kaushaya/Dropbox/Work/ITNow/olderVersions/cassandra2.11/apache-cassandra-2.1.12/conf/cassandra.yaml 
stomp_port: 61620 

Laissez JMX détails sur car ils ne sont pas nécessaires et seront envoyés par la opscenterd une fois connecté. L'interface agent_rpc_interface n'est également pas nécessaire dans cette installation.

Il existe également un script cassandra-env.sh qui se trouve dans le dossier cassandra/conf. Ce script est exécuté lorsque Cassandra démarre. cherchez la ligne suivante au bas du script et décommenter et ajoutez votre 127.0.1.1 IP hôte en place de <public name>

# jmx: metrics and administration interface 
# 
# add this if you're having trouble connecting: 
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=127.0.1.1" 

Enfin, il y a l'utilitaire cassandra documenté HERE Vous pouvez passer plusieurs paramètres cli au shell Cassandra lors de l'initialisation. Celui-ci est utile lorsque vous voulez démarrer/redémarrer un cluster Cassandra après avoir changé l'adresse IP ou le nom d'hôte. Vous devrez redémarrer Cassandra une fois que vous aurez effectué ces changements. En fait, vous devez tout redémarrer dans cet ordre. Cassandra, agent de datastax et ensuite opscenter.

[email protected]$ bin/cassandra -Dcassandra.load_ring_state=false 

Une fois que vous avez terminé les modifications et essayez de l'agent et il ne fonctionne toujours pas, vous allez avoir besoin de plus de détails de débogage. Netstat a renvoyé false à cause de ce que nous avons redirigé vers l'utilitaire grep. essayez ce qui suit car les ports sont probablement liés à votre nom d'hôte depuis que vous utilisez 127.0.1.1. Exécutez-le pour les ports suivants: 9042,: 7199 et: 61620. Vous cherchez votre nom d'hôte lié à tous ces ports pendant que Cassandra est en cours d'exécution.

[email protected]$ sudo netstat -p | grep :9042 

S'il vous plaît également modifier votre question et ajouter les versions de OpsCenter et DataStax-Agent votre course. C'est important.

+0

"vérifiez le dossier datastax-agent où vous avez installé DSE". Je ne travaille pas avec DSE. Je cours la version apache de cassandra. J'ai essayé tout ce que tu as mentionné et ça ne me permet toujours pas de me connecter. Dois-je placer le 'datastax-agent-5.2.4-standalone.jar' quelque part? En ce moment, il est dans /usr/share/opscenter/agent/datastax-agent-5.2.4-standalone.jar – HackCode

+0

J'ai également ajouté mon cassandra.yaml et address.yaml pour un meilleur traçage. – HackCode

+0

S'il vous plaît vérifier ma dernière édition pour les codes yaml. Merci. – HackCode

0

Vous pouvez essayer d'éditer le fichier address.yaml de l'agent datastax. Il devrait être situé dans/var/lib/datastax-agent/conf /. Dans ce fichier, vous devez ajouter la ligne suivante: stomp_interface: Assurez-vous également que stomp_port est défini dans le même fichier.

Référence: OpsCenter 5.0 User Guide

Sabiha

+0

S'il vous plaît vérifier ma dernière édition pour les codes yaml. Cela ne fonctionne toujours pas après avoir édité mon adresse.yaml. – HackCode