2022-03-22 11:44:28 -07:00

89 lines
1.9 KiB
Markdown

---
description: This guide will help install Kafka connector and run manually
---
# Kafka
{% hint style="info" %}
**Prerequisites**
OpenMetadata is built using Java, DropWizard, Jetty, and MySQL.
1. Python 3.7 or above
{% endhint %}
### Install from PyPI
{% tabs %}
{% tab title="Install Using PyPI" %}
```bash
pip install 'openmetadata-ingestion[kafka]'
```
{% endtab %}
{% endtabs %}
### Run Manually
```bash
metadata ingest -c ./examples/workflows/confluent_kafka.json
```
### Configuration
{% code title="confluent_kafka.json" %}
```javascript
{
"source": {
"type": "kafka",
"config": {
"service_name": "local_kafka",
"bootstrap_servers": "192.168.1.32:9092",
"schema_registry_url": "http://192.168.1.32:8081",
"filter_pattern": {
"excludes": ["_confluent.*"]
}
}
},
...
```
{% endcode %}
1. **service\_name** - Service Name for this Kafka cluster. If you added Kafka cluster through OpenMetadata UI, make sure the service name matches the same.
2. **filter\_pattern** - It contains includes, excludes options to choose which pattern of datasets you want to ingest into OpenMetadata
## Publish to OpenMetadata
Below is the configuration to publish Kafka data into the OpenMetadata service.
Add `metadata-rest` sink along with `metadata-server` config
{% code title="confluent_kafka.json" %}
```javascript
{
"source": {
"type": "kafka",
"config": {
"service_name": "local_kafka",
"bootstrap_servers": "192.168.1.32:9092",
"schema_registry_url": "http://192.168.1.32:8081",
"filter_pattern": {
"excludes": ["_confluent.*"]
}
}
},
"sink": {
"type": "metadata-rest",
"config": {
}
},
"metadata_server": {
"type": "metadata-server",
"config": {
"api_endpoint": "http://localhost:8585/api",
"auth_provider_type": "no-auth"
}
}
}
```
{% endcode %}