Etiqueta: base de datos

Instalar Hadoop 2.6 en Linux (un solo nodo)

La versión de Hadoop 2.6 mejoro mucho respecto a las versiones anteriores, esta versión mejoro dramáticamente el HDFS y el MapReduce. esta guía esta hecha para ayudarte a instalar Hadoop 2.6 en CenOS/RHEL 7/6/5 y Oracle Linux.

Si estas aqui, es por que tienes interés en mejorar tus conocimientos de BigData y leíste en algún lado que Hadoop es el primer paso y en ves de buscar cursos buscas guias para poder practicar por tu propia cuenta, Bien hecho, es la decision correcta

Este articulo no incluye la instalación general del sistema operativo o del Java, solo es la configuración mas básica para poder iniciar.

hadoop-logo

Para llevar a cabo esta guía, es necesario que tengas una instalación ya terminada de tu sistema operativo Linux, por bien realizada me refiero a que ya esta instalada con todas las dependencias necesarias, Java 1.8 instalado, la IP asignada como estática, tu ip estática declarada en /etc/hosts, firewall desactivado, SELINUX desactivado y si estas en una maquina virtual, el virtual guest addons completamente instalados sin ningún error, de no tenerlo todo o no estar seguro, haré otros posts al respecto y los vinculare en las siguientes ligas:

Instalando Java 8 en CenOS/RHEL 7/6/5 y Oracle Linux

Instalando una maquina virtual correctamente con CentOS/RHEL 7/6/5 y Oracle Linux

Solucionar problema de instalación de virtual guest addons en VMWare con CenOS/RHEL 7/6/5 y Oracle Linux

Paso 1: Instalación de JAVA

Java es el principal requerimiento para ejecutar hadoop en cualquier sistema, asi que asegúrate que lo tienes correctamente instalado con el comando java -version

# java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

de no aparecer de esta manera, necesitas ir a la liga de instalacion que comente mas arriba.

 

Paso 2: crear el usuario de Hadoop

Recomiendo crear un usuario normal (no root) para que funcione Hadoop. asi que crea una cuenta de sistema con los siguientes comandos

# adduser hadoop
# passwd hadoop

Una ves creado el usuario, switcheamos al usuario hadoop, para continuar trabajando, con el comando

# su - hadoop

después de crear la cuenta, le asignas una contraseña de tu elección, al terminar de hacer esto, es necesario que crees una llave ssh, para permitir que el servidor se pueda conectar consigo mismo a través de una sesión de ssh

# su - hadoop
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

al hacer esto, verificamos que se hayan creado adecuadamente las llaves anteriores, si es la primera ves que escribimos este comando, nos hara una pregunta el sistema operativo, le escribimos YES

$ ssh localhost
$ exit

(nota: si le pusimos un nombre a nuestro servidor, por decir TESTPROD o algo asi, reemplazamos la palabra localhost, por ej. ssh TESTPROD)

Paso 3: Descargamos Hadoop 2.6.0

Ahora descargamos Hadoop de la pagina de apache, si esta muy lento, podemos probar algun mirror que sea mas rápido en el momento, en esta secuencia de comandos, lo descargamos desde la linea de comando, luego lo descomprimimos con el comando tar y luego se genera una carpeta llamada hadoop-2.6.0 esa la renombramos a simplemente hadoop

$ cd ~
$ wget http://apache.claz.org/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz
$ tar xzf hadoop-2.6.0.tar.gz
$ mv hadoop-2.6.0 hadoop

Paso 4: configurar el modo pseudo-distribuido en Hadoop

4.1  Configurar y setear las variables de ambiente

para hacer esto, nos vamos al directorio base de nuestro usuario hadoop, (por lo general es /home/hadoop) despues editamos el archivo .bashr

bash profile configurado para Hadoop
El archivo .bash_profile debe de quedar algo asi

c o .bash_profile o .profile esto depende de la distribución que tengamos instalada, para editar los archivos usamos nano o vi , segun los gustos de cada quien, al final del archivo, agregamos:

export HADOOP_HOME=/home/hadoop/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

después de eso, aplicamos los cambios en el perfil de nuestro usuario activo, eso se puede hacer, saliendo y volviendo a entrar al usuario hadoop o con el comando source

source .bashrc

