kafka c++客户端编译

  Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群机来提供实时的消费。

  下面讲解kafka的c++客户端编译链接过程。

  1. 在下面的网址可以找到各种语言的客户端地址:https://cwiki.apache.org/confluence/display/KAFKA/Clients#Clients-C/C++

  可以找到c/c++客户端地址:https://github.com/edenhill/librdkafka

  2. 下载解压后,在目录下执行:./configure

  3. 报错如下:

    

###########################################################
###                  Configure failed                   ###
###########################################################
### Accumulated failures:                               ###
###########################################################
 __sync_32 (HAVE_ATOMICS_32)
    module: atomics
    action: disable
    reason:
compile check failed:
CC: CC
flags:
gcc  -g -O2 -fPIC -Wall -Werror  _mkltmp30679.c -o _mkltmp30679.c.o  :
/tmp/ccUxfUe4.o: In function `foo‘:
/home/xumj/support/kafka/librdkafka-master/_mkltmp30679.c:4: undefined reference to `__sync_add_and_fetch_4‘
collect2: ld 返回 1
source:
#include <inttypes.h>
int32_t foo (int32_t i) {
  return __sync_add_and_fetch(&i, 1);
}

 __sync_64 (HAVE_ATOMICS_64)
    module: atomics
    action: disable
    reason:
compile check failed:
CC: CC
flags:
gcc  -g -O2 -fPIC -Wall -Werror  _mkltmp30720.c -o _mkltmp30720.c.o  :
/tmp/ccyNHxii.o: In function `foo‘:
/home/xumj/support/kafka/librdkafka-master/_mkltmp30720.c:4: undefined reference to `__sync_add_and_fetch_8‘
collect2: ld 返回 1
source:
#include <inttypes.h>
int64_t foo (int64_t i) {
  return __sync_add_and_fetch(&i, 1);
}

  请使用下面的命令执行:

    CFLAGS="-O2 -march=i686" ./configure --cc=gcc --cxx=g++ --arch=i686 --mbits=32 --prefix=/home/test/support/kafka/install

  4. 执行make

  5. 执行make install.

  

时间: 2024-10-22 16:42:38

kafka c++客户端编译的相关文章

maven依赖本地非repository中的jar包-依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理

maven依赖本地非repository中的jar包 http://www.cnblogs.com/piaolingxue/archive/2011/10/12/2208871.html 博客分类: MAVEN 今天在使用maven编译打包一个web应用的时候,碰到一个问题: 项目在开发是引入了依赖jar包,放在了WEB-INF/lib目录下,并通过buildpath中将web libariary导入. 在eclipse中开发没有问题,但是使用maven编译插件开始便宜总是报找不到WEB-INF

kafka C客户端librdkafka producer源码分析

简介 kafka网站上提供了C语言的客户端librdkafka,地址在这. librdkafka是使用C语言根据apache kafka 协议实现的客户端.另外这个客户端还有简单的c++接口.客户端作者对这个客户端比较上心,经常会修改bug并提交新功能. librdkafka的基本原理和我之前博客说的java版producer类似,一个线程向队列中加数据,另一个线程通过非阻塞的方式从队列中取出数据,并写入到broker. 源码分析 源码包含两个文件夹src和src-cpp src是用c实现的源码

xfreerdp-server 服务器及客户端编译

xfreerdp-server 服务器编译 1.首先查看cmake 版本 cmake -version   如果版本号小于2.8.8 需要重新安装最新的版本 更新版本如下: 1)apt-get autoremove cmake 删除就版本 2)下载最新的版本 cd /usr wget http://www.cmake.org/files/v2.8/cmake-2.8.9-Linux-i386.tar.gz tar zxvf cmake-2.8.9-Linux-i386.tar.gz (解压) 修

Unreal4 客户端编译.调试.与常见问题

很多天没更新微博了,最近工作比较忙在支持一个UE3的项目,EasyKit架构也在无缝地图的方面设计更多解决方案(UnrealEngine4中自带一个seamless travel,主要涉及到广播和LevelStreaming).昨天查资料发现好多人在问如何编译客户端.好吧,如果不了的确要花点时间研究如何编译客户端. 如果同学们想用VisualStudio编译客户端来查看,打包成游戏后程序的运行机制需要按照以下几个步骤方可成功编译Client.(编辑器中跟代码会跟实际游戏客户端代码运行步骤不同,因

Kafka JAVA客户端代码示例--高级应用

什么时间使用高级应用? 针对一个消息读取多次 在一个process中,仅仅处理一个topic中的一组partitions 使用事务,确保每个消息只被处理一次 使用高级应用(调用较底层函数)的缺点? SimpleConsumer需要做很多额外的工作(在以groups方式进行消息处理时不需要) 在应用程序中跟踪上次消息处理的offset 确定一个topic partition的lead broker 手工处理broker leander的改变 使用底层函数(SimpleConsumer)开发的步骤

【Flume】自定义sink kafka,并编译打包jar,unapproval license的问题解决

如图所示,新建一个JAVA工程,编辑pom文件,pom文件内容如下[这里取出了parent]: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoca

Kafka(六)Kafka基本客户端命令操作

主题管理 创建主题 如果配置了auto.create.topics.enable=true(这也是默认值)这样当生产者向一个没有创建的主题发送消息就会自动创建,其分区数量和副本数量也是有默认配置来控制的. # 我们这里创建一个3个分区每个分区有2个副本的主题 kafka-topics.sh --create --zookeeper 172.16.48.171:2181/kafka --replication-factor 2 --partitions 3 --topic KafkaTest --

kafka Py客户端

1.pip install kafka-python 2.Producer.py from kafka import KafkaProducer producer = KafkaProducer(bootstrap_servers='10.32.106.42:9092') for _ in range(1000): producer.send('foobar', b'some_message_bytes') 3.consumer.py from kafka import KafkaConsume

WIN10网狐开发环境搭建与Android客户端编译

http://i2.51cto.com/images/blog/201802/09/2e8eb644b82d1642df8b920f053a7bb0.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)http://i2.51cto.com/images/blog/201802/09