zoukankan      html  css  js  c++  java
  • kafka集群部署

    Kafka集群部署

    1 环境准备

    1.1 集群规划

    hadoop102 hadoop103 hadoop104

    zk zk zk

    kafka kafka kafka

    1.2 jar下载

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

     

    2 Kafka集群部署

    1)解压安装包

    [atguigu@hadoop102 software]$ tar -zxvf kafka_2.11-0.11.0.0.tgz -C /opt/module/

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

    [atguigu@hadoop102 module]$ mv kafka_2.11-0.11.0.0/ kafka

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

    [atguigu@hadoop102 kafka]$ mkdir logs

    4)修改配置文件

    [atguigu@hadoop102 kafka]$ cd config/

    [atguigu@hadoop102 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=/opt/module/kafka/logs

    #topic在当前broker上的分区个数

    num.partitions=1

    #用来恢复和清理data下数据的线程数量

    num.recovery.threads.per.data.dir=1

    #segment文件保留的最长时间,超时将被删除

    log.retention.hours=168

    #配置连接Zookeeper集群地址

    zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181

    5)配置环境变量

    [atguigu@hadoop102 module]$ sudo vi /etc/profile

     

    #KAFKA_HOME

    export KAFKA_HOME=/opt/module/kafka

    export PATH=$PATH:$KAFKA_HOME/bin

     

    [atguigu@hadoop102 module]$ source /etc/profile

    6)分发安装包

    [atguigu@hadoop102 module]$ xsync kafka/

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

    7)分别在hadoop103hadoop104上修改配置文件/opt/module/kafka/config/server.properties中broker.id=1、broker.id=2

    broker.id不得重复

    8)启动集群

    依次在hadoop102、hadoop103、hadoop104节点上启动kafka

    [atguigu@hadoop102 kafka]$ bin/kafka-server-start.sh config/server.properties &

    [atguigu@hadoop103 kafka]$ bin/kafka-server-start.sh config/server.properties &

    [atguigu@hadoop104 kafka]$ bin/kafka-server-start.sh config/server.properties &

    9)关闭集群

    [atguigu@hadoop102 kafka]$ bin/kafka-server-stop.sh stop

    [atguigu@hadoop103 kafka]$ bin/kafka-server-stop.sh stop

    [atguigu@hadoop104 kafka]$ bin/kafka-server-stop.sh stop

    3 Kafka命令行操作

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

    [atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181 --list

    2)创建topic

    [atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181

    --create --replication-factor 3 --partitions 1 --topic first

    选项说明:

    --topic 定义topic名

    --replication-factor  定义副本数

    --partitions  定义分区数

    3)删除topic

    [atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181

    --delete --topic first

    需要server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启。

    4)发送消息

    [atguigu@hadoop102 kafka]$ bin/kafka-console-producer.sh

    --broker-list hadoop102:9092 --topic first

    >hello world

    >atguigu  atguigu

    5)消费消息

    [atguigu@hadoop103 kafka]$ bin/kafka-console-consumer.sh

    --zookeeper hadoop102:2181 --from-beginning --topic first

    --from-beginning:会把first主题中以往所有的数据都读取出来。根据业务场景选择是否增加该配置。

    6)查看某个Topic的详情

    [atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181

    --describe --topic first

  • 相关阅读:
    ajax提交form表单
    数组算法
    option标签如何获取显示信息
    web.xml的作用
    getServletContext()和getServletConfig()及JAVA当前路径解决
    js提交表单
    Apache Commons fileUpload实现文件上传
    笔记本电脑突然没有声音
    作业调度方案题解
    VScode运行python文件无反应(使用Code Runner)
  • 原文地址:https://www.cnblogs.com/dhName/p/15072765.html
Copyright © 2011-2022 走看看