Kafka 快速入门安装

    科技2022-07-12  130

    文章目录

    第 2 章 Kafka 快速入门2.1 安装部署2.1.1 集群规划2.1.2 jar 包下载2.1.3 集群部署2.2 Kafka 命令行操作

    第 2 章 Kafka 快速入门

    2.1 安装部署

    2.1.1 集群规划

    已安装jdk、zookeeper

    master 192168.100.101

    slave1 912.168.100.102

    slave2 192.168.100.103

    2.1.2 jar 包下载

    http://kafka.apache.org/downloads.html

    wget https://www.apache.org/dyn/closer.cgi?path=/kafka/2.4.1/kafka_2.11-2.4.1.tgz
    2.1.3 集群部署

    1)解压安装包

    tar -zxvf kafka_2.11-0.11.0.0.tgz -C /local/software

    2)修改解压后的文件名称

    mv kafka_2.11-0.11.0.0/ kafka

    3)在/opt/module/kafka 目录下创建 logs 文件夹

    mkdir logs

    4)修改配置文件

    cd /local/software/kafka/config/ vi server.properties

    输入以下内容:

    #broker 的全局唯一编号,不能重复 broker.id=0 #删除 topic 功能使能 delete.topic.enable=true #处理网络请求的线程数量 num.network.threads=3 #用来处理磁盘 IO 的现成数量 num.io.threads=8 #发送套接字的缓冲区大小 socket.send.buffer.bytes=102400 #接收套接字的缓冲区大小 socket.receive.buffer.bytes=102400 #请求套接字的缓冲区大小 socket.request.max.bytes=104857600 #kafka 运行日志存放的路径 log.dirs=/local/software/kafka/logs #topic 在当前 broker 上的分区个数 num.partitions=1 #用来恢复和清理 data 下数据的线程数量 num.recovery.threads.per.data.dir=1 #segment 文件保留的最长时间,超时将被删除 log.retention.hours=168 #配置连接 Zookeeper 集群地址 zookeeper.connect=master:2181,slave:2181,slave2:2181

    5)配置环境变量

    vi /etc/profile #KAFKA_HOME export KAFKA_HOME=/opt/module/kafka export PATH=$PATH:$KAFKA_HOME/bin #重启 source /etc/profile

    6)分发kafka

    scp -r /local/software/kafka slave1:/local/software scp -r /local/software/kafka slave2:/local/software

    注意:分发之后记得配置其他机器的环境变量

    7)分别在 slave1 和 slave2上修改配置文件kafka/config/server.properties 中的 broker.id=1、broker.id=2 注:broker.id 不得重复

    8)启动集群

    注:前提启动zookeeper

    依次在 master、slave1、slave2节点上启动 kafka

    前端启动

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

    后端

    bin/kafka-server-start.sh -daemon config/server.properties

    9)关闭集群

    bin/kafka-server-stop.sh stop

    10)kafka 群起脚本 ,在master操作即可

    cd /local/software/kafka/bin vi kk.sh 添加内容: #!/bin/bash case $1 in "start"){ for i in master slave1 slave2 do echo "========== $i ==========" ssh $i '/local/software/kafka/bin/kafka-server-start.sh -daemon /local/software/kafka/config/server.properties' done };; "stop"){ for i in master slave1 slave2 do echo "========== $i ==========" ssh $i '/local/software/kafka/bin/kafka-server-stop.sh' done };; esac

    授权

    chmod 777 kk.sh 启动: kk start 关闭: kk stop
    2.2 Kafka 命令行操作

    1)查看当前服务器中的所有 topic

    bin/kafka-topics.sh --zookeeper master:2181 --list

    2)创建 topic

    bin/kafka-topics.sh --zookeeper hadoop102:2181 --create --replication-factor 3 --partitions 1 -topic mytopic

    选项说明: –topic 定义 topic 名 –replication-factor 定义副本数 –partitions 定义分区数

    3)删除 topic

    bin/kafka-topics.sh --zookeeper master:2181 --delete --topic mytopic

    4)发送消息

    bin/kafka-console-producer.sh --brokerlist master:9092 --topic mytopic

    5)消费消息

    在另一个窗口

    #输入一个看一个 bin/kafka-console-consumer.sh --bootstrap-server master:9092 --topic mytopic #--from-beginning:会把主题中以往所有的数据都读取出来 bin/kafka-console-consumer.sh --bootstrap-server master:9092 --from-beginning --topic mytopic

    6)查看某个 Topic 的详情

    bin/kafka-topics.sh --zookeeper master:2181 --describe --topic mytopic

    7)修改分区数

    bin/kafka-topics.sh --zookeeper master:2181 --alter --topic mytopic --partitions 6 6)查看某个 Topic 的详情

    bin/kafka-topics.sh --zookeeper master:2181 --describe --topic mytopic

    7)修改分区数

    bin/kafka-topics.sh --zookeeper master:2181 --alter --topic mytopic --partitions 6

    Processed: 0.010, SQL: 8