Java Expert....Java/Open Source Addict

Redes Sociales

twitterlinkedinrss feedemail youtube

lunes, 11 de abril de 2022

Subir un proyecto directamente a Github desde IntelliJ


Hola amig@s, en esta oportunidad les voy a mostrar como subir un proyecto Java a GitHub desde el IDE de desarrollo IntelliJ. Sin más comencemos.


1.-  Lo primero que se tiene que hacer es dirigirse a la opción IntellijJ ->Preferences -> Version Control -> GitHub y agregar la cuenta desde la cual se va a proceder a subir sus proyectos. Pueden tener más de una cuenta.


2.- Activar la integración del controlador de versiones en su proyecto a través de la opción VCS -> Enable Version Control Integration y seleccionar el controlador de versiones a utilizar. En este caso se seleccionará Git.

 

 

 

3.- Crear archivo .gitignore dentro del proyecto, el cual nos permitirá configurar los archivos y directorios que no serán contemplados para subir al repositorio.


4.- Seleccionar la opción Git -> GitHub -> Share Project on GitHub del  menú superior. Posterior a esto se mostrará una ventana para ingresar el nombre del repositorio, su descripción, el tipo repositorio y una vez que estemos terminado presionar el botón Share.


5.- Una vez presionado el botón Share,  aparecerá una ventana donde se mostrarán todos los archivos que serán subidos al repositorio y un comentario inicial. Se tiene que verificarlos, marcando o desmarcando cada uno de ellos según se requiera. Y una vez listos presionar el botón Add.

 


 6.- Finalmente se podrá apreciar un mensaje de confirmación de que el proyecto ha sido subido a GitHub y se podrá apreciar el tracking del mismo con el primer commit en la vista de Git en la parte inferior.



Espero que el post le sirve de mucha ayuda, no olviden compartirlo con alguien que lo necesite. Un abrazo  y bendiciones.

 


lunes, 14 de febrero de 2022

¿Cómo instalar docker en Linux (Fedora 33)?


Hola amigos(as), en este oportunidad les mostraré como instalar  Docker en Fedora 33, lo cual lo realizaremos a través de su repositorio. Para esto se debe realizar los siguientes pasos:

1.- Desintalar todos los paquetes relacionados con docker utilizando el comando sudo dnf remove docker*


2.- Instalar el paquete  dnf-plugins-core utilizando el comando sudo dnf -y install dnf-plugins-core, el cual provee los comandos para manejar los repositorios.

3.- Añadir el repositorio de Docker utilizando el comando sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo


4.- Instalar docker con sus complementos para eso se debe ejecuta el siguiente comando sudo dnf install docker-ce docker-ce-li containerd.io


 5.- Inicializar el servicio de docker y verificar que se haya levantado correctamente con los comandos sudo systemctl start docker.service sudo systemctl start docker.service  respectivamente.

 


 6.-Finalmente verificar funcionamiento utilizando el comando sudo docker run hello-world, el cual procederá a descargar la imagen si no la tiene y ejecutar la misma. La que imprimirá los pasos que realizó y el mensaje Hello World! 

Nota: Para correr cualquier comando de docker, se lo tiene que realizar con la cuenta de administrador (root).

miércoles, 2 de febrero de 2022

Recover your MySQL password on Linux


Hello friends, In this opportunity, I want to share with us  how to recover your MySQL password. For this, I am using Fedora 33 y MySQL Server 8. The steps are the following.

1.- Stop the MySQL service with the sudo systemctl stop mysqld command and verify its status with sudo systemctl status mysqld command


2.- Set the MYSQLD_OPTS environment variable with systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" command.

 


3.- Start MySQL server with the sudo systemctl start mysqld command and verify its status with sudo systemctl status mysqld command.

3.- Connect to MySQL Server as root with the mysql -u root command, execute the UPDATE mysql.user SET authentication_string=null WHERE User='root'; FLUSH PRIVILEGES; and exit.

4.- Connect to MySQL Server as root with the mysql -u root command, execute the  ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Test..2o22' and exit.

