我想逃跑 kafka-connect-hdfs
使用 Oozie version: 4.2.0.2.6.5.0-292
通过脚本文件 sample.sh
.
是的,我知道我们可以直接运行Kafkahdfs连接器,但它应该通过oozie实现。
Kafka有一个主题 sample
里面有一些数据。
试图通过oozie将数据推送到hdfs。
我来这里之前参考了很多资料,但现在运气不错。
错误
Launcher ERROR, reason: Main class [org.apache.oozie.action.hadoop.ShellMain], exit code [1]
2018-07-25 09:54:16,945 INFO ActionEndXCommand:520 - SERVER[nnuat.iot.com] USER[root] GROUP[-] TOKEN[] APP[sample] JOB[0000000-180725094930282-oozie-oozi-W] ACTION[0000000-180725094930282-oozie-oozi-W@shell1] ERROR is considered as FAILED for SLA
我拥有hdfs中的所有三个文件,并授予了所有文件的权限 (sample.sh, job.properties, workflow.xml)
把所有的文件都放在里面 /user/root/sample
在hdfs中。
注意:在集群中运行oozie,这样所有三个节点的路径和文件都与namenode(/root/oozie demo)和confluent kafka(/opt/confluent-4..1.1)相同。 job.properties
```
nameNode=hdfs://171.18.1.192:8020
jobTracker=171.18.1.192:8050
queueName=default
oozie.libpath=${nameNode}/user/oozie/share/lib/lib_20180703063118
oozie.wf.rerun.failnodes=true
oozie.use.system.libpath=true
oozieProjectRoot=${nameNode}/user/${user.name}
oozie.wf.application.path=${nameNode}/user/${user.name}/sample
工作流.xml
1条答案
按热度按时间x7rlezfr1#
kafka connect应该完全独立运行,而不是通过oozie进行调度。
它永远不会消亡,除非发生错误,如果oozie重新启动失败的任务,您几乎可以保证在hdfs上获得重复的数据,因为连接偏移量不会持久存储在本地磁盘以外的任何位置(假设连接在单独的机器上重新启动),所以我不明白这有什么意义。
你应该独立跑步
connect-distributed.sh
作为专用计算机上的系统服务,然后将config json发布到connect http端点。然后,任务将作为connect框架的一部分进行分发,偏移量将持久地存储回kafka主题中以实现容错如果你真的想使用oozie,confluent包含了camus工具,这是不赞成连接,但我已经维护了一段时间的camus+oozie过程,它工作得很好,只是很难监测失败,一旦大量的主题被添加。ApacheGobbilin是该项目的第二个迭代,不是由confluent维护的
它还显示您正在运行hdp,因此apachenifi应该能够安装在集群上,以便处理kafka和hdfs相关的任务