連接zookeeper報(bào)錯(cuò)No route to host

最近在學(xué)習(xí)微服務(wù)傻咖,遇到了很多問題它碎,今天又遇到了個(gè)連接zookeeper報(bào)錯(cuò)的問題刘急,在此記錄下棚菊。

學(xué)生課程管理系統(tǒng)簡單微服務(wù)架構(gòu)圖:

image.png

各個(gè)服務(wù)容器化以后,用docker-compose啟動(dòng)叔汁,其中docker-compose.yml文件如下:

version: "3"

services:
  message-service:
    image: message-thrift-python-service:latest

  user-service:
    image: user-thrift-service:latest
    command:
    - "--mysql.address=192.168.1.103"

  user-edge-service:
    image: user-edge-service:latest
    links:
    - user-service
    - message-service
    command:
    - "--redis.address=192.168.1.103"

  course-service:
    image: course-service:latest
    links:
    - user-service
    command:
    - "--mysql.address=192.168.1.103"
    - "--zookeeper.address=192.168.1.103"

  course-edge-service:
    image: course-edge-service:latest
    links:
    - user-edge-service
    command:
    - "--zookeeper.address=192.168.1.103"

  api-gateway-zuul:
    image: api-gateway-zuul:latest
    links:
    - course-edge-service
    - user-edge-service
    ports:
    - 8080:8080

docker-compose up -d啟動(dòng)后统求,訪問course-edge-service服務(wù)時(shí)報(bào)錯(cuò),日志里打印如下錯(cuò)誤:

2018-10-04 08:32:32.584  INFO 1 --- [168.1.103:2181)] org.apache.zookeeper.ClientCnxn          : Opening socket connection to server 192.168.1.103/192.168.1.103:2181. Will not attempt to authenticate using SASL (unknown error)
2018-10-04 08:32:33.590  WARN 1 --- [168.1.103:2181)] org.apache.zookeeper.ClientCnxn          : Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect

java.net.NoRouteToHostException: No route to host
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_181]
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_181]
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361) ~[zookeeper-3.4.6.jar!/:3.4.6-1569965]
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081) ~[zookeeper-3.4.6.jar!/:3.4.6-1569965]

于是先docker-compose down掉各服務(wù)据块,暫且單獨(dú)啟動(dòng)course-edge-service單服務(wù)看是否同樣報(bào)錯(cuò):

docker run -ti course-edge-service:latest --zookeeper.address=192.168.1.103

啟動(dòng)后報(bào)同樣的錯(cuò)码邻。

看報(bào)錯(cuò)日志應(yīng)該就是連不上zookeeper,在宿主機(jī)上curl zookeeper地址另假,是通的:

[root@localhost course-edge-service]# curl 192.168.1.103:2181
curl: (52) Empty reply from server

進(jìn)入zookeeper容器內(nèi)看zookeeper狀態(tài):


image.png
[root@localhost course-edge-service]# docker exec -ti c2803533c4fb bash
bash-4.4# cd bin/
bash-4.4# ./zk
zkCleanup.sh            zkEnv.cmd               zkServer.cmd            zkTxnLogToolkit.sh
zkCli.cmd               zkEnv.sh                zkServer.sh             
zkCli.sh                zkServer-initialize.sh  zkTxnLogToolkit.cmd     
bash-4.4# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: leader
bash-4.4#

zookeeper狀態(tài)正常像屋。

在course-edge-service的容器內(nèi)curl zookeeper地址:

[root@localhost course-edge-service]# docker exec -ti 5c993840aeae bash
root@5c993840aeae:/# curl 192.168.1.103:2181
curl: (7) Failed to connect to 192.168.1.103 port 2181: No route to host
root@5c993840aeae:/# 
root@5c993840aeae:/# ping 192.168.1.103
PING 192.168.1.103 (192.168.1.103) 56(84) bytes of data.
64 bytes from 192.168.1.103: icmp_seq=1 ttl=64 time=0.255 ms
64 bytes from 192.168.1.103: icmp_seq=2 ttl=64 time=0.163 ms
64 bytes from 192.168.1.103: icmp_seq=3 ttl=64 time=0.164 ms

發(fā)現(xiàn)確實(shí)有問題。

解決問題:

查看防火墻狀態(tài):

$ systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2018-10-04 00:38:32 CST; 15h ago
 Main PID: 826 (firewalld)
   Memory: 2.4M
   CGroup: /system.slice/firewalld.service
           └─826 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

關(guān)閉防火墻:

$ systemctl stop firewalld.service

course-edge-service的容器內(nèi)再curl zookeeper地址:

[root@localhost course-edge-service]# docker exec -ti 5c993840aeae bash
root@5c993840aeae:/# curl 192.168.1.103:2181
curl: (52) Empty reply from server
root@5c993840aeae:/# 

重新啟動(dòng)各個(gè)微服務(wù)边篮,又報(bào)錯(cuò)如下:

[root@localhost micro-service]# docker-compose up -d
Creating network "micro-service_default" with the default driver
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule:  (iptables failed: iptables --wait -t nat -I DOCKER -i br-07454d600e41 -j RETURN: iptables: No chain/target/match by that name.
 (exit status 1))

重啟docker后解決:

[root@localhost micro-service]#systemctl restart docker
[root@localhost micro-service]# docker-compose up -d
Creating network "micro-service_default" with the default driver
Creating micro-service_user-service_1_11592de6bbc3    ... done
Creating micro-service_message-service_1_b225fa599858 ... done
Creating micro-service_user-edge-service_1_4f8b6edf7333 ... done
Creating micro-service_course-service_1_69e9bdcbd81e    ... done
Creating micro-service_course-edge-service_1_81d9188df304 ... done
Creating micro-service_api-gateway-zuul_1_e0bdf98eebef    ... done
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末己莺,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子戈轿,更是在濱河造成了極大的恐慌凌受,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凶杖,死亡現(xiàn)場離奇詭異胁艰,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門腾么,熙熙樓的掌柜王于貴愁眉苦臉地迎上來奈梳,“玉大人,你說我怎么就攤上這事解虱∪列耄” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵殴泰,是天一觀的道長于宙。 經(jīng)常有香客問我,道長悍汛,這世上最難降的妖魔是什么捞魁? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮离咐,結(jié)果婚禮上谱俭,老公的妹妹穿的比我還像新娘。我一直安慰自己宵蛀,他們只是感情好昆著,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著术陶,像睡著了一般凑懂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上梧宫,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天接谨,我揣著相機(jī)與錄音,去河邊找鬼塘匣。 笑死疤坝,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的馆铁。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼锅睛,長吁一口氣:“原來是場噩夢啊……” “哼埠巨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起现拒,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤辣垒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后印蔬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體勋桶,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了例驹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捐韩。...
    茶點(diǎn)故事閱讀 40,424評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鹃锈,靈堂內(nèi)的尸體忽然破棺而出荤胁,到底是詐尸還是另有隱情,我是刑警寧澤屎债,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布仅政,位于F島的核電站,受9級特大地震影響盆驹,放射性物質(zhì)發(fā)生泄漏圆丹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一躯喇、第九天 我趴在偏房一處隱蔽的房頂上張望辫封。 院中可真熱鬧,春花似錦玖瘸、人聲如沸秸讹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽璃诀。三九已至,卻和暖如春蔑匣,著一層夾襖步出監(jiān)牢的瞬間劣欢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工裁良, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留凿将,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓价脾,卻偏偏與公主長得像牧抵,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子侨把,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容