elasticsearch[13241]: [warning] /etc/init.d/elasticsearch: No java runtime was found

Decidimos realizar la instalacion de ElasticSearch para poder realizar el indexado de tablas enormes dentro de nuestro hive.

La instalacion fue transparente, pero luego de levantar el servicio nos mostraba el siguiente error cuando pediamos un  status de nuestro servicio.

Corroboramos que las variables estuvieran bien y por sobre todo este instalado java.

Error que aparecio.

root@srvhadoopt3:~# service elasticsearch status
● elasticsearch.service - LSB: Starts elasticsearch
   Loaded: loaded (/etc/init.d/elasticsearch; bad; vendor preset: enabled)
   Active: active (exited) since Thu 2017-10-12 13:37:34 ART; 6min ago
     Docs: man:systemd-sysv-generator(8)

Oct 12 13:37:33 srvhadoopt3 systemd[1]: Starting LSB: Starts elasticsearch...
Oct 12 13:37:34 srvhadoopt3 elasticsearch[13241]: [warning] /etc/init.d/elasticsearch: No java runtime was found
Oct 12 13:37:34 srvhadoopt3 systemd[1]: Started LSB: Starts elasticsearch.

Solucion

Como solucion,

Hive error: The string “–” is not permitted within comments

Error on Hive when try start the service.

Apache Hive, es una infraestructura de almacenamiento de datos construida sobre Apache Hadoop, para proporcionar la agrupación, consulta, y análisis de datos.

Podriamos decir que es el warehouse de Apache Hadoop.

Luego de hacer la configuracion posterior al despligue de Apache HIVE,  decido loguearme en el jutar el comando hive econtrandome con el siguiente error.

hadoop@srvhadoopt2:/opt/hadoop/hive$ hive
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/hadoop/apache-hive-2.1.1-bin/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/var/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
[Fatal Error] hive-site.xml:502:85: The string "--" is not permitted within comments.
Exception in thread "main" java.lang.RuntimeException: org.xml.sax.SAXParseException; systemId: file:/opt/hadoop/apache-hive-2.1.1-bin/conf/hive-site.xml; lineNumber: 502; columnNumber: 85; The string "--" is not permitted within comments.
        at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2696)
        at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2553)
        at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2426)
        at org.apache.hadoop.conf.Configuration.get(Configuration.java:1240)
        at org.apache.hadoop.hive.conf.HiveConf.getVar(HiveConf.java:3558)
        at org.apache.hadoop.hive.conf.HiveConf.getVar(HiveConf.java:3622)
        at org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:3709)
        at org.apache.hadoop.hive.conf.HiveConf.(HiveConf.java:3652)
        at org.apache.hadoop.hive.common.LogUtils.initHiveLog4jCommon(LogUtils.java:82)
        at org.apache.hadoop.hive.common.LogUtils.initHiveLog4j(LogUtils.java:66)
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:657)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:234)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:148)
Caused by: org.xml.sax.SAXParseException; systemId: file:/opt/hadoop/apache-hive-2.1.1-bin/conf/hive-site.xml; lineNumber: 502; columnNumber: 85; The string "--" is not permitted within comments.
        at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
        at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
        at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:150)
        at org.apache.hadoop.conf.Configuration.parse(Configuration.java:2531)
        at org.apache.hadoop.conf.Configuration.parse(Configuration.java:2519)
        at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2587)
        ... 17 more

Analizando el problema

Me posiciono el e $HOME que designe

Dataflow | How to Install and configure NIFI

Que es y para que ?

Nifi es una herramienta web que podemos utilizar para realizar la ingesta de datos.

Nos permite escuchar, formatear y hacer un primer filtro de los mensajes (datos) recibidos mediante varios de sus procesadores embebidos.

Asi mismo procesar y distribuir datos.

Descarga de Packages y chequeos

Descargamos los packages desde :

https://nifi.apache.org/

Alli enconraremos diferenetes versiones de producto.

Luego procedemos a realizar un CHECKSUM para poder verificar que es un package seguro y que no sufrio alteraciones en el camino.

[amercado.nbfor101200] ➤ md5sum nifi-1.4.0-bin.tar.gz
28c5511073452cf59e9ec1b278a1a7e4 nifi-1.4.0-bin.tar.gz

Instalacion

Descomprimimos el package en el path

How to Install Kibana with Debian Packages

