All Projects → jcustenborder → kafka-connect-redis

jcustenborder / kafka-connect-redis

Licence: Apache-2.0 license
Kafka Connect connector for Redis

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to kafka-connect-redis

Kafka Connect
equivalent to kafka-connect 🔧 for nodejs ✨🐢🚀✨
Stars: ✭ 102 (+175.68%)
Mutual labels:  kafka-connect
Mirus
Mirus is a cross data-center data replication tool for Apache Kafka
Stars: ✭ 171 (+362.16%)
Mutual labels:  kafka-connect
postgres-kafka-demo
Fully reproducible, Dockerized, step-by-step, demo on how to stream tables from Postgres to Kafka/KSQL back to Postgres. Detailed blog post published on Medium.
Stars: ✭ 128 (+245.95%)
Mutual labels:  kafka-connect
Kafka Connect Tools
Kafka Connect Tooling
Stars: ✭ 115 (+210.81%)
Mutual labels:  kafka-connect
Kafka Connect Storage Cloud
Kafka Connect suite of connectors for Cloud storage (Amazon S3)
Stars: ✭ 153 (+313.51%)
Mutual labels:  kafka-connect
Hivemq Mqtt Tensorflow Kafka Realtime Iot Machine Learning Training Inference
Real Time Big Data / IoT Machine Learning (Model Training and Inference) with HiveMQ (MQTT), TensorFlow IO and Apache Kafka - no additional data store like S3, HDFS or Spark required
Stars: ✭ 204 (+451.35%)
Mutual labels:  kafka-connect
Kafka Connect Twitter
Kafka Connect connector to stream data in real time from Twitter.
Stars: ✭ 94 (+154.05%)
Mutual labels:  kafka-connect
football-events
Event-Driven microservices with Kafka Streams
Stars: ✭ 57 (+54.05%)
Mutual labels:  kafka-connect
Mongo Kafka
MongoDB Kafka Connector
Stars: ✭ 166 (+348.65%)
Mutual labels:  kafka-connect
kafka-connect-fs
Kafka Connect FileSystem Connector
Stars: ✭ 107 (+189.19%)
Mutual labels:  kafka-connect
Kafka Connect Spooldir
Kafka Connect connector for reading CSV files into Kafka.
Stars: ✭ 116 (+213.51%)
Mutual labels:  kafka-connect
Kafka Docker Playground
Playground for Kafka/Confluent Docker experimentations
Stars: ✭ 140 (+278.38%)
Mutual labels:  kafka-connect
Ksql Udf Deep Learning Mqtt Iot
Deep Learning UDF for KSQL for Streaming Anomaly Detection of MQTT IoT Sensor Data
Stars: ✭ 219 (+491.89%)
Mutual labels:  kafka-connect
Kukulcan
A REPL for Apache Kafka
Stars: ✭ 103 (+178.38%)
Mutual labels:  kafka-connect
kafka-scala-examples
Examples of Avro, Kafka, Schema Registry, Kafka Streams, Interactive Queries, KSQL, Kafka Connect in Scala
Stars: ✭ 53 (+43.24%)
Mutual labels:  kafka-connect
Streamx
kafka-connect-s3 : Ingest data from Kafka to Object Stores(s3)
Stars: ✭ 96 (+159.46%)
Mutual labels:  kafka-connect
Strimzi Kafka Operator
Apache Kafka running on Kubernetes
Stars: ✭ 2,833 (+7556.76%)
Mutual labels:  kafka-connect
kafka-connect-mq-sink
This repository contains a Kafka Connect sink connector for copying data from Apache Kafka into IBM MQ.
Stars: ✭ 27 (-27.03%)
Mutual labels:  kafka-connect
kafka-jdbc-connector
Simple way to copy data from relational databases into kafka.
Stars: ✭ 19 (-48.65%)
Mutual labels:  kafka-connect
Kafka Ui
Open-Source Web GUI for Apache Kafka Management
Stars: ✭ 230 (+521.62%)
Mutual labels:  kafka-connect

Introduction

The Redis plugin is a collection of connectors that are used to interact with a Redis cluster.