Ahora editamos el archivo $HADOOP_HOME/hadoop/hadoop-env.sh y ponemos fija la variable del JAVA_HOME.

dentro del archivo anterior buscamos la linea que comience con export JAVA_HOME y la reemplazamos por:

export JAVA_HOME=/opt/jdk1.8.0_66/

donde /opt/jdk.. sea la dirección donde esta nuestra instalación de JAVA

4.2 Edita el archivo de configuración de la aplicación de Hadoop

Hadoop tiene muchos archivos de configuración diferentes, los cuales se necesitan configurar según los requerimientos de tu infraestructura, esta configuración es especifica para una implementacion de un solo nodo, primero nos cambiamos a la siguiente carpeta:

$ cd $HADOOP_HOME/etc/hadoop

dentro de esta carpeta editamos el archivo core-site.xml , donde ponemos lo siguiente (nota, el tag de configuration no debe de repetirse):

core-site

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

 

Editamos el archivo hdfs-site.xml

hdf-site

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/datanode</value>
</property>
</configuration>

Editamos mapred-site.xml

mapred-site

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

Editamos yarn-site.xml

yarn-site

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

4.3 Formateamos con Namenode

Ahora formateamos el namenode usando los siguientes comando, asegúrate donde se encuentra el directorio de almacenamiento en la salida del comando

$ hdfs namenode -format

si todo sale bien, en este comando te despliega una linea que dice Storage directory, allí es donde va a guardar tu información

Paso 5: Iniciamos el cluster de Hadoop

Ya vamos a iniciar el cluster utilizando los scripts que vienen dentro de la carpeta de hadoop, todos estos scripts se encuentran dentro del directorio sbin, necesitamos entrar allí y ejecutarlos todos de uno por uno, en este mismo orden, si marca algún error, verifica que todos los pasos anteriores se hayan hecho bien.

cd $HADOOP_HOME/sbin/

ahora ejecutamos start-dfs.sh

$ start-dfs.sh

dfs

Ahora ejecutamos start-yarn.sh

start-yarn.sh

yarn

Paso 6: accedamos a los servicios de Hadoop desde un navegador.

Los servicios de Hadoop Namenode por defecto se inician en el puerto 50070. asi que accede a tu servidor hacia ese puerto, puede ser desde dentro de la maquina física como localhost, o si estas en una maquina virtual, desde tu maquina Host poniendo la ip del servidor en ves de localhost

http://localhost:50070/

50070

 

Ahora accedamos al puerto 8088 para obtener información sobre el cluster y todas las aplicaciones

http://localhost:8088/

8088

 

Accedamos al puerto 50090 para obtener información sobre el namenode secundario

 

http://localhost:50090/

50090

 

Accedamos al puerto 50075 para obtener datos del datanode principal

http://localhost:50075/

50075

 

Paso 7: probemos Hadoop como nodo sencillo

7.1 Creemos los directorios HDFS necesarios para los siguientes comando

entramos a la carpeta $HADOOP_HOME/bin/ , desde aqui ejecutamos los siguientes comando, para crear las carpetas dentro del storage de HADOOP, esto se hace con el comando hdfs

$ ./hdfs dfs -mkdir /user
$ ./hdfs dfs -mkdir /user/hadoop

7.2 ahora a manera de ejemplo copiamos algún conjunto de archivos de texto dentro de las carpetas del storage HDFS
que acabamos de crear, para cuestiones de ejemplo, copiare los logs del servidor web, pero puedes meter los archivos que quieras, recuerda que estos archivos son los que serán o pueden ser analizados por medio del big data, así que lo ideal seria un compendio de muchísima información en texto plano.

$ hdfs dfs -put /var/log/httpd logs

7.3 ahora entramos con el navegador y ver el filesystem distribuido con la siguiente liga:

http://localhost:50070/explorer.html#/user/hadoop/logs

explora

 

7.4 si quisiéramos hacer lo opuesto y extraer datos del HDFS es con el comando

$ ./hdfs dfs -get logs /tmp/logs
$ ls -l /tmp/logs/

 

LISTO!, si acabaste exitosamente esta guía y no te quedaron claros algunos términos, necesitas leer nuestra pagina de explicación de big data, haciendo click aquí

 

