This is simple project for golang, elasticsearch, and kibana
Docker
Docker & docker-compose Installation
On Mac: 
Installation Docker with Mac
Try to check docker version:
$ docker --version
$ docker-compose version
Elasticsearch
Elasticsearch Installation on Docker
Download image of elasticsearch with version 
7.6.0:$ docker pull elasticsearch:7.6.0
Try to run image of elasticsearch to be a container:
$ docker run -d --network:elastic -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --name elasticsearch elasticsearch:7.6.0
$ docker ps
Kibana
Kibana Installation on Docker
Download image of kibana with version 
7.6.0:$ docker pull kibana:7.6.0
or
$ docker pull docker.elastic.co/kibana/kibana:7.6.0
Try run image of kibana to be a container:
$ docker run -d --net:elastic -p 5601:5601 -e ELASTICSEARCH_URL=http://localhost:9200 --name kibana kibana:7.6.0
$ docker ps
Docker Compose
Create docker compose for Elasticsearch and Kibana
Create file with name 
docker-compose.yml and type this example configuration into file:version: '2.2'
services:
  es01:
    image: elasticsearch:7.6.0
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02
      - cluster.initial_master_nodes=es01,es02
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic
  es02:
    image: elasticsearch:7.6.0
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01
      - cluster.initial_master_nodes=es01,es02
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - data02:/usr/share/elasticsearch/data
    networks:
      - elastic
  kibana:
    image: kibana:7.6.0
    container_name: kibana
    environment:
      SERVER_NAME: kibana.local
      ELASTICSEARCH_HOSTS: http://es01:9200
    ports: 
       - 5601:5601
    networks:
       - elastic
    depends_on:
       - es01
       - es02
volumes:
  data01:
    driver: local
  data02:
    driver: local
networks:
  elastic:
    driver: bridge
In this case, I'm creating 3 containers:
- es01 (elasticsearch for node 1)
- es02 (elasticsearch for node 2)
- kibana (as dashboard)
Run Docker Compose
To run docker compose:
$ docker-compose run -d
$ docker ps
Make sure all containers running
golang
Golang Installation
Install golang 
Install golang
Try to check version
$ go version
Setup Project
This is golang library to integrate with elasticsearch
First, download library for go-elasticsearch, in here we are using version v7:
$ go mod init
$ go get github.com/elastic/go-elasticsearch/v7
Then create file 
main.go and insert this example code:package main
import (
 "crypto/tls"
 "log"
 "net"
 "net/http"
 "time"
 "github.com/elastic/go-elasticsearch/v7"
)
func main() {
 cfg := elasticsearch.Config{
  Addresses: []string{
   "http://localhost:9200",
  },
  Username: "foo",
  Password: "bar",
  Transport: &http.Transport{
   MaxIdleConnsPerHost:   10,
   ResponseHeaderTimeout: time.Second,
   DialContext:           (&net.Dialer{Timeout: time.Second}).DialContext,
   TLSClientConfig: &tls.Config{
    MinVersion: tls.VersionTLS11,
   },
  },
 }
 es, _ := elasticsearch.NewClient(cfg)
 res, err := es.Info()
 if err != nil {
  log.Fatalf("Error getting response: %s", err)
 }
 log.Println(res)
 log.Println(es.Indices)
}
Run golang elasticsearch Application
Try to run application:
$ go run main.go
See More in here 
Documentation of go-elasticsearch
Source:



 
If you're trying to lose fat then you have to jump on this brand new personalized keto diet.
ReplyDeleteTo design this service, certified nutritionists, fitness trainers, and chefs united to develop keto meal plans that are powerful, suitable, price-efficient, and delicious.
Since their grand opening in January 2019, 1000's of people have already completely transformed their figure and health with the benefits a great keto diet can give.
Speaking of benefits; clicking this link, you'll discover eight scientifically-certified ones provided by the keto diet.