Suite à notre récente Présentation de la plate-forme de données Cloudera (CDP), nous expliquons comment déployer le cloud privé CDP sur votre infrastructure locale. Il est entièrement automatisé avec les livres de recettes Ansible édités par Cloudera et il est reproductible sur votre hébergeur local avec Vagrant.
CDP est un cloud de données d’entreprise. Il fournit une plate-forme Big Data puissante, une sécurité intégrée avec conformité et gouvernance automatiques de la protection des données, ainsi que des analyses basées sur des règles et basées sur des métadonnées pour les utilisateurs finaux.
Déploiement d’un Cloud privé CDP cluster n’est pas une tâche simple. Par conséquent, nous présentons un moyen de mettre en place un cluster local en quelques étapes simples. Nous allons déployer un cluster de base composé de deux nœuds, un maître et un travailleur. Dans notre cluster, nous exécuterons les services suivants : HDFS, YARN et Zookeeper.
Conditions préalables
Vous pouvez utiliser l’infrastructure locale de votre choix pour déployer CDP Private Cloud. Dans ce tutoriel, nous utiliserons Vagabond et VirtualBox pour démarrer rapidement deux machines virtuelles qui serviront de nœuds du cluster.
VirtualBox
VirtualBox est une application de virtualisation multiplateforme. Téléchargez la dernière version de VirtualBox.
Vagabond
Vagrant est un outil de création et de gestion d’environnements de machines virtuelles. Téléchargez la dernière version de Vagabond.
Une fois Vagrant installé, vous devez installer un plug-in qui installe automatiquement les suppléments invité VirtualBox de l’hôte sur le système invité. Ouvrez un terminal et tapez la commande suivante :
vagrant plugin install vagrant-vbguest
Docker
Cloudera Deploy est exécuté à partir d’un conteneur Docker. Lorsqu’il est exécuté, il démarre le cluster. Suivez les instructions officielles de Docker pour installer Docker sur votre machine :
Commencer
Amorcez vos nœuds
UN Vagrantfile
est utilisé pour configurer et provisionner des machines virtuelles projet par projet. Assurez-vous d’avoir une clé ssh sur votre machine hôte avant de continuer. Si aucun n’est fourni, le Quickstart (section suivante) générera une paire de clés SSH. Créez un nouveau fichier appelé Vagrantfile
dans votre répertoire de travail et collez le code suivant :
box = "centos/7"
Vagrant.configure("2") do |config|
config.vm.synced_folder ".", "/vagrant", disabled: true
config.ssh.insert_key = false
config.vm.box_check_update = false
ssh_pub_key = File.readlines("#Dir.home/.ssh/id_rsa.pub").first.strip
config.vm.provision "Add ssh_pub_key", type: "shell" do |s|
s.inline = <<-SHELL
echo #ssh_pub_key >> /home/vagrant/.ssh/authorized_keys
sudo mkdir -p /root/.ssh/
sudo echo #ssh_pub_key >> /root/.ssh/authorized_keys
sudo touch /home/vagrant/.ssh/config
sudo chmod 600 /home/vagrant/.ssh/config
sudo chown vagrant /home/vagrant/.ssh/config
SHELL
end
config.vm.define :master01 do |node|
node.vm.box = box
node.vm.network :private_network, ip: "10.10.10.11"
node.vm.network :forwarded_port, guest: 22, host: 24011, auto_correct: true
node.vm.network :forwarded_port, guest: 8080, host: 8080, auto_correct: true
node.vm.provider "virtualbox" do |d|
d.memory = 8192
end
node.vm.hostname = "master01.nikita.local"
end
config.vm.define :worker01 do |node|
node.vm.box = box
node.vm.network :private_network, ip: "10.10.10.16"
node.vm.network :forwarded_port, guest: 22, host: 24015, auto_correct: true
node.vm.provider "virtualbox" do |d|
d.customize ["modifyvm", :id, "--memory", 2048]
d.customize ["modifyvm", :id, "--cpus", 2]
d.customize ["modifyvm", :id, "--ioapic", "on"]
end
node.vm.hostname = "worker01.nikita.local"
end
end
La master01
nœud a le master01.nikita.local
FQDN et le 10.10.10.11
IP. La worker01
nœud a le master01.nikita.local
FQDN et le 10.10.10.16
IP.
Exécutez maintenant la commande suivante :
Il crée deux machines virtuelles connectées qui constituent un petit cluster.
Modifier votre section locale /etc/hosts
fichier en ajoutant les lignes suivantes :
10.10.10.11 master01.nikita.local
10.10.10.16 worker01.nikita.local
Connectez-vous maintenant à master01
en utilisant ssh :
Ajoutez ou modifiez les lignes suivantes au /etc/hosts
dossier:
10.10.10.11 master01.nikita.local
10.10.10.16 worker01.nikita.local
Répétez l’opération en vous connectant à worker01
.
Télécharger le script de démarrage rapide
La quickstart.sh
Le script configurera le conteneur Docker avec les dépendances logicielles dont vous avez besoin pour le déploiement. Téléchargez-le sur votre ordinateur hôte à l’aide de la commande suivante :
curl https://raw.githubusercontent.com/cloudera-labs/cloudera-deploy/main/quickstart.sh -o quickstart.sh
Exécutez le script de démarrage rapide
Le script préparera et exécutera Ansible Runner dans un conteneur Docker.
chmod +x quickstart.sh
./quickstart.sh
Vous devriez voir le cldr build-version #>
invite orange. Vous êtes maintenant à l’intérieur du conteneur.
Créer un fichier d’inventaire
Naviguez vers le cloudera-deploy
dossier:
Créez un nouveau fichier appelé inventory_static.ini
qui contient vos hosts :
[cloudera_manager]
master01.nikita.local
[cluster_master_nodes]
master01.nikita.local host_template=Master1
[cluster_worker_nodes]
worker01.nikita.local
[cluster_worker_nodes:vars]
host_template=Workers
[cluster:children]
cluster_master_nodes
cluster_worker_nodes
[db_server]
master01.nikita.local
[deployment:children]
cluster
db_server
[deployment:vars]
ansible_user=vagrant
Configurer le cluster
Régler use_download_mirror
à no
dans le fichier de définition situé à examples/sandbox/definition.yml
pour éviter de déclencher un comportement qui repose sur les services de cloud public.
Exécuter le playbook principal
ansible-playbook /opt/cloudera-deploy/main.yml -e "definition_path=examples/sandbox" -e "profile=/opt/cloudera-deploy/profile.yml" -i /opt/cloudera-deploy/inventory_static.ini -t default_cluster
La commande crée un cluster CDP Private Base à l’aide de votre infrastructure locale. Plus précisément, il déploie un cluster avec HDFS, YARN et Zookeeper.
Conclusion
La plate-forme de données Cloudera peut être déployée de différentes manières, ce qui en fait une option polyvalente lorsque l’on envisage une plate-forme de données. Dans cet article, nous avons décrit comment déployer un cluster CDP Private Cloud avec les scripts de déploiement officiels de Cloudera. Cela permet à l’utilisateur de tester la plateforme localement et de prendre des décisions commerciales pertinentes. À partir de là, vous pouvez ajouter des services à votre cluster et configurer les composants intégrés de CDP Private Cloud.
Dépanner
Si vous rencontrez des problèmes avec SSH entre l’hôte et les deux machines virtuelles, vous pouvez forcer l’installation de Virtualbox Guest Additions pour master01
et worker01
en ajoutant la ligne suivante à leurs configurations individuelles dans Vagrantfile
:
node.vbguest.installer_options = allow_kernel_upgrade: true
SSH_AUTH_SOCK
Le script quickstart.sh peut se fermer brusquement s’il détecte que le SSH_AUTH_SOCK
chemin n’est pas correctement défini ou vide. Si vous rencontrez cette erreur, exécutez d’abord la commande suivante :
Cela renvoie le chemin vers le socket unix utilisé par ssh-agent, qui doit être ajouté en tant que variable SSH_AUTH_SOCK
au script de démarrage rapide pour que ssh fonctionne correctement ; votre script de démarrage rapide devrait maintenant ressembler à ceci :
Dans cet exemple, le chemin du socket est “/run/user/1000/keyring/ssh”.
More Stories
Test des écouteurs Jabra Elite 5 ANC : superbe design, bon son
La filiale londonienne du CWU dit aux ingénieurs de BT de rejeter l’offre de rémunération
Revue du générateur solaire Jackery Explorer 1500 : la protection contre les pannes de courant à son meilleur