Supplément de connaissances d'expansion liées à l'installation telles que redis, hadoop et hbase

Dans un sens, une technologie n'est pas difficile à apprendre, mais elle est difficile à bien apprendre.
Oui, cela signifie qu'il peut être utilisé, il suffit de dessiner une gourde; eh bien, cela implique divers détails, et certaines opérations importantes et à haute fréquence peuvent avoir besoin de connaître certains principes.
Prenez l'installation de logiciels comme exemple. Le processus d'installation principal de la plupart des logiciels sous Linux est similaire. Seul ce type de similitude comporte également de nombreux détails. Voici quelques-unes des choses que j'ai rencontrées lors du processus d'installation de redis, hadoop, hbase, etc. , Seulement une partie de celui-ci.

Pare-feu

La première chose dont il faut parler est le pare-feu. Beaucoup de gens savent que si le pare-feu est activé et que la liste blanche n'est pas définie, la plupart des ports ne sont pas accessibles directement de l'extérieur, alors configurez la liste blanche ou désactivez le pare-feu.
Du point de vue de l'exploitation et de la maintenance professionnelles et de l'environnement de production, il est naturel de configurer une liste blanche, mais il suffit de créer une machine virtuelle et d'installer un logiciel pour l'apprentissage ou le test. Cela doit être aussi simple que possible, il s'agit généralement de désactiver directement le pare-feu.
J'utilise généralement service iptables stopcette commande, je la trouve personnellement facile à retenir et j'y suis habituée.
Mais le problème avec la commande ci-dessus n'est qu'une seule fois. Si le système redémarre, il sera exécuté à nouveau. Lorsqu'une machine est utilisée, cela peut être rien. Par exemple, si vous créez un hadoop distribué, vous constaterez qu'à chaque fois que vous démarrez trois ou quatre machines, vous devrez en exécuter trois Quatre fois c'est très gênant, donc en fait, il est nécessaire de définir une opération toujours efficace:

chkconfig iptables off

La signification de cette opération est de configurer les éléments de vérification de démarrage, de désactiver le service iptables lors du démarrage, c'est-à-dire de désactiver le pare-feu lors du démarrage, il n'est donc pas nécessaire de désactiver manuellement à chaque fois.
Plus important encore, cette opération n'est en fait pas unique au pare-feu, mais elle peut être utilisée comme ça pour les services sous Linux, et cela ressemble à une astuce à manger partout dans le monde.
Bien sûr, la désactivation du pare-feu ne se limite pas à cette manière, au moins il existe une autre manière:

systemctl disable firewalld

Ce qui précède peut également avoir pour effet d'être exécuté une fois. La différence est que cela n'est pas désactivé après le démarrage, mais pas activé, mais je pense personnellement que la première opération est facile à retenir et que c'est une habitude purement personnelle.

selinux

Le pare-feu est lié à la sécurité, et le but de sa fermeture est que les ports logiciels que nous avons installés soient accessibles de l'extérieur. Il existe également un module lié à la sécurité sous Linux. Il est préférable de le fermer lors de la configuration d'une machine virtuelle par vous-même, c'est-à-dire selinux.
selinux est l'abréviation de Security-Enhanced Linux. On dit que certains systèmes le portent, et d'autres non. Si vous le faites, vous pouvez voir /etc/selinux/configce fichier.
Il y a beaucoup de règles et de gestion d'autorité dans selinux. Il a un mécanisme qui si des erreurs se produisent pendant le démarrage ou l'arrêt, le système de fichiers passe en mode lecture seule et rien ne peut être modifié. Cela peut sans aucun doute nous apporter quelques Obstructif.
Par conséquent, comme les pare-feu, les environnements d'exploitation et de maintenance professionnels ou de production peuvent ne pas pouvoir être désactivés directement, mais vous pouvez simplement le désactiver lorsque vous l'utilisez vous-même.
selinux a trois modes, comme suit;

application: mode obligatoire. Les violations des règles SELinux seront bloquées et enregistrées dans le journal.
permissive: mode permissif. Les violations des règles SELinux ne seront enregistrées que dans le journal. Généralement utilisé pour le débogage.
désactivé: désactivez SELinux.

/etc/selinux/configIl y a une ligne de configuration dans le fichier par défaut SELINUX=enforcing, c'est-à-dire le mode obligatoire utilisé par défaut, vous devez donc modifier cette ligne pour la fermer SELINUX=disabled, puis rebootcommander pour redémarrer le système.

À propos de ssh sans mot de passe

ssh est l'abréviation de Secure Shell, qui peut être comprise comme une connexion à distance ou une connexion sécurisée à distance.
Normalement, utiliser ssh pour vous connecter à une autre machine nécessite la saisie d'un nom d'utilisateur et d'un mot de passe, ce qui équivaut à aller chez vous, votre porte est verrouillée, puis vous devez me donner votre clé de domicile, puis j'utilise votre clé de domicile pour ouvrir La porte de votre maison.
Insérez la description de l'image ici
Le problème ici est que s’il n’y en a qu’une, tout va bien. S'il y a de nombreux endroits où je veux aller, je dois obtenir beaucoup de clés. En fait, il est facile de faire des erreurs. La connexion SSH nécessite la mémorisation de nombreux mots de passe de machine.
Une autre façon consiste donc à utiliser ssh pour éviter les opérations de mot de passe, ce qui peut sauver la vérification du mot de passe lors de la connexion.
L'opération spécifique consiste à générer une paire de clés SSH sur la machine qui doit se connecter, puis à placer la clé publique dans la machine à laquelle se connecter, puis à se connecter directement sans secret.
Selon ma compréhension personnelle, en termes simples, je pense avoir une serrure et n plusieurs clés, puis je garde une clé pour chaque maison où je vais, puis je prends ma serrure avec moi. Si la clé de cette maison peut Ouvrez la serrure que j'ai apportée et vous êtes autorisé à entrer chez lui. Bien sûr, ceci est compris. Le cryptage et le décryptage des clés publiques et privées ne sont pas un simple problème de clé et de verrouillage. La description ci-dessus peut être exprimée en gros comme: de
Insérez la description de l'image ici
tels avantages Naturellement, je n'ai besoin que de m'occuper de ma propre serrure sans choisir, ce qui est très pratique. L'inconvénient est qu'il existe en fait un sentiment d'intrusion, nécessitant un stockage de fichiers interactif, et éviter les secrets augmentera naturellement les risques de sécurité, mais nous supposons tous que nous sommes simples et faciles à utiliser, nous n'avons donc pas à nous soucier de la sécurité. .
Utilisez la commande suivante pour générer la clé secrète ssh:

