2017-03-08 1 views
0

Je suis la documentation https://docs.arangodb.com/3.0/Manual/Deployment/ pour la configuration du cluster et il semble que si nous n'utilisons pas Mesos, DC/OS le cluster est trop maladroit (nécessite une compilation binaire manuelle du code source). J'ai essayé de configurer Apache Mesos avec sa configuration minimale mais la configuration minimale est très chère !! Il en coûte environ 1300 $ par mois (beaucoup d'instances x2 ec2). Donc, c'est décroché.Comment fournir HA avec seulement 2 ou 3 machines dans Arangodb

Est-il possible de configurer HA avec seulement des changements de configuration dans la configuration arangodb? Tout ce que je veux est d'exécuter minimum 2 machine, répliquer (synchroniser ou asynchrone) les données et avoir le client connecté derrière un équilibreur de charge. C'est possible. Avez-vous une recommandation? J'ai trouvé https://www.arangodb.com/2016/12/starting-arangodb-cluster-easy-way/ mais c'est expérimental. Je ne veux pas utiliser de pièce expérimentale dans un environnement de production. Actuellement, nous hébergeons environ 40 millions de documents dans 3 collections arangodb. et ces 40 millions de documents sont analysés toutes les heures.

Répondre

1

Non avec les modifications de configuration uniquement. Si vous voulez atteindre HA, vous devrez configurer un cluster sur vos 2 boîtes. Mais permettez-moi de soulever un problème que vous devriez garder à l'esprit en premier.

La configuration de cluster, c'est-à-dire la mise en page de base de données, les collections, la réplication de partage, etc., doit s'appuyer sur une machine d'état répliquée; arangodb parle pour cela est "l'agence". Il est réalisé avec le protocole de consensus RAFT. RAFT et les machines d'état répliquées familières demandent conceptuellement un nombre impair d'instances ou de machines. Donc, vous pouvez parfaitement installer arangodb sur vos 2 boîtes avec 3 agents, où 2 doivent en quelque sorte coïncider pour vivre sur une seule boîte, mais c'est en quelque sorte supprimer ce beau filet de sécurité supplémentaire d'une machine arbitraire défaillante. Votre boîte de 2 machines continuera de servir les applications de données et de foxx tant que c'est la boîte avec l'agent unique, qui échoue. Si l'autre échoue, le système cessera de fonctionner jusqu'à ce que les deux autres agents soient de retour. Cela étant dit, voici comment vous le faites sur 2 machines:

  1. vous REFONTE collections avec sharding à l'esprit.
  2. Sauvegardez votre base de données.
  3. Configurez le nouveau cluster.
  4. Implémentez votre modèle à partir de 1.
  5. Restaurez vos données et applications dans votre cluster.

L'étape 3 est celle qui vous intéresse le plus ici. Vous aurez besoin d'un fichier de configuration pour 3 agents, 2 coordinateurs et 2 serveurs db. Si vous souhaitez passer à 3 cases, vous augmenterez évidemment le nombre de serveurs et de coordinateurs db en conséquence. Les fichiers de configuration indiqueraient aux répertoires de bases de données dédiés pour les 7 services; 4 sur une machine et 3 sur l'autre.

Vous devez démarrer les 4 services sur les services un et 3 sur l'autre ordinateur au démarrage. Pour plus de détails sur les fichiers de configuration, consultez le canal de la communauté pour clustering arangodb.