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:: undefined reference to `__sync_add_and_fetch_4'
collect2: ld 返回
source:
#include <inttypes.h>
int32_t foo (int32_t i) {
return __sync_add_and_fetch(&i, );
} __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:: undefined reference to `__sync_add_and_fetch_8'
collect2: ld 返回
source:
#include <inttypes.h>
int64_t foo (int64_t i) {
return __sync_add_and_fetch(&i, );
}

  请使用下面的命令执行:

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

  4. 执行make

  5. 执行make install.

  

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

  1. Kafka 处理器客户端介绍

    [编者按]本文作者为 Bill Bejeck,主要介绍如何有效利用新的 Apache Kafka 客户端来满足数据处理需求.文章系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文. 如果你 ...

  2. 大数据学习day31------spark11-------1. Redis的安装和启动,2 redis客户端 3.Redis的数据类型 4. kafka(安装和常用命令)5.kafka java客户端

    1. Redis Redis是目前一个非常优秀的key-value存储系统(内存的NoSQL数据库).和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list ...

  3. kafka C客户端librdkafka producer源码分析

    from:http://www.cnblogs.com/xhcqwl/p/3905412.html kafka C客户端librdkafka producer源码分析 简介 kafka网站上提供了C语 ...

  4. apache kafka & CDH kafka源码编译

    Apache kafka编译 前言 github网站kafka项目的README.md有关于kafka源码编译的说明 github地址:https://github.com/apache/kafka ...

  5. kafka消费者客户端(0.9.0.1API)

    转自:http://orchome.com/203 kafka客户端从kafka集群消费消息(记录).它会透明地处理kafka集群中服务器的故障.它获取集群内数据的分区,也和服务器进行交互,允许消费者 ...

  6. kafka Windows客户端Linux服务器---转

    原文:http://blog.csdn.net/jingshuigg/article/details/25001979 一.对于服务器端的搭建可以参考上一篇文章:kafka单机版环境搭建与测试 服务器 ...

  7. Kafka Java 客户端开发

    依赖包导入 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.1 ...

  8. kafka消费者客户端

    Kafka消费者 1.1 消费者与消费者组 消费者与消费者组之间的关系 ​ 每一个消费者都隶属于某一个消费者组,一个消费者组可以包含一个或多个消费者,每一条消息只会被消费者组中的某一个消费者所消费.不 ...

  9. kafka生产者客户端

    kafka的生产者 1. 生产者客户端开发 ​ 熟悉kafka的朋友都应该知道kafka客户端有新旧版本,老版本采用scala编写,新版本采用java编写.随着kafka版本的升级,旧版本客户端已经快 ...

随机推荐

  1. sqlserver merge into

    create table #ttt(id int,name nvarchar(10));merge into #ttt t using (select 1 as id ,'eee' as name ) ...

  2. cocos2d-x 定时器selector的使用 :schedule的使用

    在游戏设计时,我们需要不断的改变屏幕显示来反映游戏操作的效果,最简单的就是提示用户已经进行的游戏时间.为此,我们需要使用cocos2d-x内置的任务调度机制,即CCNode的schedule成员函数. ...

  3. R语言实战(五)方差分析与功效分析

    本文对应<R语言实战>第9章:方差分析:第10章:功效分析 ================================================================ ...

  4. SpringBoot JPA实现增删改查、分页、排序、事务操作等功能

    今天给大家介绍一下SpringBoot中JPA的一些常用操作,例如:增删改查.分页.排序.事务操作等功能.下面先来介绍一下JPA中一些常用的查询操作: //And --- 等价于 SQL 中的 and ...

  5. 1)Java学习笔记:接口和抽象类的异同

    Java接口和抽象类很像,他们有哪些相同点和异同点呢,下面我们做一个小结 相同 ① 都不能被实例化,都位于继承树的顶端,用于被实现或者继承 ② 都可以包含抽象方法,实现接口或者继承抽象类的普通子类都必 ...

  6. Oracle用户管理和角色管理

    原博:http://liwx.iteye.com/blog/1182251 一.创建用户的Profile文件 SQL> create profile student limit // stude ...

  7. spring整合mybatis,springMVC的0配置文件方式

    0配置文件的形式主要是采用spring3.0提供的@configuration注解和spring容器在启动的时候会加载实现了WebApplicationInitializer的类,并调用其onStar ...

  8. Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer

    Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer 解决办法: 1.  Start heka ...

  9. Stanford机器学习课程之一——引言

    Andrew Ng的Machine Learning课程,在网易公开课上有中文版视频http://v.163.com/special/opencourse/machinelearning.html,六 ...

  10. LCA 倍增

    最近公共祖先 对于有根树T的两个结点u.v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u.v的祖先且x的深度尽可能大. #include<cstdio> #include&l ...