kafka数据同步Elasticsearch深入详解

本文详细介绍了使用Kafka Connector实现Kafka到Elasticsearch的数据同步,包括Confluent Platform的介绍、Kafka Connector的工作模式、安装步骤以及同步过程。重点讲解了standalone和distributed两种模式,并提供了同步效果和查询REST API的说明。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                       

1、kafka同步到Elasticsearch方式?

目前已知常用的方式有四种:
1)logstash_input_kafka插件;
缺点:不稳定(ES中文社区讨论)
2)spark stream同步;
缺点:太庞大
3)kafka connector同步;
4)自写程序读取、解析、写入
这里写图片描述
本文主要基于kafka connector实现kafka到Elasticsearch全量、增量同步。

2、从confluenct说起

LinkedIn有个三人小组出来创业了—正是当时开发出Apache Kafka实时信息列队技术的团队成员,基于这项技术Jay Kreps带头创立了新公司Confluent。Confluent的产品围绕着Kafka做的。
Confluent Platform简化了连接数据源到Kafka,用Kafka构建应用程序,以及安全,监控和管理您的Kafka的基础设施。
confluent组成如下所示:
这里写图片描述

1)Apache Kafka消息分发组件,数据采集后先入Kafka。2)Schema RegistrySchema管理服务,消息出入kafka、入hdfs时,给数据做序列化/反序列化处理。3)Kafka Connect提供kafka到其他存储的管道服务,此次焦点是从kafka到hdfs,并建立相关HIVE表。4)Kafka Rest Proxy提供kafka的Rest API服务。5)Kafka Clients提供Client编程所需SDK。
  
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

默认端口对应表:

组件     |  端口

Apache Kafka brokers (plain text):9092

Confluent Control Center:9021

Kafka Connect REST API:8083

REST Proxy:8082

Schema Registry REST API:8081

ZooKeeper:2181

3、kafka connector介绍。

Kafka 0.9+增加了一个新的特性 Kafka Connect,可以更方便的创建和管理数据流管道。它为Kafka和其它系统创建规模可扩展的、可信赖的流数据提供了一个简单的模型。

通过 connectors可以将大数据从其它系统导入到Kafka中,也可以从Kafka中导出到其它系统。

Kafka Connect可以将完整的数据库注入到Kafka的Topic中,或者将服务器的系统监控指标注入到Kafka,然后像正常的Kafka流处理机制一样进行数据流处理。

而导出工作则是将数据从Kafka Topic中导出到其它数据存储系统、查询系统或者离线分析系统等,比如数据库、 Elastic Search、 Apache Ignite等。

KafkaConnect有两个核心概念:Source和Sink。 Source负责导入数据到Kafka,Sink负责从Kafka导出数据,它们都被称为Connector。

kafkaConnect通过Jest实现Kafka对接Elasticsearch。

4、kafka connector安装

实操非研究性的目的,不建议源码安装。
直接从官网down confluent安装即可。地址:https://www.confluent.io/download/

如下,解压后既可以使用。

[root@kafka_no1 confluent-3.3.0]# pwd/home/confluent/confluent-3.3.0[root@kafka_no1 confluent-3.3.0]# ls -altotal 32drwxrwxr-x. 7 root root 4096 Dec 16 10:08 .drwxr-xr-x. 3 root root 4096 Dec 20 15:34 ..drwxr-xr-x. 3 root root 4096 Jul 28 08:30 bindrwxr-xr-x. 18 root root 4096 Jul 28 08:30 etcdrwxr-xr-x. 2 root root 4096 Dec 21 15:34 logs-rw-rw-r--. 1 root root 871 Jul 28 08:45 READMEdrwxr-xr-x. 10 root root 4096 Jul 28 08:30 sharedrwxrwxr-x. 2 root root 4096 Jul 28 08:45 src
  
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

5、kafka connector模式

Kafka connect 有两种工作模式
1)standalone:在standalone模式中,所有的worker都在一个独立的进程中完成。

2)distributed:distributed模式具有高扩展性,以及提供自动容错机制。你可以使用一个group.ip来启动很多worker进程,在有效的worker进程中它们会自动的去协调执行connector和task,如果你新加了一个worker或者挂了一个worker,其他的worker会检测到然后在重新分配connector和task。

6、kafka connector同步步骤

前提:

$ confluent start
  
  
  
  • 1

如下的服务都需要启动:

Starting zookeeperzookeeper is [UP] ——对应端口:2181Starting kafkakafka is [UP]——对应端口:9092Starting schema-registryschema-registry is [UP]——对应端口:8081Starting kafka-restkafka-rest is [UP]Starting connectconnect is [UP]
  
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

可以,netstat -natpl 查看端口是否监听ok。

步骤1:创建topic

./kafka-topics.sh --create --zookeeper 110
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值