hadoop + kafka + storm开发笔记

export 可执行jar包,在Launch Configuration找不到启动类:需要把启动类先执行一遍

hadoop 无法上传文件,提示没有datanode节点
a.关闭所有hadoop服务 b.删除/usr/hadoop/hdfs/下的data目录与name目录(此方法会导致数据丢失) c.重新格式化namenode节点 d.启动服务

Server IPC version 9 cannot communicate with client version 4错误 : 原因是依赖了老版本的hadoop-core包,改为依赖hadoop-hdfs hadoop-common hadoop-client 即可

<dependency>
            <groupId>jdk.tools</groupId>
            <artifactId>jdk.tools</artifactId>
            <version>1.8</version>
            <scope>system</scope>
            <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
      </dependency>




java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder ,pom添加依赖后依旧抛出此异常
将$HADOOP_HOME/share/hadoop/hdfs/lib 目录下htrace-core-3.1.0-incubating.jar拷贝到项目lib目录

jar包冲突,会导致不能向kafka发送消息,在相关依赖下添加:
<exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
 </exclusions>



storm中bolt会重复处理消息
处理完成后未向storm反馈,因此spout会重新发送数据
在bolt中添加collector.ack(input)


storm启动时抛出异常:backtype.storm.generated.InvalidTopologyException: null
一般都是定义输入、输出时有错误,目前遇到两种情况导致该异常:
a.需要向下一级输入时,没有declarer.declare(new Fields(...)) 定义相关的域
b.builder在setBolt方法后,指定上一级组件id时id写错,例如builder.setBolt("ruleBolt", new RuleBolt(), 1).shuffleGrouping("KafkaSpout") 中KafkaSpouot与上一级指定的id名不一致

 

转载于:https://www.cnblogs.com/snowcity1231/p/6714699.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值