나는 1 명의 후광, 4 명의 수퍼바이저 및 2 개의 사육사 노드가있는 스톰 클러스터를 가지고 있습니다. 내 Storm.yaml
는 다음과 같습니다 :폭풍 - 감독관이 발사되었지만 후광에 연결되지 않았습니다.
storm.zookeeper.servers:
- "storage14"
- "storage15"
nimbus.seeds: ["storage01"]
#storm.local.hostname: "storage05"
supervisor.supervisors:
- "storage02"
- "storage03"
- "storage04"
- "storage05"
storm.local.dir: "/tmp/storm"
worker.childopts: "-Xmx%HEAP-MEM%m -XX:+PrintGCDetails -Xloggc:artifacts/gc.log -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=artifacts/heapdump"
이 storm.yaml 파일은 후광과 감독 모두 사용됩니다. Nimbus가 시작되면 위에 표시된대로 storm.local.hostname
이 주석 처리됩니다.
그러나 각 노드에서 수퍼바이저를 시작할 때 storm.local.hostname
의 주석을 제거하고 수퍼바이저가 시작될 노드의 호스트 이름으로 설정합니다.
storm.local.hostname: "storage05"
문제는 Nimubs가 성공적으로 시작되고, 나는 폭풍에 그것을 볼 수 있지만입니다 : 예를 들어 내가 storage05에 관리자를 실행 한 경우 storm.yaml 파일은 다음과 같은 추가 구성 PARAM있을 것입니다 UI, 일부 감독자 님이 Nimbus에 연결할 수없는 것 같습니다. 예를 들어 감독자을 시작한 4 개의 노드의 경우, 폭풍 UI는 종종 2 개만 연결된 것으로 표시합니다. 그러나이 노드에 ssh
을 입력하고 jps
을 실행하면 관리자 인 프로세스가 이러한 모든 노드에서 실행되고 있음을 알 수 있습니다.
연결을 끝내는 노드의 수퍼바이저는 항상 같지 않으므로 특정 노드에는 문제가 없습니다.
주의해야 할 또 다른 사항은 연결된 모든 노드에서 토폴로지를 실행하려고하면 클러스터에 등록되지 않고 UI에서 해당 토폴로지를 볼 수 없다는 것입니다.
이 비정상적인 행동의 원인이 무엇이라고 생각하십니까?
는 UPDATE : nimbus.log의 꼬리 끝은
2017-01-25 00:04:25.216 o.a.s.s.o.a.z.ClientCnxn [WARN] Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:701)
at org.apache.storm.shade.org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
at org.apache.storm.shade.org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
2017-01-25 00:04:25.317 o.a.s.s.o.a.z.ClientCnxn [INFO] Opening socket connection to server storage15/192.168.140.195:2181. Will not attempt to authenticate using SASL (unknown error)
2017-01-25 00:04:25.317 o.a.s.s.o.a.z.ClientCnxn [WARN] Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:701)
at org.apache.storm.shade.org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
at org.apache.storm.shade.org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
2017-01-25 00:04:25.686 o.a.s.s.o.a.z.ClientCnxn [INFO] Opening socket connection to server storage15/192.168.140.195:2181. Will not attempt to authenticate using SASL (unknown error)
2017-01-25 00:04:25.686 o.a.s.s.o.a.z.ClientCnxn [WARN] Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:701)
at org.apache.storm.shade.org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
at org.apache.storm.shade.org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
2017-01-25 00:04:25.787 o.a.s.s.o.a.z.ClientCnxn [INFO] Opening socket connection to server storage14/192.168.140.194:2181. Will not attempt to authenticate using SASL (unknown error)
2017-01-25 00:04:25.787 o.a.s.s.o.a.z.ClientCnxn [WARN] Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:701)
at org.apache.storm.shade.org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
at org.apache.storm.shade.org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
1. 어떤 버전을 사용하십니까? 2. 모든 노드에서 "storage05"에 액세스 할 수 있습니까? 3. "storage05"가 UI에서 '리더'로 인식 되었습니까? 4. Nimbus 로그에 오류 메시지가 있습니까? –
1. 나는 Storm 1.0.1에있다. 2. 그렇다. 나는 모든 노드에서 서로 다른 암호를 적어서 storage05를 포함 할 수있다. 3. 아니요,하지만 Storage05에서 Nimbus를 시작하지 않으므로 그렇게 생각하지 않습니다. Storage01은 Nimbus이고 storage02-05는 수퍼바이저입니다. 하지만 예, storage01은 실제로 UI에서 리더로 인식됩니다. –
죄송합니다. "storage01"이 리더로 인식되면 좋을 것입니다. –