diff --git a/README.md b/README.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..adcae4c44d0a263d692f217d5b86dc0abad79709 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,74 @@ +[licence CC-BY-SA](https://licensebuttons.net/l/by-nc/4.0/88x31.png) + +# Ansible deployment for AIDMOIt + +This project aims to deploy a datalake and its ecosystem using **[Ansible](https://docs.ansible.com/)** and **[Vagrant](https://www.vagrantup.com/)**. + +Acutally, this project does : +- **Prod Environment** : Deploy a mononode HDFS on a server using ansible +- **Sandbox Encironment**: Deploy a mononode HDFS on a VM from Vagrant & Ansible + +## Prerequisites +* Ansible + + Install ansible on your own computer (for Ubuntu or Debian) : + ```shell + apt-get install ansible + ``` + + If you connect to your remote machine using password instead of ssh-key (as recommanded), you have to install this apt : + ```shell + apt-get install sshpass + ``` +* Vagrant with virtualox + + Install virtualbox on your own computer (for Ubuntu or Debian): + ``` + apt-get install virtualbox + ``` + + Install vagrant on your own computer (for Ubuntu or Debian): + ```shell + apt-get install vagrant + ``` + + +## Ansible +### Description of Ansible +[Wikipedia definition :](https://en.wikipedia.org/wiki/Ansible_(software)) +> Ansible is an open-source software provisioning, configuration management, and application-deployment tool.[2] It runs on many Unix-like systems, and can configure both Unix-like systems as well as Microsoft Windows. It includes its own declarative language to describe system configuration. + +Ansible is a good tool to deploy and maintain IT systems. Based on [Yaml ](https://en.wikipedia.org/wiki/YAML) configuration files, ansible makes it easy to describe your configuration and share it with your collaborators. +Then you can deploy it to your infrastructure, you only need to have a ssh access to your servers. + +### Getting started +Ansible playbook is a list of system instructions which has to be send to a machine. That's why you only need 2 things : +- Get ansible installed on your own computer +- Have a remote machine (physical, vmware, virtualbox, docker, lxc, ...) with a ssh server running + +### Running playbook +First configure your IP adress in the [inventory file](inventory/static) + +Then run the script [ansible-launch.sh](ansible-launch.sh) : +```shell +/bin/bash ansible-launch.sh +``` + +## Vagrant & Ansible +### Description of Vagrant +[Wikipedia definition :](https://en.wikipedia.org/wiki/Vagrant_(software)) +> Vagrant is an open-source software product for building and maintaining portable virtual software development environments,[5] e.g. for VirtualBox, KVM, Hyper-V, Docker containers, VMware, and AWS. It tries to simplify the software configuration management of virtualizations in order to increase development productivity. Vagrant is written in the Ruby language, but its ecosystem supports development in a few languages. + +Vagrant manages your virtual machine (VM) on command line. The benefits are : +- Quickly create VM with a know & controlled environment +- Restore your VM to a known state +- Destribute yours VM easly + +Vagrant and ansible can be combined to create/deploy/maintain your VM as we do in this project + +### Getting started +You only need virtual box and vagrant installed on your computer. This project is going to create VM that you need for your datalake + +### Running Vagrant +1. In cli : Go to the directory which contains the [VagrantFile ](vagrant/mononode/Vagrantfile) +2. In cli : start your VM: +```shell +vagrant up +``` + diff --git a/hadoop-ansible-deployment.sublime-project b/hadoop-ansible-deployment.sublime-project deleted file mode 100644 index dbbc0dbbc82ba0313bc7fe64c33403cab5527e05..0000000000000000000000000000000000000000 --- a/hadoop-ansible-deployment.sublime-project +++ /dev/null @@ -1,14 +0,0 @@ -{ - "folders": - [ - { - "path": "playbook", - }, - { - "path": "inventory", - }, - { - "path": "vagrant", - } - ] -} diff --git a/hadoop-ansible-deployment.sublime-workspace b/hadoop-ansible-deployment.sublime-workspace deleted file mode 100644 index a83191f8fff793c41ac619692cebd7e66c080e42..0000000000000000000000000000000000000000 --- a/hadoop-ansible-deployment.sublime-workspace +++ /dev/null @@ -1,344 +0,0 @@ -{ - "auto_complete": - { - "selected_items": - [ - [ - "pos", - "postgres" - ], - [ - "lin", - "lineinfile" - ], - [ - "star", - "started" - ], - [ - "ansible", - "ansible_service_mgr" - ], - [ - "become", - "become_user" - ], - [ - "wa", - "wait_for" - ], - [ - "geonet", - "geonetwork" - ], - [ - "geone", - "geonetwork" - ], - [ - "geon", - "geonetwork" - ] - ] - }, - "buffers": - [ - ], - "build_system": "", - "build_system_choices": - [ - ], - "build_varint": "", - "command_palette": - { - "height": 0.0, - "last_filter": "", - "selected_items": - [ - [ - "Package Control: inst", - "Package Control: Install Package" - ], - [ - "Package Control: list", - "Package Control: Install Package" - ], - [ - "install package", - "Package Control: Install Package" - ] - ], - "width": 0.0 - }, - "console": - { - "height": 0.0, - "history": - [ - ] - }, - "distraction_free": - { - "menu_visible": true, - "show_minimap": false, - "show_open_files": false, - "show_tabs": false, - "side_bar_visible": false, - "status_bar_visible": false - }, - "expanded_folders": - [ - "/home/rdecoupe/Documents/TETIS/projet/aidmoit/ansible-deployment/playbook" - ], - "file_history": - [ - "/tmp/mozilla_rdecoupe0/2904d91f-4957-4921-a8c8-1ab6c19c6ec2.xml", - "/home/rdecoupe/Téléchargements/BioTex(1)/BioTex/dataSetReference/Termsfrench.txt", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/administratif-remy/mobilité/irstea-tetis-fev2019/2019-07-09-visio-Mathieu-Roche/notes.txt", - "/home/rdecoupe/Documents/TETIS/testbench/vagrant/debian10/ansible-provisionning/geonetwork_by_war.yml", - "/home/rdecoupe/Documents/TETIS/projet/idg-tetis/vagrant/Vagrantfile", - "/home/rdecoupe/Documents/TETIS/testbench/vagrant/debian10/ansible-provisionning/geonetwork_by_git.yml", - "/home/rdecoupe/Documents/TETIS/testbench/vagrant/debian10/Vagrantfile", - "/home/rdecoupe/Documents/TETIS/testbench/vagrant/debian10/noteremy.txt", - "/home/rdecoupe/Documents/TETIS/testbench/vagrant/idg-tetis-geonetwork/ansible-provisionning/geonetwork_by_git.yml", - "/home/rdecoupe/Documents/TETIS/testbench/ansible/cmd-with-vault.sh", - "/home/rdecoupe/Documents/TETIS/testbench/ansible/playbook/geonetwork.yml", - "/home/rdecoupe/Documents/TETIS/projet/idg-tetis/ansible-deployment/README.md", - "/home/rdecoupe/Documents/TETIS/testbench/vagrant/debian10/ansible-provisionning/geonetwork.yml", - "/home/rdecoupe/PycharmProjects/docker-gui/playbook/playbook-airflow/deploy-airflow-server.yml", - "/home/rdecoupe/PycharmProjects/tetis-misc/getAllTagfromOpenData3M/output/tagsOpenData3m.json", - "/home/rdecoupe/Documents/TETIS/testbench/cloudera-quickstart/note.txt", - "/home/rdecoupe/.cache/.fr-a4rxdc/en_core_web_sm-2.1.0/en_core_web_sm/en_core_web_sm-2.1.0/vocab/strings.json", - "/home/rdecoupe/PycharmProjects/tetis-misc/LDA/main.py", - "/home/rdecoupe/Documents/TETIS/testbench/hadoop/hadoop-3.2.0/README.txt", - "/tmp/mozilla_rdecoupe0/lang95.bib", - "/home/rdecoupe/PycharmProjects/tetis-misc/getAllTagfromOpenData3M/listDatasetsError.json", - "/home/rdecoupe/PycharmProjects/docker-gui/playbook/playbook-airflow/push-gitlab.yml", - "/home/rdecoupe/PycharmProjects/docker-gui/playbook/playbook-airflow/create-user-airflow.yml", - "/home/rdecoupe/Zotero/storage/QLD9SMUJ/data lake.bib", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/administratif-remy/mobilité/irstea-tetis-fev2019/biblio/DetectionOfSaptioTemporalEvolutionsOnMultiannualSatelliteImageTimeSeres.txt", - "/home/rdecoupe/Téléchargements/latex.tex", - "/home/rdecoupe/Documents/TETIS/documentation/Zotero/set_launcher_icon", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/presentation-remy/recherche-stagiaires-2017/discours-2-stages.txt", - "/home/rdecoupe/Documents/UMS3365_RD/perso/papiers/voiture/308/vente/mdp.txt", - "/tmp/mozilla_rdecoupe0/OPAR_V6.CR300", - "/home/rdecoupe/PycharmProjects/docker-gui/playbook/playbook-remy/helloworld.yml", - "/home/rdecoupe/Documents/TETIS/testbench/vagrant/debian10/ansible-provisionning/geonetwork.retry", - "/home/rdecoupe/Documents/TETIS/testbench/vagrant/debian10/ansible-provionning/geonetwork.yml", - "/tmp/mozilla_rdecoupe0/Pièce jointe.ics", - "/home/rdecoupe/Documents/UMS3365_RD/projets/geosur/technique/ckan/ckan-install-procedure.txt", - "/home/rdecoupe/Documents/UMS3365_RD/projets/geosur/doc/CR/Pré-kickoff-stage_01-04-2015.txt", - "/home/rdecoupe/Téléchargements/cs-maido-config(1).cfg", - "/home/rdecoupe/.cache/.fr-GXTzDq/jun-maido-3_juniper.conf (copie)", - "/home/rdecoupe/Téléchargements/cs-maido-config.cfg", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/administratif-remy/concours/INRA-2019/mdp.txt", - "/home/rdecoupe/Téléchargements/dejadub/duplicity-full.20190523T071220Z.manifest", - "/home/rdecoupe/Téléchargements/EMD-EWT.txt", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/administratif-remy/concours/OSU-R 2015/Oral/discours.txt", - "/home/rdecoupe/Téléchargements/log-nebu-ftp.log", - "/home/rdecoupe/Téléchargements/DCUR-coupure-elec", - "/home/rdecoupe/.cache/.fr-K0rD4p/config-windows/client-osureunion.ovpn", - "/home/rdecoupe/.cache/.fr-jV2g2D/config-windows/client-osureunion.ovpn", - "/home/rdecoupe/Téléchargements/nagios/sysrezo/README.md", - "/home/rdecoupe/Téléchargements/last-push-gitlab", - "/home/rdecoupe/Téléchargements/erorun-ozcar/test-json-validator/ERUN_en.json", - "/home/rdecoupe/Téléchargements/nagios/sysrezo/template/services.j2", - "/home/rdecoupe/Téléchargements/diff-filosur-admin/admin-only", - "/home/rdecoupe/Téléchargements/diff-filosur-admin/adennemo-only", - "/home/rdecoupe/Téléchargements/diff-administration-mad-mm", - "/home/rdecoupe/Téléchargements/airflow-certificat-expired-mai2019", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/administratif-remy/entretien-annuel/2019/Remy-Decoupes/élaboration/idees.txt", - "/home/rdecoupe/Téléchargements/nagios/sysrezo/playbook/Ajout_service_nagios.yml", - "/home/rdecoupe/.cache/.fr-cy05a0/config-mac/client-osureunion.conf", - "/tmp/mozilla_rdecoupe0/EMD-EWT.txt", - "/home/rdecoupe/Téléchargements/meteostation-davis-stdenis.cfg", - "/home/rdecoupe/Téléchargements/airflow-kok1-prod.cfg", - "/tmp/mozilla_rdecoupe0/miscbox_ftpsender.log", - "/home/rdecoupe/Téléchargements/copy_owncloudsync (1).log", - "/home/rdecoupe/Téléchargements/diff-filosur-admin/fichier-different", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/presentation-remy/sist2018/oral.txt", - "/home/rdecoupe/Téléchargements/label-ir", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/administratif-remy/entretien-annuel/2019/idees.txt", - "/home/rdecoupe/Téléchargements/copy_owncloudsync.log", - "/tmp/mozilla_rdecoupe0/ecmwf_rain_may.html.py", - "/home/rdecoupe/Téléchargements/nagios/sysrezo/playbook/Creation_VPN.yml", - "/home/rdecoupe/Téléchargements/ERUN_en.json", - "/home/rdecoupe/Téléchargements/nagios/sysrezo/playbook/Retrait_Nagios_Keep_History.yml", - "/home/rdecoupe/Téléchargements/nagios/sysrezo/playbook/SousVpn_creation.yml", - "/home/rdecoupe/Téléchargements/test.geojson", - "/home/rdecoupe/Téléchargements/erorun-ozcar/couchesigprelevementchimieerorun/PT_PRLVMT_ERORUN_20180404.shp", - "/home/rdecoupe/Téléchargements/erorun-ozcar/test-json-validator/utilisation_json_validator.txt", - "/home/rdecoupe/PycharmProjects/airflow-dev-local/ozcar-livraison/ozcar-json/templates/ERUN_en.json.j2", - "/home/rdecoupe/PycharmProjects/airflow-dev-local/ozcar-livraison/ozcar-json/json-files/ERUN_en.json", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/infrastructure/maido/Présentation_orale/discours-maido_3.txt", - "/home/rdecoupe/Téléchargements/nagios/sysrezo/playbook/Retrait_Nagios.yml", - "/home/rdecoupe/Téléchargements/nagios/sysrezo/playbook/Ajout_Nagios.yml", - "/tmp/mozilla_rdecoupe0/project_update_713.txt", - "/tmp/mozilla_rdecoupe0/copy_owncloudsync.log", - "/home/rdecoupe/Téléchargements/perte-données-tramontane/log-eobs/lidaro3t-eobs-L2.log", - "/home/rdecoupe/Téléchargements/perte-données-tramontane/backupbenten03avril2019/diff.txt", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/infrastructure/maido/Présentation_orale/pres-ums3365_2.txt", - "/home/rdecoupe/PycharmProjects/airflow-dev-local/ozcar-livraison/ozcar-json/json-files/ERUN_en", - "/run/user/1000/gvfs/dav:host=geosur.univ-reunion.fr,ssl=true,user=rdecoupe,prefix=%2Ffilosur%2Fremote.php%2Fwebdav/osur-documentation/ctai/pôles/production-données/réseaux-de-données/Ozcar/filiere-test-pluvio-ozcar/charly-coussot-document/CATC_en.json", - "/home/rdecoupe/PycharmProjects/airflow-dev-local/ozcar-livraison/metadata/erorun_coordonnees_sites.csv", - "/home/rdecoupe/PycharmProjects/airflow-dev-local/ozcar-livraison/ERUN_en.json", - "/home/rdecoupe/PycharmProjects/airflow-dev-local/data/river-sampler/l2b_alkalinity/PlPF1300-utf8.csv", - "/home/rdecoupe/Téléchargements/erorun-ozcar/test-json-validator/log/validation.log/amma-catch_logs.log", - "/run/user/1000/gvfs/dav:host=geosur.univ-reunion.fr,ssl=true,user=rdecoupe,prefix=%2Ffilosur%2Fremote.php%2Fwebdav/osur-documentation/ctai/pôles/production-données/réseaux-de-données/Ozcar/filiere-test-alcalinité-ozcar/préparation-livraison-manuelle/ERUN_en.json", - "/home/rdecoupe/Téléchargements/erorun-ozcar/couchesigprelevementchimieerorun/PT_PRLVMT_ERORUN_20180404.cpg", - "/home/rdecoupe/Téléchargements/erorun-ozcar/couchesigprelevementchimieerorun/PT_PRLVMT_ERORUN_20180404.shx", - "/home/rdecoupe/PycharmProjects/airflow-dev-local/data/river-sampler/l2b_alkalinity/PlPF1300.csv", - "/tmp/mozilla_rdecoupe0/sort_galerie_data.f95", - "/home/rdecoupe/rgeonetwork/geonetwork-docker-persistant/WEB-INF/config-summary.xml", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/cr-reunion/RenovRisk-DmekiesJuillet2018.txt", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/hceres/HCERES-2018/hcéres-oraux/elaboration/plan-pres.txt", - "/home/rdecoupe/Téléchargements/reozcarerorunpluviomtre/CATC_en.json", - "/home/rdecoupe/Téléchargements/facebook-remydecoupes/search_history/your_search_history.json", - "/home/rdecoupe/Téléchargements/facebook-remydecoupes/friends/friends.json", - "/home/rdecoupe/Téléchargements/facebook-remydecoupes/friends/received_friend_requests.json", - "/home/rdecoupe/Téléchargements/facebook-remydecoupes/friends/removed_friends.json", - "/home/rdecoupe/Téléchargements/facebook-remydecoupes/apps_and_websites/apps_and_websites.json", - "/home/rdecoupe/Téléchargements/facebook-remydecoupes/apps_and_websites/posts_from_apps_and_websites.json", - "/home/rdecoupe/rgeonetwork/geonetwork-docker-persistant/catalog/views/default/templates/home.html", - "/home/rdecoupe/Documents/UMS3365_RD/tools/ApacheDirectoryStudio/ApacheDirectoryStudio.ini", - "/home/rdecoupe/.cache/.fr-aHbsYE/election_osu-r_rang_b_2018-04/1", - "/run/user/1000/gvfs/dav:host=geosur.univ-reunion.fr,ssl=true,user=rdecoupe,prefix=%2Ffilosur%2Fremote.php%2Fwebdav/osur-documentation/ctai/pôles/production-données/réseaux-de-données/Ozcar/filiere-test-pluvio-ozcar/charly-coussot-document/CRYO_en.json", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/presentation-remy/hcéres-oraux/elaboration/plan-pres.txt", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/presentation-remy/hcéres-oraux/elaboration/discours.txt", - "/home/rdecoupe/Téléchargements/config-windows/readme.txt", - "/home/rdecoupe/rgeonetwork/geonetwork-docker-persistant/WEB-INF/config.properties", - "/home/rdecoupe/PycharmProjects/indicateurs-remy/indicateurs-remy.py", - "/home/rdecoupe/Téléchargements/jun-maido-2.conf", - "/home/rdecoupe/Téléchargements/jinstall-ex-2200-12.3R12.4-domestic-signed/+COMMENT", - "/home/rdecoupe/Téléchargements/jinstall-ex-2200-12.3R12.4-domestic-signed/+DESC", - "/home/rdecoupe/Documents/UMS3365_RD/testbench-remy/administration-system-reseau/postfix/relay-host-check-validité-adresseMail/main.cf", - "/home/rdecoupe/Documents/UMS3365_RD/testbench-remy/administration-system-reseau/postfix/relay-host-check-validité-adresseMail/generic", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/hceres/HCERES-2018/oraux/plan-pres.txt", - "/home/rdecoupe/Documents/UMS3365_RD/perso/banque-fortuneo/changement-coordonnées-bancaire/suivi.csv", - "/home/rdecoupe/Documents/UMS3365_RD/testbench-remy/administration-system-reseau/postfix/generic", - "/home/rdecoupe/Téléchargements/openvpn/create-kit-vpn.sh", - "/home/rdecoupe/Téléchargements/radius/users", - "/home/rdecoupe/Documents/UMS3365_RD/documentation/hceres/HCERES-2018/oraux/discours.txt", - "/run/user/1000/gvfs/dav:host=geosur.univ-reunion.fr,ssl=true,user=rdecoupe,prefix=%2Ffilosur%2Fremote.php%2Fwebdav/osur-documentation/ctai/service/gestion-parc/licences-Microsoft/LicencesKey-Windows.xml" - ], - "find": - { - "height": 28.0 - }, - "find_in_files": - { - "height": 0.0, - "where_history": - [ - ] - }, - "find_state": - { - "case_sensitive": false, - "find_history": - [ - ], - "highlight": true, - "in_selection": false, - "preserve_case": false, - "regex": true, - "replace_history": - [ - ], - "reverse": false, - "show_context": true, - "use_buffer2": true, - "whole_word": false, - "wrap": false - }, - "groups": - [ - { - "sheets": - [ - ] - } - ], - "incremental_find": - { - "height": 28.0 - }, - "input": - { - "height": 0.0 - }, - "layout": - { - "cells": - [ - [ - 0, - 0, - 1, - 1 - ] - ], - "cols": - [ - 0.0, - 1.0 - ], - "rows": - [ - 0.0, - 1.0 - ] - }, - "menu_visible": true, - "output.find_results": - { - "height": 0.0 - }, - "pinned_build_system": "", - "project": "hadoop-ansible-deployment.sublime-project", - "replace": - { - "height": 52.0 - }, - "save_all_on_build": true, - "select_file": - { - "height": 0.0, - "last_filter": "", - "selected_items": - [ - ], - "width": 0.0 - }, - "select_project": - { - "height": 0.0, - "last_filter": "", - "selected_items": - [ - ], - "width": 0.0 - }, - "select_symbol": - { - "height": 0.0, - "last_filter": "", - "selected_items": - [ - ], - "width": 0.0 - }, - "selected_group": 0, - "settings": - { - }, - "show_minimap": true, - "show_open_files": true, - "show_tabs": true, - "side_bar_visible": true, - "side_bar_width": 239.0, - "status_bar_visible": true, - "template_settings": - { - } -} diff --git a/inventory/static b/inventory/static index b2592e4cbd0767cba98da4a17e03bc00da1cddc0..d78e73b79ba8b862bc67bc60462e2051686ff59e 100644 --- a/inventory/static +++ b/inventory/static @@ -5,5 +5,4 @@ [edge-nodes] [mono-node] -#mononode ansible_host=172.16.50.54 ansible_user=vagrant ansible_ssh_pass=vagrant mononode-hdfs ansible_host=172.16.50.54 \ No newline at end of file