zoukankan      html  css  js  c++  java
  • 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.

      

  • 相关阅读:
    Jmeter性能监测及安装插件(推荐)
    测试用例使用传统excel还是思维导图(Xmind、MindManager等)?
    测试用例设计
    一个资深测试员的感悟
    log4j教程 10、PatternLayout
    log4j教程 9、HTMLLayout
    log4j教程 8、日志格式化
    log4j教程 7、日志记录级别
    log4j教程 6、Logger方法
    log4j教程 5、示例程序
  • 原文地址:https://www.cnblogs.com/foreverstars/p/5158721.html
Copyright © 2011-2022 走看看