Si todo quedo entendido, sigue la parte interesante y hacer funcionar el big data, puedes seguir este tutorial para utilizar el MapReduce y el WordCount

hadoop

Diferencia entre una corrupción lógica contra una corrupción física en Oracle

corrupción lógica contra una corrupción física en Oracle

Cuando hablamos de corrupción lógica, existen muchas fallas que se pueden definir como los siguientes tipos:

Modificación accidental o incorrecta de los datos de la aplicación, causada por un usuario o la misma aplicación.

En este escenario, por la falla o el error de un usuario o un aplicativo puede resultar en un bug, esto normalmente ocurre por cambios de información dentro del a base de datos como valores erróneos, un ejemplo podría ser cuando un DBA realiza un update pero se olvida de formular correctamente el query y en ves de solo modificar un solo row, accidentalmente modifica (y le da commit) a cientos de campos.

 

La corrupción de bloques vienen en dos tipos diferentes:

Corrupción física (media corrupt blocks): son bloques que obviamente tienen un daño en el disco duro físico. Cuando Oracle detecta una inconsistencia entre el CSN (Commit Secuence Number) en el encabezado (header) del bloque y el pie del bloque (footer) o en la estructura del bloque no esta presente o esta dañado, si esto ocurre Oracle muestra un error «ORA-01578: ORACLE data block corrupted» el intento de lectura fallara y lo escribe en el alert_log y en el trace_file, las corrupciones físicas son el resultado de problemas de infraestructura y esto puede presentarse por una gran variedad de razones. Las mas comunes son corrupciones del cache de los arreglos del storage, firmware del arreglo, bugs del filesystem, fallas de batería de la controladora de discos, fallas eléctricas, entre cientos de motivos mas, las corrupciones pueden ser reparadas usando el Oracle Recovery Manager, con un comando llamado blockrecover.

 

Las corrupciones de bloque lógicas: son bloques que tanto el header como el footer del CSN se encuentran en buen estado, pero tienen otra tipo de inconsistencia interna, por ejemplo cuando la estructura del header se encuentra asociado con un campo en el bloque, pero es diferente al numero del bloque, otro ejemplo es si el tamaño del bloque difiere de lo que dice en el header, al ocurrir esto puede lanzar el error ORA-00600, que es el error mas temido de los DBA’s esta excepción se escribirá en el alert y en el trace file. al igual que la corrupción física esto puede deberse a una enorme cantidad de causas diferentes, solo que tiende a ser una falla en el software de Oracle como un bug o corrupción de cache.

capacitación Oracle en Monterrey

capacitacion oracle monterrey
capacitacion oracle monterrey

 

capacitación Oracle en Monterrey.

 

Oracle es el sistema de bases de datos más complejo y sofisticado, dominar este complejo set de aplicaciones y requiere un alto nivel de conocimiento.

 

¿Quieres desarrollarte profesionalmente como DBA?

 

  • Desarrollo tu talento y expertise
  • Aumenta exponencialmente tus oportunidades de trabajo
  • Necesario en prácticamente todas las empresas importantes

 

Capacítate con nosotros e inicia tu carrera como DBA en bases de datos Oracle 11g
Ofrecemos muchas cosas que en ninguna otra institución ofrecen:

 

  • Instructores certificados
  • Guías para la certificación y simulador de examen
  • Cubrimos todos los temas de la certificación y un poco mas
  • Resolución de problemas en bases de datos y prácticas del día a día
  • Soporte y consulta personal sobre temas vistos en la certificación
  • Invitaciones y descuento en cursos especializados de bases de datos
  • Cursos altamente personalizados, máximos con 6 alumnos por curso
  • Excelente ubicación muy céntrica y salón climatizado
  • Descuento a alumnos de universidades
  • Descuento a grupos por empresa

 

Cursos a impartir:
Curso Oracle Linux Administrator con enfoque a Bases de Datos
Curso Oracle Administrator
Curso introducción a PL/SQL
Curso Oracle Tunning
Curso E-Business Suite (Instalación e implementación)

 

mail: admin@dba.mx
telefono: (044) 81 1602 8764

Tener exito como «Ingeniero en Sistemas»

Ingeniero en Sistemas
Ingeniero en Sistemas

 

