Storm 中遇到的问题

时间:2023-12-12 16:01:20

问题1.  在storm.yaml 中配置了4个slot,而在Storm UI上面看到了8个slot

解决:Storm.yaml 中配置错误,正确配置如下,- 和 6700 之间是有空格存在的,而在我们的集群中配置为-6700,导致错误的产生

supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703

问题2.  Storm ui 上看到的supervisor、worker的host 都为主机名,在访问日志时URL为:http://host:8000/log?file=worker-6703.log

这样只有在本地hosts文件中配置host 和 ip的映射关系,才能正常访问

解决: 可在storm.yaml 中添加storm.local.hostname: "192.168.103.102"来明确指定supervisor、worker使用此ip地址

问题3. 启动Storm local cluster时出现异常CuratorConnectionLossException,日志如下:

on established to localhost/127.0.0.1:2000, initiating session
19469 [main] ERROR org.apache.storm.curator.ConnectionState - Connection timed out for connection st
ring (localhost:2000) and timeout (15000) / elapsed (15203)
org.apache.storm.curator.CuratorConnectionLossException: KeeperErrorCode = ConnectionLoss
at org.apache.storm.curator.ConnectionState.checkTimeouts(ConnectionState.java:198) [storm-c
ore-0.9.3.jar:0.9.3]
at org.apache.storm.curator.ConnectionState.getZooKeeper(ConnectionState.java:88) [storm-cor
e-0.9.3.jar:0.9.3]
at org.apache.storm.curator.CuratorZookeeperClient.getZooKeeper(CuratorZookeeperClient.java:
115) [storm-core-0.9.3.jar:0.9.3

解决:在localcluster模式下,storm会把127.0.0.1:2000作为zookeeper的地址,此端口被占用,导致与zookeeper建立链接失败