Compilar e instalar InfluxDB en Frambuesa Pi

Cuando se habla de base de datos, Tal vez eres como yo, ¿Crees que inmediatamente SQLite, MySQL y MariaDB. Sin embargo, existen otras herramientas que bien podrían ser útiles si necesita guardar datos de otras sondas o sensores. InfluxDB podría ser de esas bases que harán tu vida más fácil !

InfluxDB Raspberry Pi home Server

InfluxDB es una base de datos cuyo diseño está optimizado para guardar los datos de los sensores, métricas o eventos. Cada línea registrada tiene una clave principal que es la fecha del evento. La base será capaz de manejar sin tener una pérdida de rendimiento optimizado millones de registros.

Algunas de las características incluidas en la base permiten agregar los datos de una manera muy sencilla. Por ejemplo puede por ejemplo calcular directamente en la consulta un promedio de ventana de tiempo. El ejemplo siguiente te dará el valor promedio por ventana de 30 minutos en el último día :

Seleccione es decir(valor) De cpu_idle 
Grupo por tiempo(30m) donde tiempo > Ahora() - 1d

InfluxDB Raspberry Pi home Server

Una vez instalado, la base tiene una interfaz gráfica integrada que permite para gestionar bases de datos, los usuarios y explorar sus datos sin necesidad de una herramienta adicional :

InfluxDB Raspberry Pi home Server