Nunca hay que olvidar que el mercado laboral de TI en nuestro país se encuentra reducido y muy competido, precisamente por eso para tener un ingreso digno y tener un trabajo más efectivo, necesitas forzosamente pensar en especializarte en alguna herramienta como Ingeniero en Sistemas.

Y muchas veces no basta con solo sacar una certificación en alguna tecnología, necesitas dedicarte al 100% a desarrollarte profesionalmente todo el tiempo y estar comprometido con tu trabajo 24/7.

  • Una vez que decides especializarte ya sea en «redes CISCO», como «programador JAVA» o en mi caso como «Oracle DBA» que para considerarte bueno (ni siquiera experto) tienes que dedicarte muchos años a estar aprendiendo mediante práctica, libros, trabajo, etc.

 

  • He ahí que si no te apasiona realmente aprender sobre tecnología y  ser un GEEK de la resolución de problemas verdaderamente difíciles, no llegaras muy lejos en este trabajo.

 

  • El verdadero secreto es que te guste tanto el código y resolver problemas complejos que incluso seria tu hobby, esa es la clave del verdadero éxito en esta carrera, que más allá que sea tu trabajo para mantenerte, también sea tu diversión cuando estés aburrido.

 

  • Ninguna empresa grande va a darte un excelente sueldo para que administres sus bases de datos de «Misión critica» al menos que tengas un historial de dedicación a una carrera de administrador de bases de datos, convirtiéndote en un DBA profesional no requiere que seas brillante o un título en la mejor de las universidades, pero si requiere dedicación, persistencia, inteligencia y enfoque a la resolución de problemas complejos.

 

  • Otra de las cosas importantes para poder destacar en el campo de TI, es que es necesario que tu personalidad se caracterice por el «se puede hacer» además de tener una excelente habilidad de comunicación.

características de Oracle 12c, ventajas y cambios

características de Oracle 12c
características de Oracle 12c

La semana pasada Oracle saco a la luz la nueva versión de su base de datos, Oracle 12c, hasta donde sé, la C significa “Cloud” y también hace referencia a “Container”.

características de Oracle 12c

Esta versión salió con muchas mejoras y cambios importantes, pero los más importantes fueron:

  • Bases de datos en contenedores “Pluggable” – Este tipo de base de datos contiene toda la información junta, la puedes desconectar de una instancia y conectarla en otra instancia, prácticamente en segundos.
  • 32k VARCHAR – es un nuevo tipo de columna que permite datos de 32k, casi igual que tener un tipo BLOB, pero más orientado a texto.
  • Mejoras en la exportación e importación de BD expdp e impdp – un buen cambio con las herramientas de exdp e impd, que ya exporta con muchos menos problemas datos a archivos planos que nos permite mover tablas entre instancias, esto ya existía pero ahora es mucho más consistente.
  • Ahora nos permite usar la cláusula WITH en el PL/SQL
  • Columnas Invisibles – ahora nos permite tener columnas en tablas que no aparecen en un select común, para consultar la información de estas columnas invisibles, hay que hacer un select específicamente al nombre de la columna.

Certificaciones:

Con la nueva salida de la nueva base de datos, va a empezar a salir una nueva lista de certificaciones a tomar, hasta ahora solo han liberado 1 certificación nueva, la 1Z0-457 “Oracle Enterprise Manager 12c Essentials” que personalmente no me gusta tanto que Oracle ponga tanto énfasis en el Enterprise Manager por que complica más la administración en vez de facilitarla.

Aquí está la lista de temas que se verán en la certificación.

Como hacer un respaldo en Oracle usando RMAN de la forma mas sencilla

respaldo en oracle usando rman

Respaldo en Oracle usando RMAN:

Para descargar este tutorial en un PDF mucho mas fácil de seguir:
RespaldoyRecuperacionRMAN

 

