- nebula 版本:v2-alpha
- 部署方式(分布式 / 单机 / Docker / DBaaS):Docker swarm
- 问题的具体描述:
使用Docker Swarm部署三台机器的集群,meta和storage都正常启动,但graph节点都没有正常启动,报错“container cannot be disconnected from host network or connected to host network”,配置文件使用的是 https://docs.nebula-graph.com.cn/manual-CN/3.build-develop-and-administration/2.install/deploy-nebula-with-swarm/ 示例的docker-stack.yml。
根据报错信息估计是docker容器的网络问题,默认情况下启动docker容器是连接到 brigde
网络的。如果连接到host
网络,就会报以下错误:
Error response from daemon: container cannot be disconnected from host network or connected to host network
这边是通过docker stack deploy命令部署的,为什么meta和storage都能正常启动,只有graph有问题呢?如果是网络的问题,请问应该怎么修复呢?谢谢!
也有可能是graphd挂了,可以ps看一下进程。如果只是网络问题,建议删除容器再在host网络上运行。
刚查看了容器,发现只有meta和storage…没有graph的容器。原因可能是什么呢?
可能graph服务就没起起来
这边的操作就是修改了示例中docker-stack.yml的ip,然后通过docker stack deploy部署,结果就是graph起不来…有遗漏的步骤吗?
nebula.env
文件配置过吗
就是这样配置的
顶一下
确认一下graphd连接的网络是host模式还是docker-stack.yaml里的nebula-net,另外检查一下字段mode: host是什么配置,初步怀疑graphd跟其他组件使用的网络模式没有统一
贴一下docker-stack文件?
2.0版本应该可以不使用host模式,支持service_name:port,文档需要更新下
来贡献个文档呗~~
来试下这个
还没小白鼠给反馈(关键是我现在没机器测试)
这个支持2.0-alpha版本吗?
version: '3.6'
services:
metad0:
image: vesoft/nebula-metad:nightly
env_file:
- ./nebula.env
command:
- --meta_server_addrs=192.168.2.3:45500,192.168.2.4:45500,192.168.2.6:45500
- --local_ip=192.168.2.3
- --ws_ip=192.168.2.3
- --port=45500
- --data_path=/data/meta
- --log_dir=/logs
- --v=0
- --minloglevel=2
deploy:
replicas: 1
restart_policy:
condition: on-failure
placement:
constraints:
- node.hostname == ecnu01
healthcheck:
test: ["CMD", "curl", "-f", "http://192.168.2.3:11000/status"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
ports:
- target: 11000
published: 11000
protocol: tcp
mode: host
- target: 11002
published: 11002
protocol: tcp
mode: host
- target: 45500
published: 45500
protocol: tcp
mode: host
volumes:
- data-metad0:/data/meta
- logs-metad0:/logs
networks:
- nebula-net
metad1:
image: vesoft/nebula-metad:nightly
env_file:
- ./nebula.env
command:
- --meta_server_addrs=192.168.2.3:45500,192.168.2.4:45500,192.168.2.6:45500
- --local_ip=192.168.2.4
- --ws_ip=192.168.2.4
- --port=45500
- --data_path=/data/meta
- --log_dir=/logs
- --v=0
- --minloglevel=2
deploy:
replicas: 1
restart_policy:
condition: on-failure
placement:
constraints:
- node.hostname == ecnu02
healthcheck:
test: ["CMD", "curl", "-f", "http://192.168.2.4:11000/status"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
ports:
- target: 11000
published: 11000
protocol: tcp
mode: host
- target: 11002
published: 11002
protocol: tcp
mode: host
- target: 45500
published: 45500
protocol: tcp
mode: host
volumes:
- data-metad1:/data/meta
- logs-metad1:/logs
networks:
- nebula-net
metad2:
image: vesoft/nebula-metad:nightly
env_file:
- ./nebula.env
command:
- --meta_server_addrs=192.168.2.3:45500,192.168.2.4:45500,192.168.2.6:45500
- --local_ip=192.168.2.6
- --ws_ip=192.168.2.6
- --port=45500
- --data_path=/data/meta
- --log_dir=/logs
- --v=0
- --minloglevel=2
deploy:
replicas: 1
restart_policy:
condition: on-failure
placement:
constraints:
- node.hostname == ecnu04
healthcheck:
test: ["CMD", "curl", "-f", "http://192.168.2.6:11000/status"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
ports:
- target: 11000
published: 11000
protocol: tcp
mode: host
- target: 11002
published: 11002
protocol: tcp
mode: host
- target: 45500
published: 45500
protocol: tcp
mode: host
volumes:
- data-metad2:/data/meta
- logs-metad2:/logs
networks:
- nebula-net
storaged0:
image: vesoft/nebula-storaged:nightly
env_file:
- ./nebula.env
command:
- --meta_server_addrs=192.168.2.3:45500,192.168.2.4:45500,192.168.2.6:45500
- --local_ip=192.168.2.3
- --ws_ip=192.168.2.3
- --port=44500
- --data_path=/data/storage
- --log_dir=/logs
- --v=0
- --minloglevel=2
deploy:
replicas: 1
restart_policy:
condition: on-failure
placement:
constraints:
- node.hostname == ecnu01
depends_on:
- metad0
- metad1
- metad2
healthcheck:
test: ["CMD", "curl", "-f", "http://192.168.2.3:12000/status"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
ports:
- target: 12000
published: 12000
protocol: tcp
mode: host
- target: 12002
published: 12002
protocol: tcp
mode: host
volumes:
- data-storaged0:/data/storage
- logs-storaged0:/logs
networks:
- nebula-net
storaged1:
image: vesoft/nebula-storaged:nightly
env_file:
- ./nebula.env
command:
- --meta_server_addrs=192.168.2.3:45500,192.168.2.4:45500,192.168.2.6:45500
- --local_ip=192.168.2.4
- --ws_ip=192.168.2.4
- --port=44500
- --data_path=/data/storage
- --log_dir=/logs
- --v=0
- --minloglevel=2
deploy:
replicas: 1
restart_policy:
condition: on-failure
placement:
constraints:
- node.hostname == ecnu02
depends_on:
- metad0
- metad1
- metad2
healthcheck:
test: ["CMD", "curl", "-f", "http://192.168.2.4:12000/status"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
ports:
- target: 12000
published: 12000
protocol: tcp
mode: host
- target: 12002
published: 12004
protocol: tcp
mode: host
volumes:
- data-storaged1:/data/storage
- logs-storaged1:/logs
networks:
- nebula-net
storaged2:
image: vesoft/nebula-storaged:nightly
env_file:
- ./nebula.env
command:
- --meta_server_addrs=192.168.2.3:45500,192.168.2.4:45500,192.168.2.6:45500
- --local_ip=192.168.2.6
- --ws_ip=192.168.2.6
- --port=44500
- --data_path=/data/storage
- --log_dir=/logs
- --v=0
- --minloglevel=2
deploy:
replicas: 1
restart_policy:
condition: on-failure
placement:
constraints:
- node.hostname == ecnu04
depends_on:
- metad0
- metad1
- metad2
healthcheck:
test: ["CMD", "curl", "-f", "http://192.168.2.6:12000/status"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
ports:
- target: 12000
published: 12000
protocol: tcp
mode: host
- target: 12002
published: 12006
protocol: tcp
mode: host
volumes:
- data-storaged2:/data/storage
- logs-storaged2:/logs
networks:
- nebula-net
graphd0:
image: vesoft/nebula-graphd:nightly
env_file:
- ./nebula.env
command:
- --meta_server_addrs=192.168.2.3:45500,192.168.2.4:45500,192.168.2.6:45500
- --port=3699
- --ws_ip=192.168.2.3
- --log_dir=/logs
- --v=0
- --minloglevel=2
deploy:
replicas: 1
restart_policy:
condition: on-failure
placement:
constraints:
- node.hostname == ecnu01
depends_on:
- metad0
- metad1
- metad2
healthcheck:
test: ["CMD", "curl", "-f", "http://192.168.2.3:13000/status"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
ports:
- target: 3699
published: 3699
protocol: tcp
mode: host
- target: 13000
published: 13000
protocol: tcp
# mode: host
- target: 13002
published: 13002
protocol: tcp
mode: host
volumes:
- logs-graphd:/logs
networks:
- nebula-net
graphd1:
image: vesoft/nebula-graphd:nightly
env_file:
- ./nebula.env
command:
- --meta_server_addrs=192.168.2.3:45500,192.168.2.4:45500,192.168.2.6:45500
- --port=3699
- --ws_ip=192.168.2.4
- --log_dir=/logs
- --v=2
- --minloglevel=2
deploy:
replicas: 1
restart_policy:
condition: on-failure
placement:
constraints:
- node.hostname == ecnu02
depends_on:
- metad0
- metad1
- metad2
healthcheck:
test: ["CMD", "curl", "-f", "http://192.168.2.4:13001/status"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
ports:
- target: 3699
published: 3640
protocol: tcp
mode: host
- target: 13000
published: 13001
protocol: tcp
mode: host
- target: 13002
published: 13003
protocol: tcp
# mode: host
volumes:
- logs-graphd2:/logs
networks:
- nebula-net
graphd2:
image: vesoft/nebula-graphd:nightly
env_file:
- ./nebula.env
command:
- --meta_server_addrs=192.168.2.3:45500,192.168.2.4:45500,192.168.2.6:45500
- --port=3699
- --ws_ip=192.168.2.6
- --log_dir=/logs
- --v=0
- --minloglevel=2
deploy:
replicas: 1
restart_policy:
condition: on-failure
placement:
constraints:
- node.hostname == ecnu04
depends_on:
- metad0
- metad1
- metad2
healthcheck:
test: ["CMD", "curl", "-f", "http://192.168.2.6:13002/status"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
ports:
- target: 3699
published: 3641
protocol: tcp
mode: host
- target: 13000
published: 13004
protocol: tcp
# mode: host
- target: 13002
published: 13005
protocol: tcp
mode: host
volumes:
- logs-graphd3:/logs
networks:
- nebula-net
networks:
nebula-net:
external: true
attachable: true
name: host
volumes:
data-metad0:
logs-metad0:
data-metad1:
logs-metad1:
data-metad2:
logs-metad2:
data-storaged0:
logs-storaged0:
data-storaged1:
logs-storaged1:
data-storaged2:
logs-storaged2:
logs-graphd:
logs-graphd2:
logs-graphd3:
下次发日志、配置信息可以用 markdown 的代码包裹语法把日志包裹起来方便阅读呀~
```
日志 / 配置信息 / 代码
```
了解,谢谢
暂不支持2.0版本,这个后面会加上