spark版本:2.1.1,kafka API版本:0.8
错
误如下
:
[WARN ] 2018-01-25 14:54:01,332 org.apache.spark.scheduler.TaskSetManager - Lost task 3.0 in stage 0.0 (TID 3, ip-10-0-155-42.eu-west-1.compute.internal, executor 8): java.lang.NoSuchMethodError: net.jpountz.util.Utils.checkRange([BII)V
at org.apache.kafka.common.message.KafkaLZ4BlockInputStream.read(KafkaLZ4BlockInputStream.java:176)
原因分析:
kafka-clients和spark的共同依赖
lz4
的版本冲突。
在kafka-clients-0.8.2.1中有两个类KafkaLZ4BlockInputStream和KafkaLZ4BlockOutputStream:
在
KafkaLZ4BlockInputStream中有一个read方法:
在
KafkaLZ4BlockOutputStream中有一个write方法:
这两个方法中所引用的net.jpountz.util.Utils类中的checkRange方法是lz4-1.2.0版本中的,在lz4-1.3.0中该方法已被移至net.jpountz.util.SafeUtils中:
Spark-2.1.1中的lz4是1.3.0版本的,所以会出现版本冲突。
解决方案:
1.建一个项目,将
kafka-clients-0.8.2.1中的
KafkaLZ4BlockInputStream和KafkaLZ4BlockOutputStream这两个类拷贝出来,包结构保持一致
2.将上边标红的两处代码改为:
net.jpountz.util.SafeUtils.checkRange(b, off, len);
3. 编译,将编译的.class文件替换掉对应的jar包中的文件
这样spark streaming就能正常消费kafka中的数据了。
spark版本:2.1.1,kafka API版本:0.8错误如下:[WARN ] 2018-01-25 14:54:01,332 org.apache.spark.scheduler.TaskSetManager - Lost task 3.0 in stage 0.0 (TID 3, ip-10-0-155-42.eu-west-1.compute.internal, executor 8):...
消息中间件
Apache
kafka
是消息中间件的一种,我发现很多人不知道消息中间件是什么,在开始学习之前,我这边就先简单的解释一下什么是消息中间件,只是粗略的讲解,比较狭义的理解,然而目前像
kafka
这样的消息中间件已经可以做更多的事情了。
举个例子,生产者
消费
者,生产者生产鸡蛋,
消费
者
消费
鸡蛋,生产者生产一个鸡蛋,
消费
者就
消费
一个鸡蛋,假设
消费
者
消费
鸡蛋的时候噎住了(系统宕机了),生...
最近用
Spark
Streaming从
Kafka
接
数据
进行处理,是对中文的内容进行计算。发现处理时中文全变成了????????的形式,导致处理的结果和预期的不一样。但把
数据
放在redis或者放入下游的
kafka
topic,中文又正常了。为了防止是因为打日志的编码问题导致的判断出错,专门对算法进行了判断,的确就是对?????的东西处理了,而不是原中文字符串。
遇到这种情况,想到的就是编码
kafka
是如何压缩消息的?要弄清楚这个问题,就要从
kafka
的消息格式说起。
kafka
的消息层次分为两层:消息集合(message set)以及消息(message)。一个消息集合包含若干条日志项(recorditem),而日志项才是真正封装消息的地方。
kafka
底层的消息日志由一系列消息集合日志项组成。
kafka
通常不会直接操作具体的一条条消息,它总是在消息集合这个层面上进行写入操作。
在
kafka
中,压缩可能会发生在两个地方:生产者端和broker端。
生产者
程序
中配置compression.t.
tomcat启动
报错
:
Java
.
Lan
g.
NoSuchMethodError
: Org.Apache.Commons.Collections.Set
Utils
.OrderedSet(L
java
/
Util
/Set;)L
java
/
Util
/Set;
1. 项目环境: IDE:myeclipse
框架:spring2.5.6+struts2+hibernate3.3.2
web容器:tomc...
org.apache.
kafka
.common.
Kafka
Exception: Failed to construct
kafka
consumer
at org.apache.
kafka
.clients.consumer.
Kafka
Consumer.<init>(
Kafka
Consumer.
java
:717)
at org.apache.
kafka
.clients.consume...
这个错误是
Kafka
出现的一个异常情况,意味着
程序
在运行过程中被强制中断了。具体来说,是由于
程序
在等待某个操作完成时,被外部因素(比如操作系统)强制中断了,导致
程序
无法正常完成该操作并抛出该异常。这个异常通常会在
Kafka
客户端的使用中出现,比如在
数据
消费
者的
消费
过程中。
解决该错误需要找到导致
程序
被中断的具体原因。可能的原因包括操作系统资源耗尽、网络连接不稳定等等。一些具体的解决方案可能包括增加操作系统资源、优化
程序
代码、尝试连接其他网络等等。总之,这个异常提示需要我们注意
程序
在运行过程中可能会出现的问题,及时处理并改进
程序
的运行方式。
pos = self.TP + self.FN
for i in range(len(self.db)):
tp += self.db[i][0] # 看不懂了. 这里应该替换为一个判断,在标签为1,且预测为1时,tp+ = self.db[i][0]
fp += 1 - self.db[i][0] # 看不懂了. 这里应该替换为一个判断,在标签为1,且预测为1时,fp+ = 1 - self.db[i][0]
[/code]
Python实现分类器性能度量(混淆矩阵,正确率,准确率,召回率,ROC,AUC)
Tiger_pop:
Python实现分类器性能度量(混淆矩阵,正确率,准确率,召回率,ROC,AUC)
trophyy:
TensorFlow用训练好的CNN模型检测
小飞鱼_bigdata