• 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.

      

  • 相关阅读:
    Appium Python 六:管理应用和Activity
    Loadrunner 11 遇到的问题
    LoadRunner 测试 Mysql
    LoadRunner录制:集合点
    此博客停止更新
    Mac:文件夹树型展示 tree
    Postman-CI集成Jenkins
    Django-数据模型
    Django-简单项目创建
    Django-安装篇
  • 原文地址:https://www.cnblogs.com/foreverstars/p/5158721.html
Copyright © 2020-2023  润新知