ssh-keygen -t rsa

La commande ci-dessus générera un répertoire .ssh dans le répertoire utilisateur actuel et une paire de clés publique et privée dans le répertoire .ssh. Il convient de noter que les paramètres de la commande ci-dessus sont bien plus que ceux indiqués dans l'exemple, et le rsa dans l'exemple peut également être remplacé par dsa, qui est dsa par défaut, qui représente différents algorithmes de chiffrement.
J'utilise l'utilisateur root, la commande ci-dessus /root/.sshgénérera les deux fichiers suivants dans le répertoire:

id_rsa
id_rsa.pub

Si vous utilisez dsa, ces deux fichiers seront générés:

id_dsa
id_dsa.pub

Qu'il s'agisse de rsa ou dsa, la clé publique avec la fin de pub est la clé publique. Si vous souhaitez vous connecter sans mot de passe, vous devez écrire le contenu de la clé publique dans le fichier sans mot de passe, par exemple:

cat id_rsa.pub >> ~/.ssh/authorized_keys

Ensuite, vous pouvez copier ce fichier dans le répertoire utilisateur correspondant de la machine qui doit se connecter.
On pourrait dire que dans le répertoire utilisateur utilisant ls et ll ne pouvait pas voir le répertoire .ssh, c'est parce que ce répertoire n'est pas un début, opportun là-bas, mais aussi un répertoire caché, si vous voulez le voir, vous devez llvoir est un plus paramètre:

ll -a

Mappage du nom d'hôte

Hadoop et de nombreux logiciels liés à la connexion à d'autres machines doivent en fait mapper la relation entre le nom d'hôte et l'adresse IP, ce qui peut également être appelé mappage de nom de domaine virtuel.
Le but de ceci est d'empêcher la configuration de tous les logiciels d'être modifiée si l'IP change. Si le nom d'hôte et le mappage d'IP sont utilisés, alors le nom d'hôte est utilisé dans le logiciel. Si l'IP change, seul le /etc/hostsfichier doit être modifié . Changez-le à nouveau.

Configuration de variable d'environnement telle que JAVA_HOME

Pour l'environnement java, il est généralement requis, et la variable d'environnement PATH de la machine sera configurée et JAVA_HOME sera ajouté.
Mais dans l'installation distribuée de hadoop, vous constaterez que même si la machine est déjà installée, vous devez toujours la configurer à nouveau dans le fichier de configuration de hadoop.
La raison en est que lorsque Hadoop est démarré de manière distribuée, une machine exécute la commande et démarre tous les nœuds associés en même temps. La machine exécutant la commande utilise ssh pour se connecter à d'autres machines afin d'exécuter la commande de démarrage Hadoop correspondante.
Et voici un détail que lorsque cette machine démarre, elle chargera le /etc/profilefichier et pourra lire les variables d'environnement configurées, tandis que d'autres machines ne chargeront pas le /etc/profilefichier lorsque ssh se connectera , ce qui conduit à l'apparition de variables d'environnement telles que JAVA_HOME. Si vous ne pouvez pas réellement le lire, vous devez augmenter activement la configuration des variables d'environnement correspondantes dans le fichier de configuration du logiciel.
On peut donc voir d'après ce qui précède que cette opération n'est pas limitée à JAVA_HOME, pas limitée à hadoop.

installation de jdk

L'installation de jdk dans ma machine virtuelle utilise tar.gzce mode d'installation de décompression de package compressé. Il n'y a aucun problème avec lui pour le moment,
mais ce que j'ai appris en fait, c'est qu'il y a des fosses.
Initialement, apprenez hadoop, et pour le moment, vous pouvez effectuer des opérations simples, et l'installation du logiciel est également effectuée indépendamment.
Cependant, en raison des nombreux packages de l'écosystème lié à hadoop, tels que hbase, hive, spark, flink, etc., il est très compliqué de les installer indépendamment, de sorte qu'une entreprise a unifié ces éléments pour simplifier l'opération d'installation avec une gestion unifiée. CDH, l'environnement de production réel peut être utilisé par de nombreuses entreprises.
Le piège mentionné ci-dessus est que le JAVA_HOME lu par CDH par défaut n'est pas configuré dans les variables d'environnement, mais à la place /usr/java/default.
Vous devez donc établir une connexion logicielle pour le JAVA_HOME réel, par exemple:

mkdir -p /usr/java
ln -s /root/soft/jdk1.8.0_261  /usr/java/default

De plus, une autre façon est de ne pas utiliser de packages compressés lors de l'installation de jdk au début, mais d'utiliser l' rpminstallation, telle que:

rpm -ivh jdk-8u181-linux-x64.rpm

Cette méthode d'installation établira automatiquement la connexion logicielle ci-dessus. Après l'installation, nous pouvons configurer JAVA_HOME.

Je suppose que tu aimes

Origine blog.csdn.net/tuzongxun/article/details/107931540
conseillé
Classement