栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

kafka集群搭建

kafka集群搭建

一. 准备相关安装包,以下是示例相关安装包版本,注意jdk和kafka对应版本

apache-zookeeper-3.5.9-bin.tar.gz
jdk-8u321-linux-x64.tar.gz
kafka_2.13-2.4.0.tgz

二. 搭建zookeeper 集群

    搭建java环境,这里就不说明了

    搭建zookeeper集群,这里单机集群(多台服务器分开安装)

    安装zookeeper
    解压到指定路径
    tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C /usr/local/java

    进入到解压路径
    cd /usr/local/java
    修改apache-zookeeper-3.5.9-bin 文件名为zookeeper(可以不修 改)
    mv apache-zookeeper-3.5.9-bin zookeeper

    修改zookeeper配置文件配置文件名称为zoo.cfg
    /usr/local/java/zookeeper/conf
    mv zoo_sample.cfg zoo.cfg

    修改zoo.cfg 配置文件
    vi zoo.cfg
    dataDir=/usr/local/java/zookeeper/data 修改路径

    增加下列配置
    #日志
    dataLogDir=/usr/local/java/zookeeper/logs

    #Zookeeper AdminServer,默认使用8080端口, 需要定义端口
    admin.serverPort=8081

    server.1=192.168.25.101:2881:3881
    server.2=192.168.25.101:2882:3882
    server.3=192.168.25.101:2883:3883

    创建zoo.cfg 配置的文件(dataDir=/usr/local/java/zookeeper/data)
    在/usr/local/java/zookeeper/创建文件
    mkdir data

    在/usr/local/java/zookeeper/data创建文件
    touch myid

    修改 myid,写入1, 对应server.1=192.168.25.101:2881:3881

    复制上面zookeeper并改名称
    cp -r zookeeper zookeeper1
    cp -r zookeeper zookeeper2

    修改zookeeper1 配置文件
    dataDir=/usr/local/java/zookeeper/data 修改为 dataDir=/usr/local/java/zookeeper1/data

    dataLogDir=/usr/local/java/zookeeper/logs修改为dataLogDir=/usr/local/java/zookeeper1/logs

    clientPort=2181修改为clientPort=2182

    #Zookeeper AdminServer,默认使用8080端口
    admin.serverPort=8081修改为admin.serverPort=8082

    修改myid 文件, 1改为2, 对应server.2=192.168.25.101:2882:3882

    修改zookeeper2 配置文件, 修改参考zookeeper1 配置文件修改

    启动zookeeper
    进入/usr/local/java
    sh zookeeper/bin/zkServer.sh start
    sh zookeeper1/bin/zkServer.sh start
    sh zookeeper2/bin/zkServer.sh start

5.关闭zookeeper
sh zookeeper/bin/zkServer.sh stop

6.其他相关命令
./zkServer.sh status 查看zookeeper状态

三. 搭建kafka 集群
1.安装kafka
解压到指定路径
tar -zxvf kafka_2.13-2.4.0.tgz -C /usr/local/java

2.修改 kafka_2.13-2.4.0 为kafka
mv kafka_2.13-2.4.0 kafka

3.修改kafka1 配置文件server.properties(/usr/local/java/kafka/config/server.properties)

broker.id=0改为broker.id=1

#这个配置默认是注释的,默认9092,如果在多台机器上搭建集群,这个可以不用动,单机搭得改,不然>三个服务全都默认9092就冲突了
listeners=PLAINTEXT://192.168.25.101:9090

新增
advertised.listeners=PLAINTEXT://192.168.25.101:9090

log.dirs=/tmp/kafka-logs 改为log.dirs=/usr/local/java/kafka/logs

zookeeper.connect=localhost:2181改为
zookeeper.connect=192.168.25.101:2181,192.168.25.101:2182,192.168.25.101:2183

检查/usr/local/java/kafka 路径下是否有logs文件,没有则需要新建文件

4.复制上面配置好的kafka
cp -f kafka kafka1
cp -f kafka kafka1

5.修改kafka 配置文件server.properties(/usr/local/java/kafka1/config/server.properties)

broker.id=1改为broker.id=2

#这个配置默认是注释的,默认9092,如果在多台机器上搭建集群,这个可以不用动,单机搭得改,不然>三个服务全都默认9092就冲突了
listeners=PLAINTEXT://192.168.25.101:9090 修改为listeners=PLAINTEXT://192.168.25.101:9091

advertised.listeners=PLAINTEXT://192.168.25.101:9090 修改为advertised.listeners=PLAINTEXT://192.168.25.101:9091

log.dirs=/usr/local/java/kafka/logs修改为log.dirs=/usr/local/java/kafka1/logs

6.修改kafka2 配置文件server.properties 参考kafka1 配置文件server.properties

7.启动kafka , 进入/usr/local/java/kafka、/usr/local/java/kafka1、/usr/local/java/kafka2
#这里为什么用nohup , 因为不然启动起来这个控制台就一直被占着了
nohup sh bin/kafka-server-start.sh config/server.properties &
nohup sh bin/kafka-server-start.sh config/server.properties &
nohup sh bin/kafka-server-start.sh config/server.properties &

#这样启动或占用控制台
sh bin/kafka-server-start.sh config/server.properties

8.创建Topic(1个分区1个备份)进入/usr/local/java/kafka/bin
sh kafka-topics.sh --create --bootstrap-server 192.168.25.101:9090 --replication-factor 1 --partitions 1 --topic test

sh kafka-topics.sh --list --bootstrap-server 192.168.25.101:9090

创建Topic(1个分区3个备份)
sh kafka-topics.sh --create --bootstrap-server 192.168.25.101:9090 --replication-factor 3 --partitions 1 --topic my-replicated-topic

sh kafka-topics.sh --list --bootstrap-server 192.168.25.101:9090

sh kafka-topics.sh --describe --bootstrap-server 192.168.25.101:9090 --topic my-replicated-topic # 查看当前的leader等信息

9.发送消息
sh kafka-console-producer.sh --bootstrap-server 192.168.25.101:9090 --topic test
这里一行一行输入需要发送的消息

10.接收消息
sh kafka-console-consumer.sh --bootstrap-server 192.168.25.101:9090 --topic test --from-beginning

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/742253.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号