日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

kafka streams_Kafka REST Proxy for MapR Streams入门

發(fā)布時間:2023/12/3 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kafka streams_Kafka REST Proxy for MapR Streams入门 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

kafka streams

介紹

MapR生態(tài)系統(tǒng)軟件包2.0(MEP)隨附了一些與MapR流有關(guān)的新功能:

  • 用于MapR Streams的Kafka REST代理為MapR Streams和Kafka集群提供RESTful接口,以使用和生成消息并執(zhí)行管理操作。
  • Kafka Connect for MapR Streams是一個實用程序,用于在MapR Streams與Apache Kafka和其他存儲系統(tǒng)之間流式傳輸數(shù)據(jù)。

MapR生態(tài)系統(tǒng)軟件包(MEP)是一種提供與核心升級脫鉤的生態(tài)系統(tǒng)升級的方法-允許您獨立于聚合數(shù)據(jù)平臺升級工具。 您可以在本文中進一步了解MEP 2.0。

在此博客中,我們描述了如何使用REST代理向MapR流發(fā)布消息和使用消息。 REST代理是對MapR融合數(shù)據(jù)平臺的重要補充,允許任何編程語言使用MapR流。

MapR Streams工具隨附的Kafka REST Proxy可以與MapR Streams一起使用(默認),也可以與Apache Kafka混合使用。 在本文中,我們將重點介紹MapR流。 <!–更多–>

先決條件

  • 具有MEP 2.0的MapR融合數(shù)據(jù)平臺5.2
    • 使用MapR Streams工具
  • curl,wget或任何HTTP / REST客戶端工具

創(chuàng)建MapR流和主題

