Setup single node elasticsearch, logstash and Kibana4 in aws ec2


System Settings

1.To change hostname 

  Edit host name file
  sudo nano /etc/hostname

  Add these contents in hostname
  ec2-54-XXX-XXX-XX.compute-1.amazonaws.com


2. To change hosts file 
     To edit hosts file
     sudo nano /etc/hosts
     Add ip address and hostname in hosts file
      10.200.1.X ec2-XX-XX_XX.compute-1.amazonaws.com

Java installation

1. To download java 

To download 1.7 use this
   wget -c --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http %3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-linux-x64.tar.gz" –output-document="jdk-7u75-linux-x64.tar.gz"

2. Extract jdk in jvm folder  

1. Create folder jvm in /usr/lib/ path
     sudo mkdir jvm
2. Move jdk file to jvm and extract it
     sudo mv jdk-7u75-linux-x64.tar.gz /usr/lib/jvm

3.Set java home and alternatives 

   To set java home
      1. Open /etc/bash.bashrc add these contents in bash.bashrc file
              export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_75
              export PATH=$PATH:$JAVA_HOME/bin



Run bash.bashrc 
    source /etc/bash.bashrc
Set java alternatives
 sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_75 /bin/java" 1
 sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_75/bin/javac" 1

Download & install elasticsearch and logstash

Download Logstash 1.4.2 and elasticsearch 1.3.2 use this link

Install logstash and elasticsearch 

  sudo dpkg -i elasticsearch-XX.deb
  sudo dpkg -i logstash-1-XX.deb

Install aws plugin

In aws need to install aws plugin for to run elasticsearch
To download aws plugin use this link   

Install plugin 

   cd /usr/share/elasticsearch
For elasticsearch 1.3.2
   sudo bin/plugin install elasticsearch/elasticsearch-cloud-aws/2.3.0


For elasticsearch 1.4.4
    sudo bin/plugin install elasticsearch/elasticsearch-cloud-aws/2.4.1
Install marvel
Marvel is used for monitor cluster
    cd /usr/share/elasticsearch
    sudo bin/plugin -i elasticsearch/marvel/latest

Install Head

sudo bin/plugin -i --install mobz/elasticsearch-head


Note :- plugin install not working then manually download plugin zip and
bin/plugin --url file:///path/to/plugin --install plugin-name

Proxy setting 
 bin/plugin -DproxyHost=host_name -DproxyPort=port_number --install mobz/elasticsearch-head
 bin/plugin -DproxyHost=10.200.1.3 -DproxyPort=3128 --install mobz/elasticsearch-head

Install Kibana 4 

 To download kibana 4
Extract and Rename kibana
 sudo mv kibana-4.0.1-linux-x64 kibna-4

To run kibna
 Run bin/kibana on unix, or bin\kibana.bat on Windows.
 Visit http://localhost:5601

To change settings in elasticsearch

To edit elasticsearch.yml file 
   sudo nano /etc/elasticserch/elasticsearch.yml
Add these contents in elasticsearch.yml file to run elasticsearch in aws

  cluster.name: elasticsearch_production
  cloud.aws.access_key: XXXXXXXXXXXXXXXXXXXXXXX
  cloud.aws.secret_key: XXXXXXXXXXXXXXXXXXXXXXXX
  plugin.mandatory: cloud-aws
  discovery.type: "ec2"
  discovery.ec2.groups: "XXXXXXXX"
  discovery.ec2.cloud.aws.region: "XXXXXXX"
  discovery.zen.ping.multicast.enabled: false
  #discovery.zen.ping.unicast.hosts: ["XXXXXXXX.compute-1.amazonaws.com"]
  network.publish_host: XXXXXXXXXXX


Then restart elasticsearch

To verify elasticsearch is working

Check cluster status

  curl -XGET http://localhost:9200/_cluster/health?pretty=true

Check index names

 sudo curl -XGET 'localhost:9200/_cat/indices?v' 

To create delete all indexes

   sudo curl -XDELETE 'localhost:9200/*'

Use marvel to check status

   http://5XXXX-XX1:9200/_plugin/marvel/

To start elasticsearch as a service

sudo update-rc.d elasticsearch defaults 95 10
sudo /etc/init.d/elasticsearch start

Bulk api

To upload json data directly into elasticsearch
  curl -XPOST 'localhost:9200/bank/account/_bulk?pretty' --data-binary @accounts.json
  curl 'localhost:9200/_cat/indices?v'

Directory structure of elasticsearch and logstash

 Elasticsearch
  • Binaries and stuff: /usr/share/elasticsearch
  • Plugin manager: /usr/share/elasticsearch/bin/plugin
  • Configuration: /etc/elasticsearch/elasticsearch.yml
  • Data: /var/lib/elasticsearch/<cluster-name>

Logstash

  • Binaries and stuff: /opt/logstash
  • Configuration: /etc/logstash/conf.d
  • Logs: /var/log/logstash
 

Comments

Popular posts from this blog

Proxy setting in java

Using logstash to import csv json files into elasticsearch

Kibana 4 Installation and Run as a service in ubuntu