Suplemento de conocimientos de expansión relacionados con la instalación, como redis, hadoop y hbase

En cierto sentido, una tecnología no es difícil de aprender, pero es difícil aprender bien.
Sí, significa que se puede usar, solo dibuja una calabaza; bueno, involucra varios detalles, y algunas operaciones importantes y de alta frecuencia pueden necesitar conocer algunos principios.
Tome la instalación de software como ejemplo. El proceso de instalación principal de la mayoría del software en Linux es similar. Solo que este tipo de similitud también tiene muchos detalles. Las siguientes son algunas de las cosas que encontré durante el proceso de instalación de redis, hadoop, hbase, etc. , Solo una parte.

Cortafuegos

Lo primero de lo que se debe hablar es del cortafuegos. Mucha gente sabe que si el cortafuegos está activado y la lista blanca no está configurada, no se puede acceder directamente a la mayoría de los puertos desde el exterior, así que configure la lista blanca o apague el cortafuegos.
Desde la perspectiva de la operación y el mantenimiento profesionales y el entorno de producción, es natural configurar una lista blanca, pero simplemente construir una máquina virtual e instalar software para aprender o probar. Debe ser lo más simple posible, por lo que generalmente es apagar el firewall directamente.
Generalmente uso service iptables stopeste comando, personalmente lo encuentro fácil de recordar y estoy acostumbrado.
Pero el problema con el comando anterior es solo una vez. Si el sistema se reinicia, se ejecutará nuevamente. Cuando se opera una máquina, puede que no sea nada. Por ejemplo, si construye un hadoop distribuido, encontrará que tres o cuatro máquinas deben ejecutarse cada vez que inicie tres o cuatro máquinas. Cuatro veces es muy problemático, por lo que, de hecho, es necesario configurar una operación que siempre sea efectiva:

chkconfig iptables off

El significado de esta operación es configurar los elementos de verificación de arranque, apagar el servicio iptables al arrancar, es decir, apagar el cortafuegos al arrancar, por lo que no es necesario apagar manualmente cada vez.
Más importante aún, esta operación en realidad no es exclusiva del firewall, pero se puede operar así para servicios en Linux, y se siente como un truco para comer en todo el mundo.
Por supuesto, apagar el firewall no se limita a esta única forma, al menos hay otra forma:

systemctl disable firewalld

Lo anterior también puede lograr el efecto de ejecutarse una vez, la diferencia es que esto no se apaga después del arranque, pero no se enciende, pero personalmente creo que la primera operación es fácil de recordar, y es puramente un hábito personal.

Selinux

El firewall está relacionado con la seguridad y el propósito de cerrarlo es que los puertos de software que instalamos sean accesibles desde el exterior. También hay un módulo relacionado con la seguridad en Linux. Es mejor cerrarlo cuando configure una máquina virtual usted mismo, es decir, selinux.
selinux es la abreviatura de Security-Enhanced Linux. Se dice que algunos sistemas llevan esto y otros no. Si lo hace, puede ver /etc/selinux/configeste archivo.
Hay muchas reglas y administración de autoridad en selinux. Tiene un mecanismo que si ocurren algunos errores durante el inicio o apagado, el sistema de archivos se convertirá en modo de solo lectura y no se puede modificar nada. Esto sin duda nos puede traer algunos Obstructivo.
Por lo tanto, al igual que los firewalls, es posible que los entornos de operación y mantenimiento profesionales o de producción no se puedan apagar directamente, pero simplemente puede apagarlos cuando los use usted mismo.
selinux tiene tres modos, como sigue;

ejecución: modo obligatorio. Las violaciones de las reglas de SELinux serán bloqueadas y registradas en el registro.
permisivo: modo permisivo. Las violaciones de las reglas de SELinux solo se registrarán en el registro. Generalmente se usa para depurar.
deshabilitado: apaga SELinux.

/etc/selinux/configHay una línea de configuración en el archivo por defecto SELINUX=enforcing, es decir, el modo obligatorio usado por defecto, por lo que necesita cambiar esta línea para cerrarla SELINUX=disabled, y luego el rebootcomando para reiniciar el sistema.

Acerca de ssh sin contraseña

ssh es la abreviatura de Secure Shell, que puede entenderse como inicio de sesión remoto o inicio de sesión remoto seguro.
Normalmente, usar ssh para iniciar sesión en otra máquina requiere ingresar un nombre de usuario y contraseña, lo que equivale a ir a su casa, su puerta está cerrada, y luego debe darme su llave de casa, y luego uso la llave de su casa para abrir La puerta de tu casa.
Inserte la descripción de la imagen aquí
El problema aquí es que si solo hay uno, está bien. Si hay muchos lugares a los que quiero ir, entonces necesito obtener muchas claves. De hecho, es fácil cometer errores. El inicio de sesión SSH requiere memorizar muchas contraseñas de máquina.
Entonces, otra forma es usar ssh para evitar la operación de contraseña, que puede guardar la verificación de contraseña al iniciar sesión.
La operación específica es generar un par de claves SSH en la máquina que necesita iniciar sesión, y luego poner la clave pública en la máquina para iniciar sesión y luego iniciar sesión directamente sin secreto.
Según mi entendimiento personal, en términos sencillos, creo que tengo una cerradura y n llaves múltiples, y luego guardo una llave para cada casa a la que voy y luego me llevo la cerradura conmigo. Si la llave de esa casa puede Abra la cerradura que traje y podrá entrar en su casa. Por supuesto, este es el entendimiento. El cifrado y descifrado de claves públicas y privadas no es un simple problema de clave y cerradura. La descripción anterior se puede expresar a grandes rasgos como:
Inserte la descripción de la imagen aquí
tales beneficios Naturalmente, solo necesito cuidar mi propio candado sin elegir, lo cual es muy conveniente. La desventaja es que en realidad existe una sensación de intrusión, que requiere almacenamiento de archivos interactivo y evitar secretos aumentará naturalmente los riesgos de seguridad, pero todos asumimos que somos simples y fáciles de usar, por lo que no debemos preocuparnos por la seguridad. .
Utilice el siguiente comando para generar la clave secreta ssh:

