Gestión de almacenes de certificados keystore Java, comandos mas habituales.
13 de febrero de 2024Controlando el tamaño de logs en /var/log/journal
14 de febrero de 20241.- Crearemos un usuario hadoop en el sistema.
2.- Copiaremos las claves ssh en los nodos para que el usuario hadoop pueda logearse sin contraseña desde el master.
3.- Asignaremos permisos hadoop:hadoop a todo el directorio /opt/hadoop recursivamente.
4.- Descomprimiremos los paquetes en los directorios /opt/spark y /opt/hadoop respectivamente.
5.- Configuramos el archivo hosts y hostname de cada servidor, en nuestro caso 1 master y 2 nodos.
6.- Desactivamos el cortafuegos.
7.- Configuramos los archivos de propiedades del master relativos a hadoop y spark, los copiaremos en los nodos también.
8.- Establecemos las variables de entorno necesarias en el archivo .bashrc del usuario hadoop (actualizar tiempo real con source ~/.bashrc).
COMANDOS
Inicializar el almacenamiento hdfs (usuario hadoop).
hdfs namenode -format
Comandos interacción hdfs.
hdfs dfs -mkdir /datasets
hdfs dfs -chmod 777 /datasets
hdfs dfs -chown hadoop:hadoop /datasets
hdfs dfs -copyFromLocal test.txt /test.txt
Cambiar a usuario hadoop.
su - hadoop
Inicializar hadoop (Hay que lanzarlo desde el usuario hadoop. Si están bien las variables de entorno no es necesario ir a /opt/hadoop/sbin).
start-all.sh
Iniciaizar Spark (Como root desde /opt/spark/sbin).
./start-workers.sh (en nodos)
./start-all.sh (en master)
Parar servicio hdfs.
stop-all.sh
Comprobar los servicios corriendo en un host.
jps
En master:
8241 SecondaryNameNode
7942 NameNode
8442 ResourceManager
46924 Jps
En nodos:
3744 Worker (Spark)
10452 Jps
3301 NodeManager
3115 DataNode
Puertos principales de los servicios.
Puerto 8042 -> YARN manager (nodes)
Puerto 8088 -> YARN manager (master)
Puerto 8080 -> Spark master
Puerto 8081 -> Spark workers
Puerto 9870 -> Hadoop master
Puerto 9864 -> Hadoop datanode
Puerto 8888 -> Jupyter notebook
Comprobar nodos ejecutándose en el entorno.
yarn node -list
INFO client.DefaultNoHARMFailoverProxyProvider: Connecting to ResourceManager at hadoop-master/192.168.1.15:8032
Total Nodes:2
Node-Id Node-State Node-Http-Address Number-of-Running-Containers
hadoop-node1:39161 RUNNING hadoop-node1:8042 0
hadoop-node2:46375 RUNNING hadoop-node2:8042 0
Lanzar jupyter-notebook (Como usuario hadoop sino hay que añadir el parámetro –allow-root)
jupyter-notebook --ip 0.0.0.0 --no-browser --port=8888
Para utilizar jupyter-notebook e interactuar con nuestro motor Spark tendremos que instalar la librería PySpark.
pip install pyspark
Si no hemos definido variables de entorno hay un paquete que nos ayudará.
pip install findspark
Al comienzo de un script python colocar:
import findspark
findspark.init()
from pyspark import SparkContext
sc = SparkContext()
datos = sc.parallelize([1, 2, 3, 4])
datos.take(2)
Mas información: https://aprenderbigdata.com/hdfs/