流是主題的集合,您可以通過以下方式將其分組管理:

  • 設(shè)置適用于該流中所有主題的安全策略
  • 為流中創(chuàng)建的每個新主題設(shè)置默認的分區(qū)數(shù)
  • 為流中每個主題的消息設(shè)置生存時間
  • 您可以在文檔中找到有關(guān)MapR Streams概念的更多信息。

    在您的Mapr群集或沙盒上,運行以下命令:

    $ maprcli stream create -path /apps/iot-stream -produceperm p -consumeperm p -topicperm p$ maprcli stream topic create -path /apps/iot-stream -topic sensor-json -partitions 3$ maprcli stream topic create -path /apps/iot-stream -topic sensor-binary -partitions 3

    啟動Kafka控制臺的生產(chǎn)者和消費者

    打開兩個終端窗口,并使用以下命令運行使用者的Kafka實用程序:

    消費者

    • 主題傳感器-json
    $ /opt/mapr/kafka/kafka-0.9.0/bin/kafka-console-consumer.sh --new-consumer --bootstrap-server this.will.be.ignored:9092 --topic /apps/iot-stream:sensor-json
    • 主題傳感器二進制
    $ /opt/mapr/kafka/kafka-0.9.0/bin/kafka-console-consumer.sh --new-consumer --bootstrap-server this.will.be.ignored:9092 --topic /apps/iot-stream:sensor-binary

    這兩個終端窗口可讓您查看有關(guān)不同主題的消息

    使用Kafka REST代理

    檢查主題元數(shù)據(jù)

    端點/topics/[topic_name]允許您獲取有關(guān)該主題的一些信息。 在MapR Streams中,主題是路徑標識的流的一部分; 要使用REST API使用主題,您必須使用完整路徑,并在URL中進行編碼; 例如:

    • /apps/iot-stream:sensor-json將使用%2Fapps%2Fiot-stream%3Asensor-json進行編碼

    運行以下命令,以獲取有關(guān)sensor-json主題的信息

    $ curl -X GET http://localhost:8082/topics/%2Fapps%2Fiot-stream%3Asensor-json

    注意:為簡單起見,我從運行Kafka REST代理的節(jié)點上運行命令,因此可以使用localhost 。

    您可以通過添加以下Python命令,以一種漂亮的方式打印JSON:

    $ curl -X GET http://localhost:8082/topics/%2Fapps%2Fiot-stream%3Asensor-json | python -m json.tool

    默認流

    如上所述,流路徑是您必須在命令中使用的主題名稱的一部分。 但是可以將MapR Kafka REST代理配置為使用默認流。 為此,您應(yīng)該在/opt/mapr/kafka-rest/kafka-rest-2.0.1/config/kafka-rest.properties文件中添加以下屬性:

    • streams.default.stream=/apps/iot-stream更改Kafka REST代理配置時,必須使用maprcli或MCS重新啟動服務(wù)。使用streams.default.stream屬性的streams.default.stream是簡化URL使用的URL。以應(yīng)用為例
      • 通過streams.default.stream ,可以使用curl -X GET http://localhost:8082/topics/

      在本文中,所有URL都包含編碼的流名稱,就像您可以開始使用Kafka REST代理而無需更改配置,也可以將其用于其他流。

    發(fā)布消息

    用于MapR流的Kafka REST代理允許應(yīng)用程序?qū)⑾l(fā)布到MapR流。 消息可以作為JSON或二進制內(nèi)容(base64編碼)發(fā)送。

    要發(fā)送JSON消息:

    • 查詢應(yīng)該是HTTP POST
    • 內(nèi)容類型應(yīng)為: application/vnd.kafka.json.v1+json
    • 身體:
    {"records":[{"value":{"temp" : 10 ,"speed" : 40 ,"direction" : "NW"} }] }

    完整的請求是:

    curl -X POST -H "Content-Type: application/vnd.kafka.json.v1+json" \--data '{"records":[{"value": {"temp" : 10 , "speed" : 40 , "direction" : "NW"} }]}' \http://localhost:8082/topics/%2Fapps%2Fiot-stream%3Asensor-json

    您應(yīng)該在運行/apps/iot-stream:sensor-json使用者的終端窗口中看到打印的消息。

    要發(fā)送二進制消息:

    • 查詢應(yīng)該是HTTP POST
    • 內(nèi)容類型應(yīng)為: application/vnd.kafka.binary.v1+json
    • 身體:
    {"records":[{"value":"SGVsbG8gV29ybGQ="}] }

    請注意, SGVsbG8gV29ybGQ=是在Base64中編碼的字符串“ Hello World”。

    完整的請求是:

    curl -X POST -H "Content-Type: application/vnd.kafka.binary.v1+json" \--data '{"records":[{"value":"SGVsbG8gV29ybGQ="}]}' \http://localhost:8082/topics/%2Fapps%2Fiot-stream%3Asensor-binary

    您應(yīng)該在/apps/iot-stream:sensor-binary使用者正在運行的終端窗口中看到打印的消息。

    發(fā)送多條消息

    HTTP正文的records字段允許您發(fā)送多個消息,例如,您可以發(fā)送:

    curl -X POST -H "Content-Type: application/vnd.kafka.json.v1+json" \--data '{"records":[{"value": {"temp" : 12 , "speed" : 42 , "direction" : "NW"} }, {"value": {"temp" : 10 , "speed" : 37 , "direction" : "N"} } ]}' \http://localhost:8082/topics/%2Fapps%2Fiot-stream%3Asensor-json

    該命令將發(fā)送2條消息,并將偏移量增加2。您可以對二進制內(nèi)容執(zhí)行相同的操作,只需在JSON數(shù)組中添加新元素即可; 例如:

    curl -X POST -H "Content-Type: application/vnd.kafka.binary.v1+json" \--data '{"records":[{"value":"SGVsbG8gV29ybGQ="}, {"value":"Qm9uam91cg=="}]}' \http://localhost:8082/topics/%2Fapps%2Fiot-stream%3Asensor-binary

    您可能知道,可以為消息設(shè)置密鑰,以確保所有具有相同密鑰的消息都將到達同一分區(qū)。 為此,將key屬性添加到消息中,如下所示:

    {"records":[{"key": "K001","value":{"temp" : 10 ,"speed" : 40 ,"direction" : "NW"} }] }

    既然您知道如何使用REST代理將消息發(fā)布到MapR Stream主題,那么讓我們看看如何使用消息。

    消費信息

    REST代理還可以用于消費主題消息。 為此,您需要:

  • 創(chuàng)建使用者實例。
  • 使用第一次調(diào)用返回的URL讀取消息。
  • 如果需要,請刪除實例的使用者。
  • 創(chuàng)建使用者實例

    以下請求創(chuàng)建使用者實例:

    curl -X POST -H "Content-Type: application/vnd.kafka.v1+json" \--data '{"name": "iot_json_consumer", "format": "json", "auto.offset.reset": "earliest"}' \http://localhost:8082/consumers/%2Fapps%2Fiot-stream%3Asensor-json

    服務(wù)器的響應(yīng)如下所示:

    {"instance_id":"iot_json_consumer","base_uri":"http://localhost:8082/consumers/%2Fapps%2Fiot-stream%3Asensor-json/instances/iot_json_consumer" }

    請注意,我們已經(jīng)使用/consumers/[topic_name]創(chuàng)建使用者。

    后續(xù)請求將使用base_uri從主題獲取消息。 與任何MapR Streams / Kafka使用者一樣, auto.offset.reset定義其行為。 在此示例中,該值設(shè)置為earliest ,這意味著使用者將從頭開始閱讀消息。 您可以在MapR Streams文檔中找到有關(guān)使用者配置的更多信息。

    消費信息

    要使用這些消息,只需將Mapr Streams主題添加到使用者實體的URL。

    以下請求使用了該主題的消息:

    curl -X GET -H "Accept: application/vnd.kafka.json.v1+json" \ http://localhost:8082/consumers/%2Fapps%2Fiot-stream%3Asensor-json/instances/iot_json_consumer/topics/%2Fapps%2Fiot-stream%3Asensor-json

    此調(diào)用返回JSON文檔中的消息:

    [{"key":null,"value":{"temp":10,"speed":40,"direction":"NW"},"topic":"/apps/iot-stream:sensor-json","partition":1,"offset":1},{"key":null,"value":{"temp":12,"speed":42,"direction":"NW"},"topic":"/apps/iot-stream:sensor-json","partition":1,"offset":2},{"key":null,"value":{"temp":10,"speed":37,"direction":"N"},"topic":"/apps/iot-stream:sensor-json","partition":1,"offset":3} ]

    每次對API的調(diào)用都會根據(jù)上一次調(diào)用的偏移量返回發(fā)布的新消息。

    請注意,消費者將被銷毀:

    • 由consumer.instance.timeout.ms實例。超時。毫秒設(shè)置的空閑時間后(默認值設(shè)置為300000毫秒/ 5分鐘)
    • 使用REST API調(diào)用銷毀它(見下文)。

    消費二進制格式的消息

    如果需要使用二進制消息,則需要更改格式并接受標頭,該方法是相同的。

    調(diào)用此URL為二進制主題創(chuàng)建使用者實例:

    curl -X POST -H "Content-Type: application/vnd.kafka.v1+json" \--data '{"name": "iot_binary_consumer", "format": "binary", "auto.offset.reset": "earliest"}' \http://localhost:8082/consumers/%2Fapps%2Fiot-stream%3Asensor-binary

    然后使用消息,accept標頭設(shè)置為application/vnd.kafka.binary.v1+json :

    curl -X GET -H "Accept: application/vnd.kafka.binary.v1+json" \ http://localhost:8082/consumers/%2Fapps%2Fiot-stream%3Asensor-binary/instances/iot_binary_consumer/topics/%2Fapps%2Fiot-stream%3Asensor-binary

    該調(diào)用返回JSON文檔中的消息,并且該值在Base64中編碼

    [{"key":null,"value":"SGVsbG8gV29ybGQ=","topic":"/apps/iot-stream:sensor-binary","partition":1,"offset":1},{"key":null,"value":"Qm9uam91cg==","topic":"/apps/iot-stream:sensor-binary","partition":1,"offset":2} ]

    刪除使用者實例

    如前所述,將根據(jù)REST Proxy的consumer.instance.timeout.ms配置自動銷毀consumer.instance.timeout.ms 。 也可以使用使用者實例URI和HTTP DELETE調(diào)用銷毀實例,如下所示:

    curl -X DELETE http://localhost:8082/consumers/%2Fapps%2Fiot-stream%3Asensor-binary/instances/iot_binary_consumer

    結(jié)論

    在本文中,您學(xué)習(xí)了如何將Kafka REST代理用于MapR流,該代理允許任何應(yīng)用程序使用在MapR聚合數(shù)據(jù)平臺中發(fā)布的消息。

    您可以在MapR文檔和以下資源中找到有關(guān)Kafka REST代理的更多信息:

    • MapR Streams入門
    • Ted Dunning和Ellen Friedman撰寫的“流傳輸體系結(jié)構(gòu):使用Apache Kafka和MapR流的新設(shè)計”電子書

    翻譯自: https://www.javacodegeeks.com/2017/01/getting-started-kafka-rest-proxy-mapr-streams.html

    kafka streams

    總結(jié)

    以上是生活随笔為你收集整理的kafka streams_Kafka REST Proxy for MapR Streams入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 永久免费av在线 | www黄色网址| 色综合久久久久综合体桃花网 | 天天色影院 | 国产h视频在线 | 日韩一级片中文字幕 | 久草影视在线 | 性网| 欧美日韩一级在线观看 | 国产人妖一区 | 男人狂揉女人下部视频 | 伊人久久一区二区三区 | 中文字幕乱码一二三区 | 美女被草视频 | 97超碰人 | www.sesehu| 色一情一交一乱一区二区三区 | 91看片淫黄大片 | 国产最爽的乱淫视频国语对白 | 女同爱爱视频 | 亚洲熟伦熟女新五十路熟妇 | 国产欧美网站 | 精品三区 | www,四虎| 久久综合五月婷婷 | 91日韩一区二区 | 日日夜夜一区 | 亚洲日日干 | 狠狠操亚洲| 亚洲精品免费电影 | 牛夜精品久久久久久久99黑人 | 青青艹在线观看 | 久久久国产精品 | 福利小视频在线 | 国产盗摄一区二区三区在线 | 天天做夜夜做 | 无码国产精品一区二区色情男同 | 欧美精品四区 | 国产精品1000部啪视频 | 一区二区三区午夜 | 放荡闺蜜高h季红豆h | 91麻豆精品91久久久久同性 | 久久成人黄色 | 婷婷六月综合网 | 国产成人精品网站 | 自拍亚洲一区 | www啪啪 | 久久久久人妻一区 | 91高潮大合集爽到抽搐 | 日本特级片| 久久亚洲无码视频 | 亚洲美女性生活视频 | 四虎影院成人 | 国产精品s色 | 黄色大片一级片 | jiizzyou欧美2 | 四虎av在线播放 | 99久久精品国产一区二区三区 | 狠狠草视频 | 乌克兰极品av女神 | 在线免费看mv的网站入口 | 一区二区激情视频 | 好屌妞视频这里只有精品 | 97精品人妻一区二区 | 午夜精品久久久久久久久久久久 | 人妖ts福利视频一二三区 | 亚洲激情一区二区 | 国产视色 | 青青久在线视频 | 织田真子作品 | 久久久久久久中文字幕 | 韩日精品在线 | 超碰女| 国产99久久九九精品无码 | 色老大网站 | 久久久久久久国产精品毛片 | 亚洲h网站 | 九色精品| 日一日射一射 | 毛片最新网址 | 在线观看中文字幕av | 欧美日韩999 | 91精品亚洲一区 | 少妇福利视频 | 韩国伦理在线 | 亚洲欧美天堂网 | 欧美一级黄色片 | 日韩一级片在线 | 国产区二区| 国产亚洲精品久久久久久777 | 91av国产在线| 亚洲在线观看一区 | 欧美三级又粗又硬 | 国产精品久久麻豆 | 香蕉视频黄色 | 97精品一区二区 | 日韩欧美视频网站 | 99久久99| 福利午夜视频 |