5.- Stop the server with the sudo systemctl stop mysqld command and unset the MYSQLD_OPTS environment variable with systemctl unset-environment MYSQLD_OPTS command.


 6.- Start MySQL server with the sudo systemctl start mysqld command and verify its status with sudo systemctl status mysqld command.

 

 

7.- Finally, verify the change connecting to MySQL Server with the new password.


martes, 14 de diciembre de 2021

Dividir archivo grande en múltiples archivos según número de líneas en Linux o Mac


 Hola amigos, amigas en esta oportunidad les quiero compartir la forma de dividir un archivo grande en múltiples archivos según un número de líneas establecidas. Lo cual me fue de mucha utilidad, ya que necesito procesar un archivo de 8.4 Gigabytes, permítanme indicarles como hacerlo.


1.- Abrir un terminal y ubicarse en el directorio donde se encuentra su archivo.

2.- Ejecutar el comando 

split -a <numero_caracteres_sufijo> -l <numero_lineas> <nombre_archivo_con_extension> <nombre_archivo_a_generar_sin_extension>

Donde:

  • <numero_caracteres_sufijo>.- Es el número de caracteres utilizado junto al nombre que se va a generar cuando se haga la división; es decir, en este caso coloque dos y se utilizarán dos letras comenzado desde aa.
  • <numero_lineas>.- Es el número de líneas utilizando para realizar la división del archivo, en este caso se generarán archivos cada 1 millón de líneas (1000000).
  • <nombre_archivo_con_extension>.- Es el nombre del archivo original con extensión, el cual se va a proceder a dividir según el número de líneas configurados con el parámetro -l
  • <nombre_archivo_a_generar_sin_extension>.- Es el nombre del archivo parcial que se generará según el número de líneas establecida, el cual será concatenado con los caracteres comenzando desde la secuencia aa hasta que se termine el número de líneas del archivo principal.
3.- Luego de ejecutar el comando se crearan los archivos según la cantidad de líneas establecido, en este caso se crearon 26 archivos, cada uno de 1 millón de líneas.


4.- Finalmente si se requiere cambiar de extensión, se puede ejecutar el comando:

for f in <nombre_archivo_a_generar_sin_extension>_*; do 

    mv -- "$f" "${f%}.csv"     

done





viernes, 24 de septiembre de 2021

"Stale postmaster.pid file" en Postgres.app


Estimados amig@s, en esta oportunidad voy a mostrarles como corregir el error "Stale postmaster.pid file" en Postgres, el cual me apareció cuando mi máquina se reinicio inesperadamente por un problema de memoria al probar un tema de bigdata. Antes de comenzar es importante mencionar que utilizo la aplicación Postgres.app para Mac, pero el problema se corrigue de manera similar en otros sistemas operativos. El error que  me apareció es el siguiente.

Para poder corregir se tiene que realizar lo siguiente:

1.- Ubicar el archivo de configuración postmaster.pid, para lo cual una vez abierto la aplicación Postgress.app, selecionamos la opción Server Settings -> Show


2.- Diriguirse a la ubicación y proceder a eliminar el archivo.


3. Finalmente iniciar Postgres, para verificar que todo este correcto, presionando Start



martes, 14 de septiembre de 2021

Configurar Mod_JK en Fedora 33


Estimados amig@s, en este post vamos a revisar como configurar el módulo mod_jk en Apache en Fedora 33, lo cual se utilizará para configurar el balanceo de carga en Wildfly( esto no depende si está configurado en modo standalone, domain o clúster), empecemos.


1. Generalmente tanto en MacOS como en Linux viene instalado por defecto el servidor web Apache, para verificar se tiene que ejecutar el comando apachectl status. En el caso de que este parado el servicio, se puede iniciarlo con el comando apachectl start


2.- Instalar las siguientes dependencias: httpd-devel, gcc libtool, las cuales son necesarias para instalar el mod_jk, para lo cual se debe ejecutar el siguiente comando dnf install httpd-devel gcc libtool En mi caso ya tengo instalada, por eso cuando se ejecuta el comando aparece los siguientes mensajes.