Luego de haber realizado mi instalación de Elastic Search, decidí montar un plugin llamado  Kibana, para poder visualizar y explorar datos que se encuentran indexados en  ElasticSearch.

Podemos decir también , que como en el pasado con otros productos open source aparecieron siglas como LAMP (Linux/Apache/MySQL/PHP) para esta familia de elastic, contenemos el stack ELK:

  • Elasticsearch
  • Logstash
  • Kibana

En mi caso, decidi comenzar la instalación de forma manual , con pkgs de Debian en mi Ubuntu server 16.

Descargamos los paquetes del repositorio oficial:

hadoop@srvhadoopt3:$ wget https://artifacts.elastic.co/downloads/kibana/kibana-5.6.3-amd64.deb
--2017-10-12 16:59:33--  https://artifacts.elastic.co/downloads/kibana/kibana-5.6.3-amd64.deb
Resolving proxgue.garba.com.ar (proxgue.garba.com.ar)... 10.0.60.3
Connecting to proxgue.garba.com.ar (proxgue.garba.com.ar)|10.0.60.3|:8080... connected.
Proxy request sent, awaiting response... 200 OK
Length: 52533368 (50M) [application/octet-stream]
Saving to: ‘kibana-5.6.3-amd64.deb’

kibana-5.6.3-amd64.deb                          100%[====================================================================================================>]  50.10M  1.34MB/s    in 65s

2017-10-12 17:00:40 (784 KB/s) - ‘kibana-5.6.3-amd64.deb’ saved [52533368/52533368]

Verifico que el paquete sea seguro y que contiene el hash correspondiente

hadoop@srvhadoopt3:$ sha1sum kibana-5.6.3-amd64.deb
12821507ace7c49eea5011e360f8353007f0ab90  kibana-5.6.3-amd64.deb

Bien, una vez descargado , procedemos con la instalacion del package:

Failed to resolve config path [“/usr/share/elasticsearch/config/elasticsearch.yml”]

Al finalizar la instalación de elasticsearch decidí instalar los plugins:

  • mobz/elasticsearch-head
  • royrusso/elasticsearch-HQ

Pero por alguna razon, el comando no se ejecutaba correctamente y me arrojaba el siguiente error:

root@srvhadoopt3:~# /usr/share/elasticsearch/bin/plugin install -DproxyPort=8080 -DproxyHost=proxgue.garba.com.ar royrusso/elasticsearch-HQ
Error: Could not find or load main class "-DproxyPort=8080"
root@srvhadoopt3:~# /usr/share/elasticsearch/bin/plugin install DproxyPort=8080 DproxyHost=proxgue.garba.com.ar royrusso/elasticsearch-HQ
Exception in thread "main" org.elasticsearch.env.FailedToResolveConfigException: Failed to resolve config path ["/usr/share/elasticsearch/config/elasticsearch.yml"], tried file path ["/usr/share/elasticsearch/config/elasticsearch.yml"], path file ["/usr/share/elasticsearch/config"/"/usr/share/elasticsearch/config/elasticsearch.yml"], and classpath
at org.elasticsearch.env.Environment.resolveConfig(Environment.java:291)
at org.elasticsearch.node.internal.InternalSettingsPreparer.prepareSettings(InternalSettingsPreparer.java:95)
at org.elasticsearch.plugins.PluginManager.main(PluginManager.java:396)

Análisis

Investigando y analizando la salida de la ejecución del comando, con bash -x por delante, mas los concejos de gente de la comunidad, decidimos cambiar en el script el comando exec y reemplazarlo con el comando echo.

Ese cambio,  me retorno la sentencia para ser ejecutada.

Resolución

Editamos el archivo de configuración /usr/share/elasticsearch/bin/plugin, y vamos al

How to Deploy New RDP on OBIEE

Esta semana estuve trabajando en unas dimensiones de Negocios.

Parte de los cambios se introdujeron en un nuevo versionado del RDP, para ser deployado.

Que es el RDP ?

El archivo RPD (Repository Metadata), es el que contiene el modelo de Datos, Data Source Details, Calculos Customizados, Detalles Dimensionales y tambien la forma en como podemos explotar mejor los recursos en el OBIEE’s reporting capability.

Comenzamos con el Deploy

Acceso y desbloqueo

En el primer paso, ingresamos al aplicativo con el usuario que esta designado para realizar el deploy:

Loguearnos en la URL, con el usuario de DEPLOY.

Cuando ingresamos, vamos a seleccionar Business Intelligence, para poder acceder al menu de despliegue.