首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我无法从码头集装箱中的nodejs应用程序连接cassandra

我无法从码头集装箱中的nodejs应用程序连接cassandra
EN

Stack Overflow用户
提问于 2017-04-12 14:58:28
回答 1查看 378关注 0票数 1

我有一个nodejs应用程序在一个码头容器(节点:7.8.0)使用‘桥’网络。我使用cassandra驱动程序与cassandra服务器连接,但它在初始化连接时会引发超时异常:

代码语言:javascript
复制
Error: The host 172.16.210.101:9042 did not reply before timeout 12000 ms
    at OperationTimedOutError.DriverError (node_modules/cassandra-driver      /lib/errors.js:14:19)
    at new OperationTimedOutError (node_modules/cassandra-driver/lib/errors.js:104:33)
    at Connection.onTimeout (node_modules/cassandra-driver/lib/connection.js:645:20)
    at Timeout._onTimeout (node_modules/cassandra-driver/lib/connection.js:620:10)
    at ontimeout (timers.js:386:14)
    at tryOnTimeout (timers.js:250:5)
    at Timer.listOnTimeout (timers.js:214:5)

在容器内部,我可以打开cassandra服务器并进行telnet连接。

使用‘主机’网络可以工作,并在“标准”环境中执行应用程序。

任何帮助都是感激的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-17 13:36:11

好吧,我找到解决办法了。

我的主机的MTU是1450,docker0默认使用1500。它会产生一个错误。

所以,我把MTU换成了码头,它就能工作了。

我使用debian主机,然后执行以下步骤:

复制服务文件:

代码语言:javascript
复制
cp /lib/systemd/system/docker.service /etc/systemd/system/docker.service

然后,像下面这样编辑"ExecStart“行:

代码语言:javascript
复制
ExecStart=/usr/bin/dockerd -H fd:// --mtu=1400

最后,重新启动码头:

代码语言:javascript
复制
sudo systemctl daemon-reload
sudo systemctl restart docker

来源:https://rahulait.wordpress.com/2016/02/28/modifying-default-mtu-for-docker-containers/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43373124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档