Usted encontrará toda la información sobre la página que describe InfluxDB.

  1. Definir el sistema local raspi-config por ejemplo.
  2. Instalar los paquetes necesarios para compilar
    apt-get install gawk bzr mercurial protobuf compilador flex bison valgrind g    hacen autoconf libtool libz-dev libbz2-dev rizo rpm build-essential git wget libgflags-dev
  3. Instalador GVM
    Bash < <(rizo -s -S -L https://RAW.githubusercontent.com/moovweb/GVM/Master/binscripts/GVM-Installer)
  4. Initialiser les variables d'environnements de GVM
    fuente /root/.gvm/scripts/gvm
  5. Instalador ir 1.3
    GVM instalar go1.3
  6. Versión por defecto establecido 1.3 GB
    GVM uso go1.3 - por defecto
  7. Instalador les suivants plugins
    Ve a code.google.com/p/goprotobuf/{proto,Protocolo-gen-go}
  8. Instalador de GCC 4.9:
    1. Modificador le archivo/etc/apt /sources.List mediante la adición de contenido

      Deb http://mirrordirector.Raspbian.org/Raspbian/ sibilancias contrib principal rpi non-free deb http://Archive.Raspbian.org/Raspbian Sibilancias contrib principal no-libre rpi
      # Repositorio de fuentes para agregar deb-src http://Archive.Raspbian.org/Raspbian sibilancias contrib principal rpi non-free deb http://mirrordirector.Raspbian.org/Raspbian/ deb Jessie contrib principal no-libre rpi http://Archive.Raspbian.org/Raspbian Jessie contrib principal no-libre rpi
      # Repositorio de fuentes para agregar deb-src http://Archive.Raspbian.org/Raspbian Jessie contrib principal no-libre rpi
    2. Modificador le fichier Preferences et Introduzca el contenido siguiente
      Paquete: *
      Pino: liberar n = Pin-Priority asmático: 900
      Paquete: *
      Pino: liberar n = jessie Pin-Priority: 300
      Paquete: *
      Pino: liberar o = Raspbian Pin-Priority: -10
    3. Los paquetes de actualización
      apt - actualización
    4. Instalar gcc y g
      apt - get install gcc g    jessie t

      Fuente : http://somewideopenspace.WordPress.com/2014/02/28/GCC-4-8-on-raspberry-PI-Wheezy/

  9. Aumentar el tamaño del sistema de archivos montado en /tmp añadiendo la siguiente línea a /etc/fstab
    tmpfs/tmp tmpfs predeterminados,noatime,nosuid,tamaño = 400 m 0 0
  10. Reiniciar
    reinicio del sistema
  11. Preparar la estructura para la compilación
    mkdir gocodez export GOPATH = $HOME/gocodez mkdir -p $GOPATH/src/github.com/influxdb cd $GOPATH/src/github.com/influxdb
    
  12. Descargue la última versión de las fuentes
    wget http://S3.amazonaws.com/influxdb/influxdb-latest.src.tar.gz
  13. Descomprima el archivo y mover las fuentes
    mkdir influxdb cd influxdb tar zxvf.../influxdb-latest.src.tar.gz cp -R src/github.com/* $GOPATH/src/github.com/ cd $GOPATH/src/github.com/influxdb/influxdb
  14. Iniciar la configuración
    ./Configura
  15. Edite el archivo Makefile para hacer el brazo de arquitectura. Esta es la línea 16 archivo. Reemplazar :
    arco = amd64

    por

    arco = brazo
  16. Edite el archivo Makefile Vierta desactivar RocksDB à la ligne 112. Reemplazar :
    rocksdb = yes
    por
    rocksdb = no
  17. Edite el archivo Makefile pour mettre en comentario la línea 233. Reemplazar :
    $(GB) construir o punto de referencia-almacenamiento $(GO_BUILD_OPTIONS) github.com/influxdb/influxdb/Tools/Benchmark-Storage
    por
    #$(GB) construir o punto de referencia-almacenamiento $(GO_BUILD_OPTIONS) github.com/influxdb/influxdb/Tools/Benchmark-Storage
  18. Lanzamiento de la compilación
    hacer construir
  19. Ahora puedes instalar InfluxDB
    hacer instalar

Ahora tienes tu sistema listo para iniciarse. Para esto usted puede encontrar en Esta página toda la información que usted puede seguir para probar su nueva base de datos.

Si usted quiere construir el paquete Debian para luego desplegar a otro frambuesa :

  1. Instalar Ruby
    apt-get install -t jessie ruby ruby-dev
  2. Instalador FPM
    gem install fpm
  3. Instalador el gestionnaire de paquets de RVM Ruby
    rizo-l-get.rvm.io | Bash estable s - rieles
  4. Tienes un error en la clave GPG
    GPG--keyserver hkp://keys.GnuPG.NET - recv-keys D39DC0E3

    y reinicie la instalación

    rizo-l-get.rvm.io | Bash estable s - rieles
  5. Editar el fichero Makefile para definir versión siendo compilado. En el momento de la escritura, la versión es la 0.8.6. Cambie la línea 265 :
    versión =

    por

    versión = 0.8.6
  6. Editar el fichero Makefile para establecer el nombre de los paquetes. Sustitución de líneas 294 y 295 :
    rpm_package = paquetes/influxdb-$(@package_version)-1.Armel.rpm
    debian_package = $ paquetes/influxdb_(Versión)_armel.deb

    por

    rpm_package = paquetes/influxdb-$(@package_version)-1.armhf.rpm
    debian_package = $ paquetes/influxdb_(Versión)_armhf.deb
  7. Añadir raíz en grupo rvm
    raíz de rvm un usermod g
  8. Desconecte y vuelva a conectar
  9. Inicializar GOPATH
    exportación GOPATH = $HOME/gocodez cd $GOPATH/src/github.com/influxdb
  10. Iniciar la creación del paquete
    hacer paquete
  11. El paquete estará en el directorio de paquetes (o out_rpm si falló la jugada). Tiene un hermoso .deb para instalar

Posiblemente le gustan también....

  • Bo

    Muchas gracias por tu trabajo!! Acabo de descargar el archivo binario para mi Olinuxino A20 y parece que funciona perfectamente (en cuanto puedo decir por ahora).

  • Dirk

    Hola, Recibo el siguiente error al ejecutar. / configure

    comprobación de sed -i… usando sed -i
    comprobación de protocolo… No encontrado
    Configura: error: Por favor, instale protobuf antes de intentar construir InfluxDB

    ¿Qué debo hacer?

    Dirk saludos

    • Dirk

      Vale, en el primer intento que se me olvidó el paso 7, Pero incluso después de hacer que todavía me da el mismo error (incluso después de reiniciar)

      • Hola,
        Parece que paso 2 No se ha ejecutado o que faltaban algunos paquetes. Puede usted por favor vuelve a ? El error procede de un paquete perdido (protobuf-compilador)

        • Dirk

          Hola,
          En el paso 2 Tengo un montón de otros errores:

          Nota, seleccionar ' zlib1g-dev’ en lugar de ' libz-dev’
          Valgrind paquete no está disponible, Pero es referido por otro paquete.
          Esto puede significar que el paquete está perdido., ha sido sustituido, Oro
          Sólo está disponible desde otra fuente

          Gawk paquete no está disponible, Pero es referido por otro paquete.
          Esto puede significar que el paquete está perdido., ha sido sustituido, Oro
          Sólo está disponible desde otra fuente

          Bzr paquete no está disponible, Pero es referido por otro paquete.
          Esto puede significar que el paquete está perdido., ha sido sustituido, Oro
          Sólo está disponible desde otra fuente
          Sin embargo los siguientes paquetes reemplazarlo:
          Python-bzrlib bzr-doc

          Paquete protobuf-compilador no está disponible, Pero es referido por otro paquete.
          Esto puede significar que el paquete está perdido., ha sido sustituido, Oro
          Sólo está disponible desde otra fuente

          Paquete flex no está disponible, Pero es referido por otro paquete.
          Esto puede significar que el paquete está perdido., ha sido sustituido, Oro
          Sólo está disponible desde otra fuente
          Sin embargo los siguientes paquetes reemplazarlo:
          libfl-dev

          E: Paquete ' gawk’ No tiene ningún candidato de instalación
          E: Paquete ' bzr’ No tiene ningún candidato de instalación
          E: Paquete ' protobuf-compilador’ No tiene ningún candidato de instalación
          E: Paquete ' flex’ No tiene ningún candidato de instalación
          E: Paquete ' valgrind’ No tiene ningún candidato de instalación

          Tampoco que he olvidado estos mensajes ayer, o no aparecen…

          • ¡ Ay ! ¿Has usado Raspbian ? Ejecutar una actualización de paquetes ? Eso es realmente extraño. Última solución : descargar el paquete deb compilado para pre e instalarlo …

  • chrysaor94

    Chris,
    Compilación de Maison de niveau de j ' ai une erreur au :

    hacer[1]: Sale del directorio ' /tmp/leveldb.influxdb.arm’
    /root/.GVM/gos/GO1.3/bin/go conseguir - etiquetas ' hyperleveldb’ -d -t github.com/influxdb/influxd b /…
    # CD /root/gocodez/src/github.com/influxdb/influxdb; Maestro git checkout
    error: Los cambios locales en los siguientes archivos se sobrescribirán con caja:
    Makefile.in
    Release.sh
    scripts/post_install.sh
    Por favor,, cometer sus cambios o esconderlos antes de que puede cambiar ramas.
    Abortar
    paquete launchpad.net/gocheck
    importaciones code.google.com/p/go.crypto/bcrypt
    importaciones golang.org/x/crypto/blowfish
    importaciones code.google.com/p/goprotobuf/proto
    importaciones code.google.com/p/log4go
    importaciones code.google.com/p/gogoprotobuf/proto
    importaciones github.com/influxdb/influxdb/testdata: estado de salida 1
    paquete launchpad.net/gocheck
    importaciones code.google.com/p/go.crypto/bcrypt
    importaciones golang.org/x/crypto/blowfish
    importaciones code.google.com/p/goprotobuf/proto
    importaciones code.google.com/p/log4go
    importaciones code.google.com/p/gogoprotobuf/proto
    importaciones github.com/bmizerany/assert
    importaciones github.com/kr/pretty
    importaciones github.com/kr/text
    importaciones github.com/stretchr/testify/assert
    importaciones github.com/rakyll/statik/example/statik
    importaciones github.com/rakyll/statik/example/statik
    importaciones github.com/rakyll/statik/example/statik: No se puede encontrar el paquete “github.c om/rakyll/statik/ejemplo/statik” en cualquiera de:
    /root/.GVM/gos/GO1.3/src/pkg/github.com/rakyll/Statik/example/Statik (de $GO raíz)
    /root/gocodez/src/github.com/rakyll/Statik/example/Statik (de $GOPATH)
    Makefile:221: receta para el objetivo ' dependencias’ No se pudo
    hacer: *** [dependencias] Error 1
    root@raspberrypi:~/gocodez/src/github.com/influxdb/influxdb#

    Cuando hago una búsqueda en el error...> No se puede encontrar el paquete “github.c om/rakyll/statik/ejemplo/statik”
    Caigo en él https://github.com/rakyll/statik/issues/9. Pero me habla más que ca.
    No sé si ya te topaste con este problema ? Tengo la impresión de que el fichero Makefile ha evolucionado un poco desde la versión que ha compilado ? En su punto 5 la construcción del paquete se refiere a la línea 265, apagado en el makefile excepcional, CA parece corresponder a la 259.

    No sé si usted tiene una idea ?
    Gracias de antemano.

    • Hola
      Exacto, la versión actual es la 0.8.8 mientras que he recopilado la 0.8.6. Espero que el 0.9 ¿Quién utiliza otro sistema de almacenamiento.

      ¿Has probado a renombrar el directorio ejemplo/statik en ejemplo/_statik ?

      • chrysaor94

        Hola,
        El problema es que no hay ningún directorio “Statik” Sub “github.com/rakyll/Statik/example/”. En realidad, Tengo la impresión de que el script “Main.go” debe ejecutar para generar el paquete estático. Esto es lo que entiendo por mirando la descripción en Github (https://github.com/rakyll/statik/tree/master/example).

        • En mi opinión, será necesario modificar el script para evitar el error. Si encuentras la solución puede usted compartir aquí ? Merci 😉

  • Nicolae Surdu

    Hola,

    I’ve installed your compiled binaries on a raspberry pi, but when I try to runinfluxit sais the command is not found. Any ideas? Thank you very much for your time!

    • Hola. Did you search for the binary in the subfolders where you compiled influxdb ?
      By the way, please have a look at this page where you have information about the latest InfluxDB version and a link to build it on the Raspberry Pi using the Go language which is the official one for next versions of InfluxDB
      Hope it helps !
      Chris

  • Peter Hartmann

    The errors in this documentation make it very hard to reproduce the installation. E.g. In Step 2 the upt-get C++ is missing the plus signs, in Step 8 the /etc/apt/sources.list has line breaks missing, and Step 7 is obsolete, because things moved to gitub. Please fix!