storm集群使用经验

来源:互联网 发布:clover软件官网 编辑:程序博客网 时间:2024/05/29 05:11

本文会不断完善,今天开个头

slot数量配置

slot就是worker, 就是worker machine上的可运行的进程数,每个进程监听一个端口号。

整个集群的slot的总数 = 所有supervisor上的监听端口port的数目之和

建议是CPU总核数 - 1 。在24核服务器上,port数目应该最大是23才对。下面是20个的配置如下:

supervisor.slots.ports:        - 6700        - 6701        - 6702        - 6703        - 6704        - 6705        - 6706        - 6707        - 6708        - 6709        - 6710        - 6711        - 6712        - 6713        - 6714        - 6715        - 6716        - 6717        - 6718        - 6719   


查找服务进程,并重启

ps -def | grep daemon.supervisor | grep -v grep | awk '{print $2}'
然后运行kill命令后重新启动


/etc/hosts配置

在storm集群节点中配置/etc/hosts要十分注意

如果你的topology程序需要访问kafka集群,需要在storm节点上/etc/hosts里添加

1. kafka的broker节点的hostname与IP对应关系

2. kafka使用的zookeeper节点的hostname与IP对应关系

可以通过kafka使用的zookeeper存储的信息找到kafka broker的hostname信息。具体查找方法:

连接zookeeper server -> 获取你的znode root目录下的你的topic的任意一个partition的状态 -> 用状态的leader id再次查找获得状态信息 -> 提取leader的hostname

重复这样查询,获得所有的leader的hostname即可。

bin/zkCli.sh -server kafka_zookeeper_one_host:21818get /your_root_znode/brokers/topics/your_topic/partitions/your_id/state{"controller_epoch":14,"leader":0,"version":1,"leader_epoch":0,"isr":[0]}get /your_root_znode/brokers/ids/your_leader_id{"jmx_port":-1,"timestamp":"1429168027485","host":"your_leader_hostname","version":1,"port":9092}


如果你的topology程序需要访问hdfs集群,也需要在storm节点上/etc/hosts里添加

hdfs集群的namenode/datanode的hostname与IP对应关系


当topology出现zookeeper连接问题时,首先要检查/etc/host是否配置的有问题。

修改/etc/hosts后,不需要重启storm的服务,只需要重新提交topology即可。



1 0