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. Tessnet2图片识别

    验证码识别据说可以用C#图像识别类库Tessnet2来实现,Tessnet2源于目前Google维护的开源项目Tesseract2.本文将对此传说进行验证,含验证结果与验证方法. 1. 验证结果 —— ...

  2. UVa 495 - Fibonacci Freeze

    题目大意:计算斐波那契数列的第n项. 由于结果会很大,要用到大数.开始本来想节省空间的,就没用数组保存,结果超时了... import java.io.*; import java.util.*; i ...

  3. java爬虫技术

    原博:http://983836259.blog.51cto.com/7311475/1730243 开源爬虫分类: 1.分布式爬虫:Nutch 2.JAVA单机爬虫:Crawler4j.WebMag ...

  4. dotnet调用node.js写的socket服务(websocket/socket/socket.io)

    https://github.com/jstott/socketio4net/tree/develop socket.io服务端node.js,.里面有js写的客户端:http://socket.io ...

  5. 如何使用Grunt(好文)

    Grunt 是什么? Grunt 基于Node.js之上,是一个以任务处理为基础的命令行工具,可以减少优化开发版本为发布版本所需的人力和时间,从而加速开发流程.它的工作原理是把这 些工作整合为不同的任 ...

  6. tomcat 安全文件夹(Java之负基础实战)

    tomcat 解析网站的时候,会寻找一个文件叫  WEB-INF 这些文件外部无法访问

  7. Android中服务的生命周期回调方法

  8. Selenium2(java)TestNG的使用 七

      TestNG,即Testing Next Generation,下一代测试技术,是一套根据JUnit和NUnit思想而构建的利用注释来强化测试功能的一个测试框架,即可以用来做单元测试,也可以用来做 ...

  9. JSP中使用Taglib

    http://blog.163.com/jany_1016/blog/static/4604400620091112114127341/ http://blog.csdn.net/yuebinghao ...

  10. Java泛型的类型擦除

    package com.srie.testjava; import java.util.ArrayList; import java.util.List; public class TestGener ...