Construire un cluster Hadoop (Cloudera Manager sur Ubuntu 18.04)

TL;DR

environnement

Un cluster est construit avec un total de huit serveurs, un serveur qui sert également de nœud de gestion et de nœud maître, et sept autres serveurs. Le système d'exploitation et la version sont les suivants.

Cloudera Manager et les nœuds de gestion auxquels de nombreux rôles sont attribués consomment beaucoup de mémoire, il est donc recommandé d'en ajouter autant que possible. Ou il doit être divisé par un nœud dédié.

Dans cet article, le nœud maître est représenté par «amdahl01.example.jp», et les autres nœuds esclaves sont représentés par «amdahl [02-08] .example.jp».

Installation

Le travail est essentiellement basé sur le Guide d'installation de Cloudera.

L'utilisateur crée un compte appelé «cloudera» au moment de l'installation. Tout compte avec des privilèges sudo fera l'affaire. Assurez-vous que l'autorité sudo peut être exécutée sans mot de passe.

sudo update-alternatives --config editor #Changer d'éditeur par défaut
sudo visudo #Autoriser les utilisateurs de cloudera à exécuter sudo sans mot de passe

/etc/sudoers


cloudera ALL=(ALL) NOPASSWD: ALL

Installez le serveur Ubuntu 18.04 sur tous les nœuds. Veuillez ajuster les paramètres réseau, etc. en fonction de l'environnement. Cet article utilise «netplan». Le serveur miroir est défini sur http: // jp.archive.ubuntu.com / ubuntu /. Après l'installation, mettez à jour le package avec la dernière version.

sudo apt update -y && sudo apt upgrade -y

réseau

Définissez le nom d'hôte et le nom de domaine complet de manière appropriée pour chaque nœud. Le nom d'hôte est spécifié au moment de l'installation ou défini par une commande.

sudo hostnamectl set-hostname amdahl01.example.jp

Vous permet de résoudre l'adresse IP et le FQDN de chaque nœud. Il n'est pas nécessaire de le publier en externe, alors éditez / etc / hosts et associez-le. Vous souhaiterez peut-être supprimer l'association entre le nom d'hôte et localhost.

/etc/hosts


127.0.0.1 localhost

192.168.141.141 amdahl01.example.jp amdahl01
192.168.141.142 amdahl02.example.jp amdahl02
192.168.141.143 amdahl03.example.jp amdahl03
192.168.141.144 amdahl04.example.jp amdahl04
192.168.141.145 amdahl05.example.jp amdahl05
192.168.141.146 amdahl06.example.jp amdahl06
192.168.141.147 amdahl07.example.jp amdahl07
192.168.141.148 amdahl08.example.jp amdahl08

Préparation à l'installation

Désactivez le pare-feu. Cette fois, il s'agit de systemd, vous pouvez donc l'arrêter avec la commande suivante.

sudo systemctl stop ufw
sudo systemctl disable ufw

Si SELinux est activé, veuillez le désactiver. Cette fois, il n'est pas installé, je vais donc l'omettre.

La gestion du temps devrait déjà être effectuée sous systemd, alors passez à ntp.

sudo systemctl stop systemd-timesyncd
sudo systemctl disable systemd-timesyncd

Installez ntp. Editez / etc / ntp.conf pour configurer le serveur ntp. J'ai défini ntp.nict.jp en toute sécurité.

sudo apt install -y ntp ntpdate
sudo systemctl start ntp
sudo systemctl enable ntp

vi /etc/ntp.conf
ntpdate -u ntp.nict.jp
hwclock --systohc

Installez le logiciel requis.

sudo apt install -y vim tmux git curl wget build-essential
sudo apt install -y make xz-utils file liblzma-dev patch zlib1g-dev g++ gcc 

Installation de MariaDB / MySQL / PostgreSQL (facultative)

Installez le logiciel de base de données. Puisque le serveur PostgreSQL intégré est construit lorsque Cloudera Manager est installé, configurez-le en fonction de l'environnement d'utilisation. Pour plus de détails, reportez-vous au Guide officiel.

Voici un exemple de configuration de MySQL. La base de données et les utilisateurs indiqués dans le tableau sont créés.

Service Database User
Cloudera Manager Server scm scm
Acrivity Monitor amon amon
Hue hue hue
Hive hive hive
Oozie oozie oozie
sudo apt install -y mysql-server libmysql-java
sudo /usr/bin/mysql_secure_installation
mysql -u root -p
create database <database> default character set utf8 default collate utf8_general_ci;
GRANT ALL ON <database>.* TO '<user>'@'%' IDENTIFIED BY '<password>';

La base de données utilisée pour Cloudera Manager est définie avec le script suivant. D'autres bases de données d'écosystème sont définies à l'aide de l'interface graphique Web lors de la création d'un cluster.

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm scm

Si vous n'utilisez pas la base de données intégrée, les services suivants ne sont pas requis. S'il est en cours d'exécution, vous pouvez l'arrêter.

sudo systemctl stop cloudera-scm-server-db.service
sudo systemctl disable cloudera-scm-server-db.service

Installation de Cloudera Manager

Installez Cloudera Manager (nœud administratif uniquement). Téléchargez le programme d'installation et donnez-lui l'autorisation d'exécution. Lorsque vous l'exécutez, le programme d'installation de TUI démarre, mais il n'y a rien à craindre, alors procédez comme il est. Si l'installation se termine normalement, vous pouvez y accéder depuis votre navigateur avec amdahl01.example.jp: 7180.

wget https://archive.cloudera.com/cm6/6.3.0/cloudera-manager-installer.bin
chmod u+x cloudera-manager-installer.bin
sudo ./cloudera-manager-installer.bin

Installation de cluster

Connectez-vous à la console Web de Cloudera Manager. Le nom d'utilisateur / mot de passe est «admin / admin» par défaut. Suivez les instructions à l'écran pour procéder à la configuration. Si vous ne modifiez pas les paramètres, vous risquez d'être perdu.

L'hôte géré (la cible d'installation de l'écosystème) est spécifié par le nom de domaine complet. Cette fois, j'ai cherché et sélectionné amdahl [01-08] .example.jp pour l'installer sur tous les nœuds. Afin d'installer le logiciel sur chaque nœud, il est nécessaire de pouvoir SSH du nœud de gestion vers d'autres nœuds et de pouvoir exécuter la commande sudo sans mot de passe. C'est une bonne idée d'utiliser d'abord le compte cloudera que vous avez créé. Les informations d'identification SSH définissent le mot de passe et la clé publique.

De plus, veuillez préciser l'écosystème, la base de données, etc. en fonction de l'environnement souhaité. Des vitesses de réseau plus rapides sont meilleures, car le téléchargement et l'installation de l'écosystème prennent un temps considérable.

Lorsque la configuration est terminée, l'écran passe à l'écran du tableau de bord. De nombreux avertissements sont probablement affichés, veuillez donc vérifier les paramètres un par un.

2020-09-12_064436_221584607.png

C'est tout pour la configuration du cluster. Je vous remercie pour votre travail acharné.

Recommended Posts

Construire un cluster Hadoop (Cloudera Manager sur Ubuntu 18.04)
[Ruby] Création d'un environnement de développement Ruby sur Ubuntu
Construire WebGIS sur Ubuntu20.04 LTS
Créer un environnement XAMPP sur Ubuntu
Création d'un environnement de Deep Learning (Ubuntu 20.04 LTS)
Construire un serveur DLNA sur Ubuntu (il suffit de bouger pour le moment)
Ecrire un fichier docker pour démarrer jupyter-lab sur ubuntu
Comment créer un environnement Pytorch sur Ubuntu