Java环境为前提

    1. 上传jdk-8u261-linux-x64.rpm到服务器并安装:
    1
    rpm -ivh jdk-8u261-linux-x64.rpm
    1. 配置环境变量并⽣效
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    vim /etc/profile

    #JAVA_HOME
    export JAVA_HOME=/opt/lagou/servers/jdk1.8.0_231
    export PATH=$PATH:$JAVA_HOME/bin

    # ⽣效
    source /etc/profile
    # 验证
    java -version

Zookeeper的安装配置

    1. 上传zookeeper-3.4.14.tar.gz到服务器,解压到/opt:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    tar -zxf zookeeper-3.4.14.tar.gz -C /opt

    cd /opt/zookeeper-3.4.14/conf

    # 复制zoo_sample.cfg命名为zoo.cfg
    cp zoo_sample.cfg zoo.cfg

    # 编辑zoo.cfg⽂件
    vim zoo.cfg

    # 修改Zookeeper保存数据的⽬录,dataDir
    dataDir=/var/lagou/zookeeper/data
    1. 编辑/etc/profile并⽣效
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    vim /etc/profile

    # ZOOKEEPER_PREFIX指向Zookeeper的解压⽬录
    export ZOOKEEPER_PREFIX=/opt/zookeeper-3.4.14
    # 将Zookeeper的bin⽬录添加到PATH中
    export PATH=$PATH:$ZOOKEEPER_PREFIX/bin
    # 设置环境变量ZOO_LOG_DIR,指定Zookeeper保存⽇志的位置
    export ZOO_LOG_DIR=/var/lagou/zookeeper/log

    source /etc/profile
    1. 验证
    1
    zkServer.sh status

Kafka的安装与配置

    1. 上传kafka_2.12-1.0.2.tgz到服务器并解压
    1
    tar -zxf kafka_2.12-1.0.2.tgz -C /opt/lagou/server
    1. 配置环境变量并⽣效
    1
    2
    3
    4
    5
    vim /etc/profile

    #KAFKA_HOME
    export KAFKA_HOME=/opt/lagou/server/kafka_2.12-1.0.2
    export PATH=$PATH:$KAFKA_HOME/bin
    1. 配置/opt/kafka_2.12-1.0.2/config中的server.properties⽂件

    Kafka连接Zookeeper的地址,此处使⽤本地启动的Zookeeper实例,连接地址是localhost:2181,后⾯的myKafka 是Kafka在Zookeeper中的根节点路径:


    配置kafka存储持久化数据的⽬录,log.dir=/var/lagou/kafka/kafka-logs,要先创建目录,如下:

    1
    mkdir -p /var/lagou/kafka/kafka-logs
    1. 启动Zookeeper,并确定状态
    1
    2
    3
    zkServer.sh start

    zkServer.sh status
    1. 启动Kafka

    进⼊Kafka安装的根⽬录,执⾏如下命令

    1
    kafka-server-start.sh config/server.properties

    启动成功,可以看到控制台输出的最后⼀⾏的started状态

    此时Kafka是前台模式启动,要停⽌,使⽤Ctrl+C。

    如果要后台启动,使⽤命令:

    1
    kafka-server-start.sh -daemon config/server.properties
    1. 查看Kafka的后台进程
    1
    ps aux | grep kafka
    1. 停⽌后台运⾏的Kafka
    1
    kafka-server-stop.sh

⽣产与消费

    1. kafka-topics.sh ⽤于管理主题
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 列出现有的主题
    [root@node1 ~]# kafka-topics.sh --list --zookeeper localhost:2181/myKafka

    # 创建主题,该主题包含⼀个分区,该分区为Leader分区,它没有Follower分区副本。
    [root@node1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --create --topic topic_1 --partitions 1 --replication-factor 1

    # 查看分区信息
    [root@node1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --list

    # 查看指定主题的详细信息
    [root@node1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --describe --topic topic_1

    # 删除指定主题
    [root@node1 ~]# kafka-topics.sh --zookeeper localhost:2181/myKafka --delete --topic topic_1
    1. kafka-console-producer.sh⽤于⽣产消息
    1
    2
    # 开启⽣产者
    [root@node1 ~]# kafka-console-producer.sh --topic topic_1 --broker-list localhost:9020
    1. kafka-console-consumer.sh⽤于消费消息
    1
    2
    3
    4
    5
    # 开启消费者
    [root@node1 ~]# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_1

    # 开启消费者⽅式⼆,从头消费,不按照偏移量消费
    [root@node1 ~]# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_1 --from-beginning