Sink Connectors

Redis Sink Connector

The Redis Sink Connector is used to write data from Kafka to a Redis cache.

Important

This connector expects records from Kafka to have a key and value that are stored as bytes or a string. If your data is already in Kafka in the format that you want in Redis consider using the ByteArrayConverter or the StringConverter for this connector. Keep in this does not need to be configured in the worker properties and can be configured at the connector level. If your data is not sitting in Kafka in the format you wish to persist in Redis consider using a Single Message Transformation to convert the data to a byte or string representation before it is written to Redis.

Note

This connector supports deletes. If the record stored in Kafka has a null value, this connector will send a delete with the corresponding key to Redis.

Configuration

General

redis.hosts

The Redis hosts to connect to.

Importance: High

Type: List

Default Value: [localhost:6379]

redis.client.mode

The client mode to use when interacting with the Redis cluster.

Importance: Medium

Type: String

Default Value: Standalone

Validator: Matches: Standalone, Cluster

redis.database

Redis database to connect to.

Importance: Medium

Type: Int

Default Value: 1

redis.operation.timeout.ms

The amount of time in milliseconds before an operation is marked as timed out.

Importance: Medium

Type: Long

Default Value: 10000

Validator: [100,...]

redis.password

Password used to connect to Redis.

Importance: Medium

Type: Password

Default Value: [hidden]

redis.ssl.enabled

Flag to determine if SSL is enabled.

Importance: Medium

Type: Boolean

Default Value: false

redis.ssl.keystore.password

The password for the SSL keystore.

Importance: Medium

Type: Password

Default Value: [hidden]

redis.ssl.keystore.path

The path to the SSL keystore.

Importance: Medium

Type: String

redis.ssl.truststore.password

The password for the SSL truststore.

Importance: Medium

Type: Password

Default Value: [hidden]

redis.ssl.truststore.path

The path to the SSL truststore.

Importance: Medium

Type: String

redis.auto.reconnect.enabled

Flag to determine if the Redis client should automatically reconnect.

Importance: Low

Type: Boolean

Default Value: true

redis.charset

The character set to use for String key and values.

Importance: Low

Type: String

Default Value: UTF-8

