Yêu cầu thg 4 24, 2019 2:57 SA 214 0 0
  • 214 0 0
0

Không import được index với Docker Rails, Mysql, ELK

Chia sẻ
  • 214 0 0

Dạ, hiện tại em đang cài đặt Elasticsearch cho project của bản thân và viết file docker này:

version: '3'
services:
  db:
    image: mysql:5.7.8
    ports:
      - "3306:3306"
    volumes:
      - db-data:/var/lib/mysql
    env_file:
      - .env.development

  web:
    build: .
    command: /bin/sh -c "bundle exec rails server -e production -p 3000"
    ports:
      - "3000:3000"
    volumes:
      - .:/usr/src/app
    environment:
      RAILS_ENV: development
    env_file:
      - .env.development
    depends_on:
      - db
      - elasticsearch
    restart: always

  elasticsearch:
    build:
      context: elasticsearch/
    volumes:
      - ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      ES_JAVA_OPTS: "-Xmx256m -Xms256m"
    networks:
      - elk

  logstash:
    build:
      context: logstash/
    volumes:
      - ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro
      - ./logstash/pipeline:/usr/share/logstash/pipeline:ro
    ports:
      - "5000:5000"
    environment:
      LS_JAVA_OPTS: "-Xmx256m -Xms256m"
    networks:
      - elk
    depends_on:
      - elasticsearch

  kibana:
    build:
      context: kibana/
    volumes:
      - ./kibana/config/:/usr/share/kibana/config:ro
    ports:
      - "5601:5601"
    networks:
      - elk
    depends_on:
      - elasticsearch

volumes:
  db-data:

networks:
  elk:
    driver: bridge

Các container đều chạy rất ổn. Em tiếp đó làm theo hướng dẫn của tut này: https://iridakos.com/tutorials/2017/12/03/elasticsearch-and-rails-tutorial.html

Tuy nhiên khi chạy Event.import(force: true)rails c thì kết quả trả về là đây

Mọi người xem hộ em xem em sai config ở đâu với ạ. Đây là full link của commit https://github.com/BlazingRockStorm/let-us-go/commit/01f57427437c8670a3142e076aac586d9c23d320

Avatar No Naem @Naem
thg 4 24, 2019 6:46 SA

Có thể do bạn đang chạy ngoài docker nên host ko nhận ra được, bạn bash vào docker của web container rồi exec lại lệnh trên ra xem có được ko :-?

Avatar Hoàng Đức Quân @devil_boom_129
thg 4 24, 2019 7:32 SA

@Naem lệnh trên là em chạy tại web container đấy ạ

Avatar Hoàng Đức Quân @devil_boom_129
thg 4 24, 2019 7:38 SA
Avatar No Naem @Naem
thg 4 24, 2019 9:36 SA

@devil_boom_129 đấy giờ ra lỗi khác rồi kìa =)) xem xem là con elasticsearch này có đang running ko (docker ps)

Avatar Hoàng Đức Quân @devil_boom_129
thg 4 24, 2019 12:28 CH

@Naem có run ạ

Avatar No Naem @Naem
thg 4 25, 2019 2:29 SA

@devil_boom_129 bạn chụp cái docker ps cho mình xem với, sợ con elastic này đang mount sai cổng

Avatar Hoàng Đức Quân @devil_boom_129
thg 4 25, 2019 4:21 SA
Avatar No Naem @Naem
thg 4 25, 2019 7:23 SA

@devil_boom_129 check kĩ lại các bước làm của bạn nhé, xem có đoạn nào gọi localhost:9200 ko thì change hết về elasticsearch:9200 , chắc chắn là có 1 đoạn nào đang gọi đến localhost:9200, bạn xem lại rồi bảo mình nhé.

thg 5 8, 2019 7:30 SA

@Naem Em cũng đang nghĩ như bác, có lẽ code của chủ thớt đang config elasticsearch host trong rails là localhost :-?

thg 5 8, 2019 7:34 SA

Trong rail thì config elasticsearch host là: elasticsearch

Avatar No Naem @Naem
thg 5 9, 2019 4:03 CH

@huukimit ko biết thanh niên hỏi câu này ntn rồi =))

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí