storm 问题

Unable to access file:///log4j2/cluster.xml java.io.FileNotFoundException

Storm 0.10.2 启动的时候日志配置出错

ERROR StatusLogger Invalid URL C:/Users/xyzabc/apache-storm-0.10.0-beta/log4j2/cluster.xml java.net.MalformedURLException: unknown protocol: c

Storm 1.0.2 启动的时候日志配置出错

ERROR StatusLogger Unable to access file:///log4j2/cluster.xml java.io.FileNotFoundException: \log4j2\cluster.xml (系统找不到指定的路径。)

修改bin/storm-config.cmd, 修改路径部分内容即可

0.10.x

1.0.x


1
2
3
4
5
6
7
if not % STORM_LOGBACK_CONFIGURATION_DIR % == nil (
     set STORM_LOGBACK_CONFIGURATION_FILE = file : //%STORM_LOGBACK_CONFIGURATION_DIR%\cluster.xml
)
 
if not defined STORM_LOGBACK_CONFIGURATION_FILE (
   set STORM_LOGBACK_CONFIGURATION_FILE = file : //%STORM_HOME%\log4j2\cluster.xml
)

问题: KeeperErrorCode = NoNode for /brokers/topics/test3/partitions at org.apache.storm.kafka.DynamicBrokersReader.getBrokerInfo(DynamicBrokersReader.java:100)

原因:KeeperErrorCode = NoNode for /brokers
配置kafka时,如果使用zookeeper create /kafka创建了节点,kafka与storm集成时new ZkHosts(zks) 需要改成 new ZkHosts(zks,”/kafka/brokers”),不然会报java.lang.RuntimeException: java.lang.RuntimeException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for 


这与kafka的配置有关

ZooKeeper连接字符串的格式为:hostname:port,此处hostname和port分别是ZooKeeper集群中某个节点的host和port;为了当某个host宕掉之后你能通过其他ZooKeeper节点进行连接,你可以按照一下方式制定多个hosts:
hostname1:port1, hostname2:port2, hostname3:port3.

ZooKeeper 允许你增加一个“chroot”路径,将集群中所有kafka数据存放在特定的路径下。当多个Kafka集群或者其他应用使用相同ZooKeeper集群时,可以使用这个方式设置数据存放路径。这种方式的实现可以通过这样设置连接字符串格式,如下所示:
hostname1:port1,hostname2:port2,hostname3:port3/chroot/path
这样设置就将所有kafka集群数据存放在/chroot/path路径下。注意,在你启动broker之前,你必须创建这个路径,并且consumers必须使用相同的连接格式。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值