Validator: Valid values: 'Big5', 'Big5-HKSCS', 'CESU-8', 'EUC-JP', 'EUC-KR', 'GB18030', 'GB2312', 'GBK', 'IBM-Thai', 'IBM00858', 'IBM01140', 'IBM01141', 'IBM01142', 'IBM01143', 'IBM01144', 'IBM01145', 'IBM01146', 'IBM01147', 'IBM01148', 'IBM01149', 'IBM037', 'IBM1026', 'IBM1047', 'IBM273', 'IBM277', 'IBM278', 'IBM280', 'IBM284', 'IBM285', 'IBM290', 'IBM297', 'IBM420', 'IBM424', 'IBM437', 'IBM500', 'IBM775', 'IBM850', 'IBM852', 'IBM855', 'IBM857', 'IBM860', 'IBM861', 'IBM862', 'IBM863', 'IBM864', 'IBM865', 'IBM866', 'IBM868', 'IBM869', 'IBM870', 'IBM871', 'IBM918', 'ISO-2022-CN', 'ISO-2022-JP', 'ISO-2022-JP-2', 'ISO-2022-KR', 'ISO-8859-1', 'ISO-8859-13', 'ISO-8859-15', 'ISO-8859-2', 'ISO-8859-3', 'ISO-8859-4', 'ISO-8859-5', 'ISO-8859-6', 'ISO-8859-7', 'ISO-8859-8', 'ISO-8859-9', 'JIS_X0201', 'JIS_X0212-1990', 'KOI8-R', 'KOI8-U', 'Shift_JIS', 'TIS-620', 'US-ASCII', 'UTF-16', 'UTF-16BE', 'UTF-16LE', 'UTF-32', 'UTF-32BE', 'UTF-32LE', 'UTF-8', 'X-UTF-32BE-BOM', 'X-UTF-32LE-BOM', 'windows-1250', 'windows-1251', 'windows-1252', 'windows-1253', 'windows-1254', 'windows-1255', 'windows-1256', 'windows-1257', 'windows-1258', 'windows-31j', 'x-Big5-HKSCS-2001', 'x-Big5-Solaris', 'x-COMPOUND_TEXT', 'x-EUC-TW', 'x-IBM1006', 'x-IBM1025', 'x-IBM1046', 'x-IBM1097', 'x-IBM1098', 'x-IBM1112', 'x-IBM1122', 'x-IBM1123', 'x-IBM1124', 'x-IBM1364', 'x-IBM1381', 'x-IBM1383', 'x-IBM300', 'x-IBM33722', 'x-IBM737', 'x-IBM833', 'x-IBM834', 'x-IBM856', 'x-IBM874', 'x-IBM875', 'x-IBM921', 'x-IBM922', 'x-IBM930', 'x-IBM933', 'x-IBM935', 'x-IBM937', 'x-IBM939', 'x-IBM942', 'x-IBM942C', 'x-IBM943', 'x-IBM943C', 'x-IBM948', 'x-IBM949', 'x-IBM949C', 'x-IBM950', 'x-IBM964', 'x-IBM970', 'x-ISCII91', 'x-ISO-2022-CN-CNS', 'x-ISO-2022-CN-GB', 'x-JIS0208', 'x-JISAutoDetect', 'x-Johab', 'x-MS932_0213', 'x-MS950-HKSCS', 'x-MS950-HKSCS-XP', 'x-MacArabic', 'x-MacCentralEurope', 'x-MacCroatian', 'x-MacCyrillic', 'x-MacDingbat', 'x-MacGreek', 'x-MacHebrew', 'x-MacIceland', 'x-MacRoman', 'x-MacRomania', 'x-MacSymbol', 'x-MacThai', 'x-MacTurkish', 'x-MacUkraine', 'x-PCK', 'x-SJIS_0213', 'x-UTF-16LE-BOM', 'x-euc-jp-linux', 'x-eucJP-Open', 'x-iso-8859-11', 'x-mswin-936', 'x-windows-50220', 'x-windows-50221', 'x-windows-874', 'x-windows-949', 'x-windows-950', 'x-windows-iso2022jp'

redis.request.queue.size

The maximum number of queued requests to Redis.

Importance: Low

Type: Int

Default Value: 2147483647

redis.socket.connect.timeout.ms

The amount of time in milliseconds to wait before timing out a socket when connecting.

Importance: Low

Type: Int

Default Value: 10000

redis.socket.keep.alive.enabled

Flag to enable a keepalive to Redis.

Importance: Low

Type: Boolean

Default Value: false

redis.socket.tcp.no.delay.enabled

Flag to enable TCP no delay should be used.

Importance: Low

Type: Boolean

Default Value: true

redis.ssl.provider

The SSL provider to use.

Importance: Low

Type: String

Default Value: JDK

Validator: Matches: OPENSSL, JDK

Examples

Standalone Example

This configuration is used typically along with standalone mode.

name=RedisSinkConnector1
connector.class=com.github.jcustenborder.kafka.connect.redis.RedisSinkConnector
tasks.max=1
topics=< Required Configuration >
Distributed Example

This configuration is used typically along with distributed mode. Write the following json to connector.json, configure all of the required values, and use the command below to post the configuration to one the distributed connect worker(s).

{
  "config" : {
    "name" : "RedisSinkConnector1",
    "connector.class" : "com.github.jcustenborder.kafka.connect.redis.RedisSinkConnector",
    "tasks.max" : "1",
    "topics" : "< Required Configuration >"
  }
}

Use curl to post the configuration to one of the Kafka Connect Workers. Change http://localhost:8083/ the the endpoint of one of your Kafka Connect worker(s).

Create a new instance.

curl -s -X POST -H 'Content-Type: application/json' --data @connector.json http://localhost:8083/connectors

Update an existing instance.

curl -s -X PUT -H 'Content-Type: application/json' --data @connector.json http://localhost:8083/connectors/TestSinkConnector1/config
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].