3.- Posterior a esto, se tiene que descargar el conector mod_jk en formato comprimido tar.gz, descomprimirlo y ubicarse dentro de directorio en la carpeta  native

 

4.- Una vez ubicado en el directorio native, se tiene que configurar el módulo. Para lo cual se utilizará la herramienta de Apache apxs(APache eXtension Tool) con el siguiente comando: ./configure -with-apxs=/usr/bin/apxs

 


5.- Posterior a esto se debe construir el módulo mod_jk.so utilizando el comando make. Lo cual creará un directorio apache-2.0 y dentro del mismo el archivo mod.jk.so, que se deberá copiar al directorio /etc/httpd/modules  del servidor web apache.


 
  
 


6.- Cargar el módulo mod_jk.so en el servidor web Apache, para lo cual se debe crear un archivo mod_jk.conf en el directorio /etc/httpd/conf.modules.d, directorio destinado para la configuración de los módulos. Este archivo contendrá la ubicación del módulo, la ubicación del archivo workers(nodos a balancear), ubicación del log, esquema de balanceo entre otros temas.


7.- Configurar los workers o nodos para realizar el balanceo, lo cual se lo realiza en el archivo  /etc/httpd/conf/workers.properties de acuerdo al path que se defnió en el archivo anterior. En este archivo lo que se tiene que cambiar para su configuración son la IP de cada worker.



8.- Antes de finalizar modificar el archivo de configuración  /etc/httpd/conf/httpd.conf, para incluir el mapeo del nombre del servidor a la ip loopback.


9.- A continuación se tiene que configurar SELinux en modo permisive en el archivo /etc/SELinux/config, reiniciar la compu y reiniciar el servicio de Apache con el comando apachectl restart.

 



10.- Finalmente establecer la regla en el firewall para que se pueda llamar al balanceador desde otra máquina. Para lo cual se tiene que habilitar el servicio http en la zona por defecto a través del siguiente comando firewall-cmd --zone=FedoraWorkstation --permanent --add-service=http
.




Espero que el post les sea de ayuda.

martes, 7 de septiembre de 2021

Configurar Multicast en MacOS


Estimados amigos,

En este post, voy a mostrarles como configurar Multicast en Mac, lo cual también aplica para Linux, lo cual es muy importante para realizar pruebas de tráfico. En mi caso lo estoy utilizando para testear una configuración de Cluster en Wildfly, sin más empecemos.


Qué es Multicast?.-  Un multicast es un protocolo por la cual la data es transmitida simultáneamente a todos los hosts que son parte de un grupo multicast, se puede hacer la analogía con un canal de radio en donde los que sintonizan una frecuencia en particular reciben la información
 
Configuración.- Por defecto multicast no está habilitado en Mac, para configuarlo y habilitarlo se debe realizar lo siguiente:

1.- Abril un terminal y ejecutar el comando ifconfig -ael cual permitirá revisar si la interface de red soporta multicast.
 
Como podemos apreciar en la última línea aparece la palabra MULTICAST, lo cual significa que la  interfaz de red en0 soporta aquello.

2.-  Revisar si la ruta multicast esta configurada, para lo cual se debe ejecutar el siguiente comando netstat -nr
 
 
Si está configurado en la primera tabla (Routing Tables) aparecerá una IP en el rango de 224.0.0.0 a 239.255.255.255. En el caso de que no esté configurado pasar al paso 3

3.-  Para añadir una dirección IP multicast ejecutar el siguiente comando sudo route -nv add -net 228.0.0.4 -interface en0
 

 
4.-  Verificar si la dirección IP multicast ha sido añadida con el comando netstat -nr
 

 5.-  Finalmente para verficar que la configuración este funcionando correctamente y que la máquina esté habilitado para multicast, se debe ejecutar los comandos   sudo tcpdump -ni en0 host 228.0.0.4 y ping -t 1 -c 2 228.0.0.4 en terminales diferentes.