/
Building ELK (ElasticSearch, LogStash and Kibana) on Aarch64
Building ELK (ElasticSearch, LogStash and Kibana) on Aarch64
Introduction
Build
Sources
- Upstream: https://git.linaro.org/leg/bigdata/elasticsearch.git/
https://git.linaro.org/leg/bigdata/logstash.git
https://git.linaro.org/leg/bigdata/kibana.git - The ELK stack version for erp17.08 is v5.4.1
Environment
- Docker: Debian 8
Pre-Requisites
Docker, git
Dependencies
Install Prerequisites
# install prerequisites echo "deb http://http.debian.net/debian jessie-backports main" | tee /etc/apt/sources.list.d/backports.list sudo apt-get update -y sudo apt-get install -y -t jessie-backports openjdk-8-jdk git build-essential rubygems texinfo locales-all automake autoconf libtool curl zip unzip rpm texinfo locales-all maven ant tar wget python2.7 python-requests wget https://services.gradle.org/distributions/gradle-3.5.1-bin.zip -O /tmp/gradle-3.5.1-bin.zip cd ${HOME} && unzip /tmp/gradle-3.5.1-bin.zip && rm /tmp/gradle-3.5.1-bin.zip ln -s gradle-3.5.1 gradle # install docker engine. The easiest way to install docker is to use get.docker.com script. Download and run get.docker.com script: curl -sSL https://get.docker.com/ | sh
Build Steps
Following scripts are expected to run in a debian-8 container.
Building ElasticSearch
Debian
# setup environments export LANG="en_US.UTF-8" export PATH=${HOME}/gradle/bin:$PATH export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64 export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" # setup JAVA_HOME cd /usr/lib/jvm/java-8-openjdk-* export JAVA_HOME=${PWD} # clone the ElasticSearch v5.4.1 git clone --depth 1 https://git.linaro.org/leg/bigdata/elasticsearch.git -b v5.4.1 ${WORKSPACE}/elasticsearch cd ${WORKSPACE}/elasticsearch # okay everything is in place gradle assemble -Dbuild.snapshot=false
Building Logstash
Debian
# install prerequisites sudo gem install rake sudo gem install bundler # setup environments export RELEASE=1 # clone the Logstash definitions git clone --depth 1 https://git.linaro.org/leg/bigdata/logstash.git -b v5.4.1 ${WORKSPACE}/logstash cd ${WORKSPACE}/logstash # okay everything is in place rake bootstrap rake plugin:install-default rake artifact:deb
Building Kibana
Debian
# install prerequisites sudo gem install fpm -v 1.5.0 sudo gem install pleaserun -v 0.0.24 sudo ln -s /usr/bin/python2.7 /usr/bin/python curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash source ${HOME}/.bashrc # clone the Kibana definitions git clone --depth 1 https://git.linaro.org/leg/bigdata/kibana.git -b v5.4.1 ${WORKSPACE}/kibana curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash source ${HOME}/.profile #Install the version of node.js listed in the .node-version file (this can be easily automated with tools such as nvm and avn) nvm install $(cat ${WORKSPACE}/kibana/.node-version) cd ${WORKSPACE}/kibana #Install npm dependencies npm install npm rebuild node-sass npm run build -- --deb --release mkdir -p out cp -a ${WORKSPACE}/kibana/target/kibana-*-arm64.deb* out/
Patches
Elasticsearch
Enable ARM64 support in SecComp
Logstash
Support JRuby 9K for Logstash v5.4.1
Kibana
Support packaging archive on arm64
Support create deb/rpm packages for arm64
Issues and Resolutions
JIRA Reference:
Built Artifacts
, multiple selections available,
Related content
Building ELK (ElasticSearch, LogStash and Kibana) on Aarch64
Building ELK (ElasticSearch, LogStash and Kibana) on Aarch64
More like this
.Building ELK (ElasticSearch, LogStash and Kibana) on Aarch64 v1.0
.Building ELK (ElasticSearch, LogStash and Kibana) on Aarch64 v1.0
More like this
Documentation
Documentation
More like this
.Documentation v1.0
.Documentation v1.0
More like this
ERP 18.06 Building and testing BigData components using Bigtop on Debian-9:AArch64
ERP 18.06 Building and testing BigData components using Bigtop on Debian-9:AArch64
More like this
ERP 18.06 Building and testing BigData components using Bigtop on Debian-9:AArch64
ERP 18.06 Building and testing BigData components using Bigtop on Debian-9:AArch64
More like this