Escribo este artículo porque al buscar sobre respaldos de Oracle o son extensas explicaciones de cómo funciona RMAN, solo hablare de lo mínimo necesario para tener un respaldo

  • Los scripts están pensados para implementarse en Unix/linux
  • Respaldo completo de la base de datos completa respaldando todos los datafiles
    Respaldo del controlfile
  • Respaldo completo de todos los archivelogs, permitiendo la posibilidad de mover la BD a un punto en el tiempo hacia atrás (definido por el tiempo de retención)
  • Todos los archivos de respaldos ya se encuentran compresos al nivel más eficiente
  • El script configura un tiempo de retención de 7 días, modifica esto dependiendo del tamaño de la BD
  • La ubicación donde guarda los archivos de respaldo no sigue las recomendaciones OFA, los guarda en /Backup/diario por conveniencia de la SAN
  • Dominando los pasos de recuperación se puede recuperar, mover o clonar la base de datos en 15-60 min dependiendo del tamaño de la BD

Read more

Como cambiar el nombre a una base de datos en Oracle 11g fácilmente usando NID

cambiar el nombre a una base de datos
cambiar el nombre a una base de datos

Existen principalmente dos maneras de cambiar el nombre a una base de datos en Oracle 11g, la forma de “la vieja escuela” y la nueva manera.

El cambio de la vieja escuela es mediante “recreando los controlfiles” y el nuevo método es con el comando “nid”; personalmente siempre estuve acostumbrado a recrear los controlfiles es más tardado e involucra un poco más de riesgo pero por lo menos sabes lo que estás haciendo, pero para los novatos es mucho más fácil, rápido y seguro hacerlo mediante el comando nid, a continuación pongo los pasos a seguir:

NOTA:
para realizar estas acciones debes de tener el conocimiento básico de Oracle como:

  • ¿Qué es un tnsnames?
  • ¿Qué es una instancia?
  • ¿Qué es el archivo de parámetros?
  • ¿Cómo modifico las variables de ambiente?
  • Etc.

cambiar el nombre a una base de datos

Ya valide este tutorial, pero aun así no me hago responsable si algo llega a salir mal

  • Paso 1: Respalda la base de datos
    (te recomiendo el método que publique en mi página)
  • Paso 2: apaga la base de datos mediante un “shutdown immediate” y cerciórate que se apague limpiamente (si marca algún error al apagarse no prosigas hasta que se apague normalmente), después de apagarla, monta la base de datos con “startup mount”:

Read more

Problema pagina principal Business Intelligence

Me ocurrio un problema de forma repentina y tarde en encontrar la respuesta.

Sintoma:
Al momento de entrar a la pagina del Business Intelligence de Oracle aparece la pagina principal en blanco, busque en los logs y no encontraba nada, se quedaba pasmada en la URL http://server:8000 / OA_HTML/AppsLocalLogin.jsp

Read more

Querys utiles para los DBA’s

Recopilado de querys para la correcta administracion de las bases de datos Oracle 9i, 10g, 11g

Consulta Oracle SQL sobre la vista que muestra el estado de la base de datos:
select * from v$instance

Consulta Oracle SQL que muestra si la base de datos está abierta
select status from v$instance

Consulta Oracle SQL sobre la vista que muestra los parámetros generales de Oracle
select * from v$system_parameter

Consulta Oracle SQL para conocer la Versión de Oracleselect value from v$system_parameter where name = ‘compatible’

Consulta Oracle SQL para conocer la Ubicación y nombre del fichero spfile
select value from v$system_parameter where name = ‘spfile’

Consulta Oracle SQL para conocer la Ubicación y número de ficheros de control (Controlfiles)
select value from v$system_parameter where name = ‘control_files’

Consulta Oracle SQL para conocer el Nombre de la base de datos
select value from v$system_parameter where name = ‘db_name’

Read more

Variables de ambiente de Oracle 11g

para tener la base de datos Oracle 11g funcionando correctamente, hay que tener definido una serie de variables dentro del archivo de entorno de la sesion de usuario.

Por ejemplo, tomando que el usuario que instalo la aplicacion se llama oracle y la base de datos se llama EBSTEST , las variables de entorno deben de ser asi.

Read more

Configurar replicacion en MySQL

Instalacion de la replicacion de MySQL en ambiente maestro-esclavo para alta disponibilidad

Crear instancia de DataGuard

Nota: la instalacion de Oracle RDBMS se instala en la BD primaria y Standby, en este caso en la standby solo tiene la instalacion. …

Desarrollo de aplicación de reconocimiento de rostros y emociones

Este es uno de los desarrollos hechos por nuestro equipo, tiene como funcionalidad ser un demo de la capacidad de nuestra …