美文网首页
Kafka集群部署-最详细解析

Kafka集群部署-最详细解析

作者: 会飞的猪_password | 来源:发表于2020-01-07 10:43 被阅读0次

    设备和资源准备

    • 多台服务器(ps:我这里用了三台)
    • kafka_2.11-2.3.1.tgz
    • jdk8以上的环境

    首先要关闭防火墙
    查看防火墙状态: firewall-cmd --state 停止防火墙:systemctl stop firewalld.service 开机禁止防火墙: systemctl disable firewalld.service

    服务器分布如下:

    服务器 Myid
    10.240.1.5 3
    10.240.1.6 2
    10.240.1.7 1

    解压kafka jar包并修改配置

    tar -zxvf kafka_2.11-2.3.1.tgz
    

    解压之后进入kafka文件夹
    新建文件夹log和zookeeper 目录结构如下


    image.png

    ps:logs文件夹是系统自动生成的
    1、创建myid文件,进入zookeeper之后
    vi myid 然后输入

    服务器 myid
    10.240.1.5 3
    10.240.1.6 2
    10.240.1.7 1

    不同的服务器对应不同的myid,切记重复。
    然后在当前文件夹下执行
    echo "1" > myid
    echo "2" > myid
    echo "3" > myid
    2、然后进入config文件夹,修改kafka的配置文件 server.properties

    broker.id=2 这个在不同的服务器上修改成对应的编号,要和myid保持一致。

    listeners=PLAINTEXT://10.240.1.5:9092 
    advertised.listeners=PLAINTEXT://10.240.1.5:9092
    修改成自己服务器的ip
    zookeeper.connect=10.240.1.5:2181,10.240.1.6:2181,10.240.1.7:2181
    

    指定日志生成位置
    log.dirs=/u01/app/kafka/kafka_2.11-2.3.1/log/kafka
    以上是kafka的配置文件修改
    3、修改zookeeper的配置文件 zookeeper.properties

    maxClientCnxns=100
    tickTime=2000
    initLimit=10
    syncLimit=5
    
    server.1=10.240.1.5:2888:3888
    server.2=10.240.1.6:2888:3888
    server.3=10.240.1.7:2888:3888
    
    

    末尾加上以上配置信息
    指定日志生产位置
    dataDir=/root/kafka/kafka_2.11-2.3.1/zookeeper dataLogDir=/root/kafka/kafka_2.11-2.3.1/log/zookeeper
    4、关键的一步,核对和broker.id保持一致的设置
    进入到 /root/kafka/kafka_2.11-2.3.1/log/kafka
    然后

    image.png

    编辑这个文件,里面有broker.id= 修改自己对应的id

    至此修改配置的工作已完成,切记每台服务器都不要漏掉

    运行zookeeper集群和kafka集群

    1、首先是启动每台服务器上的zookeeper
    后台启动命令

     nohup ./zookeeper-server-start.sh ../config/zookeeper.properties >../log/zookeeper/zookeeper-run.log 2>&1 &
    

    日志位置路径要修改成自己的路径信息
    前台启动命令

     ./zookeeper-server-start.sh ../config/zookeeper.properties 
    

    2、启动每台服务器上的kafka
    后台启动命令

     nohup ./kafka-server-start.sh ../config/server.properties  >../log/kafka/kafka-run.log 2>&1 &
    

    前台启动命令

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

    3、创建topic
    我们把myid=1的作为主节点,在此服务器上创建topic主题

    ./kafka-topics.sh --create --zookeeper 10.240.1.5:2181,10.240.1.6:2181,10.240.1.7:2181 --replication-factor 1 --partitions 1 --topic test_kafkaEFR
    

    然后去每台服务器检查是否创建成功

    ./kafka-topics.sh -list -zookeeper localhost:2181
    

    4、发送消息,测试消息同步
    我们在主节点服务器上发送消息

    ./kafka-console-producer.sh --broker-list 10.240.1.5:9092 ,10.240.1.6:9092 ,10.240.1.7:9092 --topic test_kafkaEFR
    

    然后各自服务器消费消息

    ./kafka-console-consumer.sh --bootstrap-server 10.240.1.5:9092 ,10.240.1.6:9092 ,10.240.1.7:9092 --topic test_kafkaEFR --from-beginning
    
    

    如果能同步接收,至此集群部署完成 ps:启动kafka的时候要同时启动,不然会报错
    卡夫卡消息读取的客户端


    微信图片_20200116101851.png

    相关文章

      网友评论

          本文标题:Kafka集群部署-最详细解析

          本文链接:https://www.haomeiwen.com/subject/tancoctx.html