ssh-keygen -t rsa

El comando anterior generará un directorio .ssh en el directorio de usuario actual y un par de claves pública y privada en el directorio .ssh. Cabe señalar que los parámetros del comando anterior son mucho más que los que se muestran en el ejemplo, y el rsa en el ejemplo también se puede reemplazar por dsa, que es dsa por defecto, que representa diferentes algoritmos de cifrado.
Estoy usando el usuario root, el comando anterior /root/.sshgenerará los siguientes dos archivos en el directorio:

id_rsa
id_rsa.pub

Si está utilizando dsa, se generarán estos dos archivos:

id_dsa
id_dsa.pub

Independientemente de si es rsa o dsa, la clave pública con el final de pub es la clave pública. Si desea iniciar sesión sin contraseña, debe escribir el contenido de la clave pública en el archivo sin contraseña, por ejemplo:

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

Luego, puede copiar este archivo al directorio de usuario correspondiente de la máquina que necesita iniciar sesión.
Alguien podría decir que no puede ver el directorio .ssh cuando usa ls y ll en el directorio de usuario. Eso se debe a que este directorio no existía al principio, pero fue más tarde. También es un directorio oculto. Si desea verlo, debe llverlo. parámetro:

ll -a

Asignación de nombre de host

Hadoop y muchos software relacionados con la conexión a otras máquinas realmente necesitan mapear la relación entre el nombre de host y la IP, lo que también se puede llamar mapeo de nombre de dominio virtual.
El propósito de esto es evitar que la configuración de todo el software se modifique si la IP cambia. Si se usan el nombre de host y la asignación de IP, entonces el nombre de host se usa en el software. Si la IP cambia, solo el /etc/hostsarchivo necesita ser modificado . Cámbielo de nuevo.

Configuración de variables de entorno como JAVA_HOME

Para el entorno java, generalmente es necesario, y se configurará la variable de entorno PATH de la máquina y se agregará JAVA_HOME.
Pero en la instalación distribuida de hadoop, encontrará que incluso si la máquina ya está instalada, aún necesita configurarla nuevamente en el archivo de configuración de hadoop.
La razón de esto es que cuando Hadoop se inicia de manera distribuida, una máquina ejecuta el comando e inicia todos los nodos asociados al mismo tiempo. La máquina que ejecuta el comando usa ssh para conectarse a otras máquinas para ejecutar el comando de inicio de Hadoop correspondiente.
Y aquí hay un detalle de que cuando esta máquina se inicie, cargará el /etc/profilearchivo y podrá leer las variables de entorno configuradas, mientras que otras máquinas no cargarán el /etc/profilearchivo cuando ssh se conecte , lo que lleva a la aparición de variables de entorno como JAVA_HOME. Si realmente no puede leerlo, debe aumentar activamente la configuración de las variables de entorno correspondientes en el archivo de configuración del software.
Por lo anterior, se puede ver que esta operación no se limita a JAVA_HOME, no se limita a hadoop.

instalación jdk

La instalación de jdk en mi máquina virtual usa tar.gzeste modo de instalación de descompresión de paquetes comprimidos. No hay ningún problema con él en este momento,
pero lo que realmente aprendí es que hay pits.
Inicialmente aprenda hadoop, y por el momento, puede realizar operaciones simples, y la instalación del software también se lleva a cabo de forma independiente.
Sin embargo, debido a la gran cantidad de paquetes en el ecosistema relacionado con hadoop, como hbase, hive, spark, flink, etc., es muy complicado instalarlos de forma independiente, por lo que una empresa unificó estas cosas para simplificar la operación de instalación con una gestión unificada. CDH, el entorno de producción real puede ser utilizado por muchas empresas.
El error mencionado anteriormente es que el JAVA_HOME leído por CDH por defecto no está configurado en las variables de entorno, sino /usr/java/default.
Por lo tanto, debe establecer una conexión suave para el JAVA_HOME real, por ejemplo:

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

Además, otra forma es no usar paquetes comprimidos al instalar jdk al principio, sino usar la rpminstalación, como:

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

Este método de instalación establecerá automáticamente la conexión suave anterior Después de la instalación, podemos configurar JAVA_HOME.

Supongo que te gusta

Origin blog.csdn.net/tuzongxun/article/details/107931540
Recomendado
Clasificación