Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't connect to my Milvus db #494

Open
alikaz3mi opened this issue May 1, 2024 · 8 comments
Open

Can't connect to my Milvus db #494

alikaz3mi opened this issue May 1, 2024 · 8 comments

Comments

@alikaz3mi
Copy link

Describe the bug:

While I am able to connect to my milvus db via python:

from pymilvus import connections
connections.connect(
  alias="default", 
  host='localhost', 
  port='19530'
)

I can't connect to milvus via attu application which is installed in my ubuntu 22.04

Steps to reproduce:
1.
2.
3.

Attu version:

2.3.10
Attu version:

@shanghaikid
Copy link
Collaborator

attu docker version?

@cnzackliu
Copy link

attu docker version?

I have the same problem .

I can connected my milvus via golang, but attu can not.

I install attu with docker-composedocker or desktop, none of these methods are feasible.

Machine

MBP 13-inch, 2020, Four Thunderbolt 3 ports

Docker version

(base) ➜ ~ docker version
Client:
Cloud integration: v1.0.35+desktop.13
Version: 26.0.0
API version: 1.45
Go version: go1.21.8
Git commit: 2ae903e
Built: Wed Mar 20 15:14:46 2024
OS/Arch: darwin/amd64
Context: desktop-linux

Server: Docker Desktop 4.29.0 (145265)
Engine:
Version: 26.0.0
API version: 1.45 (minimum version 1.24)
Go version: go1.21.8
Git commit: 8b79278
Built: Wed Mar 20 15:18:01 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.28
GitCommit: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
runc:
Version: 1.1.12
GitCommit: v1.1.12-0-g51d5e94
docker-init:
Version: 0.19.0
GitCommit: de40ad0

docker-compose

version: '3.5'

services:
  etcd:
    container_name: milvus-etcd
    image: quay.io/coreos/etcd:v3.5.0
    environment:
      - ETCD_AUTO_COMPACTION_MODE=revision
      - ETCD_AUTO_COMPACTION_RETENTION=1000
      - ETCD_QUOTA_BACKEND_BYTES=4294967296
    volumes:
      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
    command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd

  minio:
    container_name: milvus-minio
    image: minio/minio:RELEASE.2020-12-03T00-03-10Z
    environment:
      MINIO_ACCESS_KEY: minioadmin
      MINIO_SECRET_KEY: minioadmin
    volumes:
      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_data
    command: minio server /minio_data
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3

  standalone:
    container_name: milvus-standalone
    image: milvusdb/milvus
    command: ["milvus", "run", "standalone"]
    environment:
      ETCD_ENDPOINTS: etcd:2379
      MINIO_ADDRESS: minio:9000
    volumes:
      - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus
    ports:
      - "19530:19530"
    depends_on:
      - "etcd"
      - "minio"

  attu:
    container_name: attu
    image: zilliz/attu:v2.3.10
    environment:
      MILVUS_URL: standalone:19530
    ports:
      - "3000:3000"
    depends_on:
      - "standalone"

networks:
  default:
    name: milvus

docker

docker run -p 3000:3000 -e HOST_URL=http://127.0.0.1:8000 -e MILVUS_URL=127.0.0.1:19530 zilliz/attu:latest

desktop

https://github.com/zilliztech/attu/releases/

@shanghaikid
Copy link
Collaborator

if you are using attu docker version, make sure the milvus's address is accessible from attu's container.

MILVUS_URL=127.0.0.1:19530 this is not going to work, please change it to a real milvus ip.

@cnzackliu
Copy link

if you are using attu docker version, make sure the milvus's address is accessible from attu's container.

MILVUS_URL=127.0.0.1:19530 this is not going to work, please change it to a real milvus ip.

I deploy the attu with docker-compose ,it cannot connected to db. Why?

@shanghaikid
Copy link
Collaborator

please make sure attu container can access your milvus server through your network.

@theamiteshtripathi
Copy link

did this method solve the issue @cnzackliu .

@shanghaikid can you be little specfic, i am using milvus on docker and attu also on docker...i am using localhost:15930 (what exactly is a real ip)

@shanghaikid
Copy link
Collaborator

did this method solve the issue @cnzackliu .

@shanghaikid can you be little specfic, i am using milvus on docker and attu also on docker...i am using localhost:15930 (what exactly is a real ip)

ok, let me explain, hope you can understand this.

  1. You open attu from your browser, then type milvus address, lets say 10.10.10.10, click the connect button
  2. the browser send a request -> attu server with the milvus address(10.10.10.10), which is the container
  3. the attu server should be able to visit the milvus(10.10.10.10), but 10.10.10.10 just an ip address, the container has its own networking, if 10.10.10.10 is not a WAN address, it can not be visited from the container.

so all you need to do is confirm that the address you entering is accessible from the attu container inside.

@jasnei
Copy link

jasnei commented Sep 14, 2024

I got the same issue, but if you are running is the same docker-compose.yml, start the service with docker compose up -d, it should work. it works for me.

This not work for me

by starting the milvus-standalon first, and then by command line start as follow

docker run -p 8000:3000 -e  -e MILVUS_URL=172.30.0.4:19530 zilliz/attu:latest

in which cannot connect to database.

This works for me

here is my docker-compose.yml

# version: '3.5'

services:
  etcd:
    container_name: milvus-etcd
    image: quay.io/coreos/etcd:v3.5.5
    environment:
      - ETCD_AUTO_COMPACTION_MODE=revision
      - ETCD_AUTO_COMPACTION_RETENTION=1000
      - ETCD_QUOTA_BACKEND_BYTES=4294967296
      - ETCD_SNAPSHOT_COUNT=50000
    volumes:
      - ${PWD}/volumes/etcd:/etcd
    command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
    healthcheck:
      test: ["CMD", "etcdctl", "endpoint", "health"]
      interval: 30s
      timeout: 20s
      retries: 3
    networks:
      milvus:
        ipv4_address: 172.30.0.2  

  minio:
    container_name: milvus-minio
    image: minio/minio:RELEASE.2023-03-20T20-16-18Z
    environment:
      MINIO_ACCESS_KEY: minioadmin
      MINIO_SECRET_KEY: minioadmin
    ports:
      - "9001:9001"
      - "9000:9000"
    volumes:
      - ${PWD}/volumes/minio:/minio_data
    command: minio server /minio_data --console-address ":9001"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3
    networks:
      milvus:
        ipv4_address: 172.30.0.3  

  # Milvus vector database service
  standalone:
    container_name: milvus-standalone
    image: milvusdb/milvus:v2.4.4
    command: ["milvus", "run", "standalone"]
    security_opt:
    - seccomp:unconfined
    environment:
      ETCD_ENDPOINTS: etcd:2379
      MINIO_ADDRESS: minio:9000
    volumes:
      - ${PWD}/volumes/milvus:/var/lib/milvus
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
      interval: 30s
      start_period: 90s
      timeout: 20s
      retries: 3
    ports:
      - "19530:19530"
      - "9091:9091"
    depends_on:
      - "etcd"
      - "minio"
    networks:
      milvus:
        ipv4_address: 172.30.0.4  

  # Attu GUI for Milvus management
  attu:
    container_name: attu
    image: zilliz/attu:v2.4
    environment:
      MILVUS_URL: standalone:19530
    ports:
      - "8000:3000"
    depends_on:
      - "standalone"
    networks:
        milvus:
          ipv4_address: 172.30.0.5
  

networks:
  milvus:
    driver: bridge
    ipam:
      config:
        - subnet: 172.30.0.0/16  # Changed to avoid overlap
docker compose up -d

and check

localhost:8000

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants