Centos7下kafka环境搭建以及rdkafka编译

1. 安装最新版 jdk

  1. 查看 centos 自带的 openjdk 安装包:

    rpm -qa | grep openjdk
    java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
    java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
    
  2. 卸载 centos7 的 openjdk:

    yum -y remove java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64 java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
    
  3. 下载 jdk1.8

    oracle 官方下载

    注意:也可以使用yum安装,但相对的java路径会在对应的系统路径中。

  4. 解压 jdk 安装脚本

    sh jdk-8u171-nb-8_2-linux-x64.sh
    
    vi /etc/profile
    JAVA_HOME=/home/xxx/software/jdk1.8.0_201  
    JRE_HOME=/home/xxx/software/jdk1.8.0_201/jre  
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin  
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib  
    export JAVA_HOME JRE_HOME PATH CLASSPATH
    
  5. 使 profile 文件生效

    source /etc/profile
    
  6. 测试 Java 是否安装成功

    java -version
    

2. Zookeeper 安装

  1. 下载正确版本的zookeeper

    zookeeper的版本与使用的kafka版本有关,这里我们将使用最新版2.13-2.6.0kafka,对应则需要3.5.8版本的zookeeper。

    zookeeper 下载

  2. 解压:

    tar xvf zookeeper-3.5.8.tar.gz
    
  3. 配置:

    进入zookeeper的解压目录

    cd zookeeper-3.5.8
    

    拷贝并修改配置文件

    cd conf
    cp zoo_sample.cfg zoo.cfg
    vim zoo.cfg
    
    # 存储快照文件的目录,默认情况下, 事务日志也会存储在该目录上
    dataDir=/yourdirectory/zookeeper/data
    # 由于事务日志 的写性能直接影响 ZooKeeper 性能,因此 建议同时配置参数 dataLogDir
    dataLogDir=/yourdirectory/data/zookeeper/logs
    
    # 为避免出现端口冲突,需要补充以下端口
    clientPort=2181
    admin.serverPort=8080
    

    修改环境变量

    vim ~/.bashrc
    
    export ZOOKEEPER_HOME=/yourdirectory/zookeeper-3.5.8
    expoft PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$ZOOKEEPER_HOME/bin
    
    source ~/.bashrc
    
  4. 验证:

    zkServer.sh start 
    zkServer.sh status 
    

    输出下面类似结果表示安装成功

    ZooKeeper JMX enabled by default
    Using config: /yourdirectory/zookeeper/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    
  5. 错误日志:

    cd /zookeeperdirectory/logs
    # 查看这个目录下的日志文件即可分析无法启动的错误
    

3. kafka 安装

  1. 下载正确版本的kafka

    kafka 下载

    此处版本为kafka_2.13_2.6.0。

  2. 解压:

    tar xvf kafka_2.13-2.6.0.tgz
    
  3. 配置:

    进入 kafka 的解压目录

    cd kafka_2.13-2.6.0
    

    拷贝并修改配置文件

    cd config
    vim server.properties
    
    # 如果出现端口冲突,请修改这里
    listeners=PLAINTEXT://192.168.1.1:9092
    # kafka 相关日志路径
    log.dirs=/yourdirectory/logs/kafka
    # kafka 连接的zookeeper服务,与之前配置的zookeeper保持一致
    zookeeper.connect=localhost:2181
    

    修改环境变量

    vim ~/.bashrc
    
    export KAFKA_HOME=/yourdirectory/kafka_2.13-2.6.0
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$ZOOKEEPER_HOME/bin:$KAFKA_HOME/bin
    
    source ~/.bashrc
    
  4. 启动:

    kafka-server-start.sh -daemon /kafkadirectory/config/server.properties
    
  5. 错误日志:

    cd /kafkadi/logs
    # 查看这个目录下的日志文件即可分析无法启动的错误
    

4. rdkafka 库编译安装

  1. 下载最新稳定版rdkafka

    rdkafka 发行版

  2. 解压:

    tar zxvf v1.5.3.tar.gz
    
  3. 编译:

    cd librdkafka
    mkdir build && cd build
    cmake -DCMAKE_BUILD_TYPE=Release ..
    make -j 8
    

    在centos下可能会报告如下错误导致编译报错:

    --   No package 'libsasl2' found
    

    此时需要手动安装sasl库

    yum install cyrus-sasl cyrus-sasl-devel cyrus-sasl-lib cyrus-sasl-gssapi
    
  4. 测试:

    编译完成后,即可参考examples目录下的程序进行编程开发。

5. kafka 的使用

kafka 教程

参考此链接,自行创建topic,再借助rdkafka或者kafka自身的脚本工具,即可完成队列的消费与生产。

参考文献:
kafka 安装:https://www.jianshu.com/p/c74e0ec577b0
jdk 安装:https://www.jianshu.com/p/093413f2a04f
kafka 官网:https://kafka.apache.org/downloads

你可能感兴趣的:(Centos7下kafka环境搭建以及rdkafka编译)