kafka集群环境搭建

    xiaoxiao2025-09-19  55

    kafka集群环境搭建

    作者:链上研发-老杨叔叔


    最好的集成环境搭建文章: 本文档完全临摹自此文章

    还不错的原理讲解

    抄一遍:本搭建环境基于zookeeper 3.4.6,和kafka 0.10.0.0

    1.说明

    kafka集群依赖zookeeper,因此需要先安装zookeeper; 不过kafka本身也集也了zookeeper,但最好不要使用自带的。

    2.zookeeper安装

    2.1 服务器

    A测试服务器上:10.8.1.160/home/fangyuan/kafka B测试服务器上:10.8.1.93/home/tomcat/kafka

    2.2 安装

    每台机器都有以下操作(或配置一台,复制到其它机器)

    2.2.1 安装jdk

    已存在,不需要安装

    2.2.2 下载zookeeper

    cd /home/fangyuan mkdir kafka #与kafka相关的根目录 cd /home/fangyuan/kafka mkdir zookeeper #zookeeper项目目录 cd /home/fangyuan/kafka/zookeeper mkdir zkdata #存放快照日志 mkdir zkdatalog#存放事物日志 下载软件 cd /home/fangyuan/kafka/zookeeper wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz 解压软件 tar -zxvf zookeeper-3.4.6.tar.gz

    2.2.3 配置zookeeper

    cd /home/fangyuan/kafka/zookeeper/zookeeper-3.4.6/conf zoo_sample.cfg 这个文件是官方给我们的zookeeper的样板文件,给他复制一份命名为zoo.cfg,zoo.cfg是官方指定的文件命名规则。 复制文件: cp zoo_sample.cfg zoo.cfg 打开文件: vi zoo.cfg 配置: tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/fangyuan/kafka/zookeeper/zkdata dataLogDir=/home/fangyuan/kafka/zookeeper/zkdatalog clientPort=12181 server.1=10.8.1.93:12888:13888 server.2=10.8.1.160:12888:13888 server.1 这个1是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,用来标识服务器,这个标识要写到快照目录下面myid文件里 192.168.7.107为集群里的IP地址,第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888 创建myid文件 在10.8.1.160上创建如下,让zookeeper知道自己在哪台机器上(类型域名,通过个面的serve.1找到对应的ip) echo "1" > /home/fangyuan/kafka/zookeeper/zkdata/myid 在10.8.1.93上创建93上的myid

    2.2.4 启动zookeeper

    进入到Zookeeper的bin目录下 cd /home/fangyuan/kafka/zookeeper/zookeeper-3.4.6/bin 启动服务(3台都需要操作) ./zkServer.sh start 检查服务器状态 ./zkServer.sh status 显示如下:(如果Mode显示,等一会儿,重新执行status命令,有可能zookeeper还没完全启动) JMX enabled by default Using config: /opt/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg Mode: follower #他是否为领导 执行jps,查看进程,如果显示zookeeper则说明启动成功

    3.kafka安装

    3.1 kafka下载

    3.1.1软件环境

    1、linux一台或多台,大于等于2 2、已经搭建好的zookeeper集群 3、软件版本kafka_2.11-0.10.0.0.tgz 2、创建目录并下载安装软件

    3.1.2创建目录

    cd /home/fangyuang/kafka mkdir kafka #创建项目目录 cd kafka mkdir kafkalogs #创建kafka消息目录,主要存放kafka消息

    3.1.下载解压

    wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/0.10.0.0/kafka_2.11-0.10.0.0.tgz 解压软件 tar -zxvf kafka_2.11-0.10.0.0.tgz

    3.2 修改配置文件

    #进入config目录 cd /home/fangyuang/kafka/kafka/kafka_2.11-0.10.0.0/config/ #打开配置文件 vi server.properties #修改配置文件 #broker.id=0 注释掉,每台服务器的broker.id都不能相同, #hostname 本机ip host.name=10.8.1.160 port=19092 #不指定默认是9092 #在log.retention.hours=168 下面新增下面三项 message.max.byte=5242880 default.replication.factor=2 replica.fetch.max.bytes=5242880 #设置zookeeper的连接端口 zookeeper.connect=10.8.1.160:12181,10.8.1.93:12181

    作者:链上研发-老杨叔叔 版权声明:本文为链家上海研发中心原创文章,转载请注明出处。

    3.3启动

    从后台启动Kafka集群(3台都需要启动) cd /home/fangyuang/kafka/kafka/kafka_2.11-0.10.0.0/bin ./kafka-server-start.sh -daemon ../config/server.properties 检查服务是否启动,如果显示kafka进程即启动成功 运行:> jps

    3.4检证

    创建Topic来验证是否创建成功 创建Topic ./kafka-topics.sh --create --zookeeper 10.8.1.160:12181 --replication-factor 2 --partitions 1 --topic my-topic 解释 --replication-factor 2 #复制两份 --partitions 1 #创建1个分区 --topic #主题为my-topic -- ip?? 在一台服务器上创建一个发布者 创建一个broker,发布者(ip??,端口??) ./kafka-console-producer.sh --broker-list 10.8.1.160:19092 --topic my-topic 此时:console处于阻塞状态,可以直接输入数据。 在一台服务器上创建一个订阅者 ./kafka-console-consumer.sh --zookeeper localhost:12181 --topic my-topic --from-beginning 此时:一旦有数据生成,此处的console中会显示数据

    4.监控

    KafkaOffsetMonitor http://www.cnblogs.com/yinchengzhe/p/5123515.html

    http://top.jobbole.com/31084/

    http://my.oschina.net/cjun/blog/514956

    转载请注明原文地址: https://ju.6miu.com/read-1302803.html
    最新回复(0)