2016-07-20 7 views
0

에 kafkaConnect를 구성노하우 내가 카프카 카산드라에 카프카 항목에서 연결 설정하려는 카프카에서 카산드라

문제는 간단하다 : 나는

{"id":"1", "name":"Alex", "clicks":2} 

같은 JSON 데이터와 카프카의 데모 주제를 가지고 말 id, name, clicks 등의 열이있는 cassanra 테이블에 자동으로 넣기를 원합니다.

나는 kafka-connect-cassandra을보고 있지만, 나는 카산드라에서 읽고 카프카를 통해 다른 카산드라 테이블에 글을 쓰는 것만 알 수 있습니다.

내 질문에 카산드라가 아닌 카프카에서 어떻게 읽을 수 있습니까? 그 일을 위해 예를 들어 오픈 소스를 찾고 있습니다.

답변

1

이 예에서는 커넥터의 소스 및 싱크 기능을 함께 보여줍니다. 당신의 유스 케이스가 카프카 주제에서 카산드라 테이블로 데이터를 푸시하는 것이라면 싱크대 만 있으면된다. 다음 단계를 따르십시오.

  1. 싱크 속성 파일을 직접 만드십시오. 예 : this as an을 사용하십시오. 더 자세한 단계의 예에 관심이 있다면 명령 CLASSPATH=<<path-to-connector-jar>> ./bin/connect-standalone connect-standalone.properties my-sink.properties

를 설치 홈 디렉토리에 my-sink.properties

  • 이동로 저장하고 실행 여기를 참조 : https://github.com/yaravind/kafka-connect-jenkins#standalone-mode (전체 공개 : 나는 젠킨스에 대한 해당 커넥터를 유지 .)

  • 0

    나는 같은 이슈를 가지고 있었고, 나는 https://www.confluent.io/blog/kafka-connect-cassandra-sink-the-perfect-match/에 있었다. DataMountaine 드라이버 (http://docs.datamountaineer.com/en/latest/cassandra-sink.html)를 사용하고 분산 모드로 설정하고 있습니다.

    { 
    "name": "cassandra.sink.yourConfigName", 
    "config": { 
        "connector.class": "com.datamountaineer.streamreactor.connect.cassandra.sink.CassandraSinkConnector", 
        "tasks.max": "1", 
        "topics": "<your topic>", 
        "connect.cassandra.sink.kcql": "INSERT INTO <your_table> SELECT * FROM <your_kafka_topic>;", 
        "connect.cassandra.contact.points": "<cassandra nodes>", 
        "connect.cassandra.port": "<cassandra port>", 
        "connect.cassandra.key.space": "<cassandra keyspace>", 
        "connect.cassandra.username": "cassandra", 
        "connect.cassandra.password": "cassandra" 
        }} 
    
    : 당신이 설정 한 후에

    , (합류-연결을위한 REST API를 통해 업로드)이 카산드라 커넥터의 구성 JSON과 같은 보일 것이다

    관련 문제