Error: MainThread agent ERROR Could not determine hostname or ip address

Hola Mundo:

Cloudera Manager nos facilita el trabajo en un cluster de Hadoop. Esto es un hecho, pero la instalación puede complicar un poco las cosas.

Partamos de la base que Cloudera Manager es como una interfaz de administración que se instala sobre el nodo principal del cluster y sirve para administrar los trabajos y el resto de los nodos que forman parte del cluster. ¿Ok?

Ofrece una interfaz web para la administración y para la instalación. Lo bueno de la instalación, es que se le indican las máquinas que formarán parte del cluster para que puedan ser administradas y solo el programa de instalación se encarga de hacer el deployment. La instalación es muy sencilla y fluida siempre y cuando no se encuentre un error como este:

MainThread agent ERROR Could not determine hostname or ip address

El error está porque no puede asociar la dirección ip al hostname. Esto puede ser por un DNS mal configurado o, derechamente, por la inexistencia de un DNS.
Este error es fácil de solucionar. En cada nodo hacer los siguientes pasos:

  • Editar archivo /etc/hosts y agregar la ip y el nombre de la maquina
  • Editar el archivo /etc/cloudera-scm-agent/config.ini y en server_host poner el nombre de la maquina

Si no se conoce el nombre de la máquina, ejecutar la sentencia hostname y arrojará el nombre

Con esto ya se puede seguir con la instalación de Cloudera Manager.

¡Chau!

Solucionar error de idioma y localizacion de SQL Server en la instalacion

Hola Mundo.

Después de algunas semanitas de ausencia vuelvo otra vez con un tip para solucionar un problema bastante recurrente en la instalacion de SQL Server cuando se realiza sobre Windows que no coincide con el medio de instalación.

Este error aparece por primera vez en SQL Server 2008 R2 por una nueva política de localización.

El error es este:

Error Localizacion SQL Server Instalacion
Error Localizacion SQL Server Instalacion

El error dice: SQL Server setup media does not support the language of the OS or does not have ENU localized files. Use the matching language-specific SQL Server media or change the OS locale through control panel.

Solucionarlo es muy simple:

  • Ir a Panel de Control
  • Abrir propiedades de Region y Localización
  • Cambiar el formato y la ubicacion a la raiz del idioma del sistema operativo. Por ejemplo, si estás usando es-cl (Español de Chile) debes cambiarlo a es-es (Español de España).
  • Aplicar cambios, guardar y cerrar.
  • Volver a intentar la instalación.

Con este workaround no debieras tener problemas.

 

 

 

Error Foreach en C# al recorrer un DataSet

Estaba programando en C# para agilizar la mente y al querer recorrer un dataset con un foreach, me encuentro con el siguiente error:

foreach statement cannot operate on variables of type ‘System.Data.DataSet’ because ‘System.Data.DataSet’ does not contain a public definition for ‘GetEnumerator’

Es un error bastante simple de solucionar.  Solo basta agregar Tables[0].Rows al objeto que se va a recorrer. Por ejemplo

foreach con error:
foreach(DataRow linea in MiDataSet)
{
bla bla
}

foreach corregido:
foreach(DataRow linea in MiDataSet.Tables[0].Rows)
{
bla bla
}

Simple.

¡Chau!

Error de SQL Server Configuration Manager: Cannot connect to WMI provider – Invalid class [0x80041010]

Hoy quise abrir mi SQL Server Configuration  Manager y me salió el siguiente error:

Error de SQL Server Configuration Manager
Error de SQL Server Configuration Manager

Nunca había visto este error y tampoco mucha idea tenía de como solucionarlo. Así que me puse a investigar en internet y vi que le había pasado a usuarios que tienen SQL 2005, SQL 2008 y SQL 2008 R2 y a mi me pasó con SQL 2012.

Este link fue bastante referencial: http://support.microsoft.com/kb/956013
Aunque la solución estaba para SQL 2008, la acomodé para SQL 2012 y esta es:

Abrir una ventana del cmd con permisos de administrador y escribir lo siguiente:
mofcomp.exe "C:Program Files (x86)Microsoft SQL Server110Sharedsqlmgmproviderxpsp2up.mof"

Un pantallazo:

Solucion
Solucion

Luego de esto, volver a abrir SQL Server Configuration Manager y correrá sin problemas.

 

Chau!

 

Los puntos y comas decimales: Víctimas de la cultura

… Y lo peor de todo, es que somos víctimas de eso nosotros también.

Hola Mundo, más botado no puede quedar mi blog. He decidido volver con un tema que me dió dolores de cabeza varios días y tiene que ver con las diferencias culturales y las matemáticas.

Me encontraba programando una aplicación sencilla que hace un formula sencilla para el cálculo de IMC (Índice de Masa Corporal). Esta fórmula  exige ingresar un valor decimal (una expresión numérica que contiene decimales).

El problema es que el lenguaje no tiene control sobre la realización de este tipo de cálculo, sino que para nosotros puede que la coma sea un indicador decimal o que sea el punto, pero de cualquier modo siempre va a ser diferente con otras culturas (como la inglesa).

Gracias a Dios, Alá, El Gran Arquitecto, belcebú (no sé a quien le rinden culto) este problema fue solucionado con una clase ya perteneciente al framework de .NET.

En VB.NET el tema es sencillo

  1. Importar System.Globalization
  2. Agregar estas líneas al método load o loaded:

System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo(«en-US»)
System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator = «.»

Con eso, el . siempre será un separador decimal en nuestra aplicación.